| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The global_alloc/global_free functions have outlived their usefulness.
They don't allow consistently overriding the default memory allocation
behaviour because they aren't used consistently, and we don't have
standard library allocator wrappers for them that we'd need to use them
consistently with all the standard library containers we're using. If
you need to change the default allocator behaviour, you can override the
new/delete operators, and there are ways to get more fine-grained
control that way. We're already doing that to pre-fill memory in debug
builds.
Code was already starting to depend on global_alloc/global_free wrapping
new/delete. For example some parts of the code (including the UI and
Windows debugger) was putting the result of global_alloc in a
std::unique_ptr wrappers without custom deleters, and the SPU sound
device was assuming it could use global_free to release memory allocated
with operator new. There was also code misunderstanding the behaviour
of global_alloc, for example the GROM port cartridge code was checking
for nullptr when a failure will actually throw std::bad_alloc.
As well as substituting new/delete, I've made several things use smart
pointers to reduce the chance of leaks, and fixed a couple of leaks,
too.
|
| |
|
|
|
|
| |
-sound/tiasound.cpp: Use some vaguely C++-like code internally.
|
| |
|
|
|
|
|
| |
* Fix bug when changing IMD image
These arrays weren't zeroed when changing a IMD disk for saving.
|
|
|
|
|
|
|
| |
This adds support for the mini digital cassette recorder that can be
found inside a P2000t. This implementation is based on documentation
that can be found in https://github.com/p2000t/documentation.
In memory of NPM Jansen, who taught me all the magic of bits and bytes.
|
|
|
|
|
|
| |
- Add wavfile support for reading/writing tapes, for more accuracy. The currently supported K7 file type misses timing data.
- VG5000µ adds a wait cycle after the second T state of the M1 cycle of the Z80. Because it was not emulated, the timings were off, especially in the sensible cassette read/write routines.
- With wavfile support added and timings fixed, the emulation can now read/write cassette at 1200 and 2400 bauds.
- Still keeping the MACHINE_NOT_WORKING flag, as real hardware tests need to be complete.
|
|
|
|
| |
errors, allowing libemu to be removed from imgtool and floptool.
|
|
|
|
| |
spelling issues, etc. while I'm at it)
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This reverts commit 8ada258ec7f74ed37945d91467e3827e2f4fbc63.
We are not accepting further legacy floppy formats.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add legacy floppy image support which is currently required for the
mc6843 FDC emulator and used by the EXORset which run XDOS a variant
of MDOS.
Add support for 5.25 inch XDOS floppy drive formats as used by the
EXORset.
Make some of the identity tests more permissive to work with observer
disks. The date day and month are reversed on some disks, and the boot
rib cluster is lower.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Beta Plus clone
|
| |
|
|\
| |
| | |
os9 dsk: add 8 inch, 16 sector, single density formats
|
| |
| |
| |
| | |
These formats were by OS9 L1 on the Motorola EXORciser.
|
|\ \
| | |
| | | |
MDOS disk format support
|
| |/
| |
| |
| | |
Motorola DOS, used on the EXORciser etc.
|
|/
|
|
|
|
| |
A single missing sector was causing it to give up on an images,
as incompatible. Being a little more permissive here helps working
with some old recovered disk images with some lost sectors.
|
| |
|
| |
|
| |
|
|
|
|
| |
Allow to save IMD floppy image disk. Tested on Zorba and Kaypro II
|
| |
|
| |
|
| |
|
|
|
|
| |
this fixes https://mametesters.org/view.php?id=7526
|
|
|
|
| |
handlers as BSD-3-Clause (nw)
|
|
|
|
|
|
|
|
|
|
|
| |
The only link dependency left is emu_fatalerror. The format handlers
really shouldn't be throwing fatal errors at all - they should just
fail to load an image they can't handle. Maybe the interface should
be enhanced to allow better propagation of errors up from the format
handlers so they can be displayed in a UI rather than just logged.
The only other two dependencies are on logmacro.h (pure macros) and
the PAIR type from emucore.h (possibly worth moving to util).
|
|
|
|
|
| |
../../../../../src/lib/formats/apridisk.cpp: In member function 'virtual bool apridisk_format::load(io_generic*, uint32_t, floppy_image*)':
../../../../../src/lib/formats/apridisk.cpp:99:7: error: 'fatalerror' was not declared in this scope; did you mean 'strerror'?
|
|
|
|
|
|
| |
and image handling (nw)
Note that this does not apply to machine drivers or device implementations for a single machine family (e.g. Amiga chips or VTech expansion bus)
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
It is necessary to return a higher score on success, higher than
returned by the default method, in order for a general 'identify' to
succeed over competitive matches.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a get_track_format() method that can be overridden to supply format
variations for any track and head. The code is generalised to account for such
variations. The default method returns the passed format, so this change is
neutral for existing formats.
Simplify the FLEX DSK format code. There are now simply format variation
descriptions for the second track that have the sector ID continuing in
sequence from the first track, rather than specialized code.
Extend the FLEX format to support variations in the sectors ID of the first
two sectors. The FLEX 6800 boot sectors have IDs based at zero rather than
one. Extend the FLEX format to support variations for which the first track,
on both sides, is single density on an otherwise double density disk which was
historically a common format.
Extend the OS9 disk format to support variations for which the first track, on
only the first side, is single density on an otherwise double density
disk. OS9 for the SWTPC and Gimix typically used such formats.
Extend the OS9 disk format to support variations with a base sector ID of zero
in contrast to the existing COCO OS9 format which uses a based sector ID of
one. The OS9 format identification code is extended to rely on the optional
information stored in the OS9 LSN0 header to identify COCO format disks, and
all COCO format disks appear to have this optional information in a regular
enough format.
|
|\
| |
| | |
aim_dsk: use splice position recorded in the image, if available (nw)
|
| | |
|
|/ |
|
|\
| |
| | |
use C++ library includes (nw)
|
| | |
|
|\ \
| | |
| | | |
apply2 floppy format: bake in the track count
|
| |/
| |
| |
| |
| |
| |
| |
| | |
The APPLE2_TRACK_COUNT macro was not being expanded here, at least on gcc8.
This resulted in the string "APPLE2_TRACK_COUNT" being within the specification
and that in turn broke option_resolution::lookup_in_specification leading to
an assertion fail with the debug checks enabled. So bake in the numeric
constant to at least get things working again.
|