summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/imagedev
Commit message (Collapse)AuthorAgeFilesLines
* floppy: Harmless intermediate commit that could help Micko (nw) Olivier Galibert2012-08-242-11/+197
|
* Ah, this was needed to be DD drive after all, but change it to support dual ↵ Miodrag Milanovic2012-08-241-1/+1
| | | | side (no whatsnew)
* added 525hd support into floppy.c and converted ht68k to use new wd17xx core ↵ Miodrag Milanovic2012-08-242-0/+41
| | | | (no whatsnew)
* Added support for fixed slots (used for MAME) and ability to create internal ↵ Miodrag Milanovic2012-05-231-1/+1
| | | | only slot options (for MESS) (no whatsnew)
* objdump doesn't work with VS binaries, so do not run it by Firewave (no ↵ Miodrag Milanovic2012-05-151-2/+4
| | | | | | | | | | | | whatsnew) fixed uninitialized field in ioport_field.m_chars (fixes stack corruption with three PORT_CHAR definitions) / added some sanity checks for PORT_CHAR adding and lookup by Firewave Intel 28F320J3D flash support by Lukasz Markowski snapquik.c fixed uninitialized variable that causes random assertion failure by Sandro Ronco
* Fix for i286 preventing error 104 on ibm5170 [Carl] Miodrag Milanovic2012-05-122-0/+9
|
* Clean-ups and version bumpmame0145u7 Angelo Salese2012-04-221-1/+1
|
* Changed device->subregion to device->memregion. Moved Aaron Giles2012-04-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | memory_region management into the memory manager instead of directly in the machine. Hid the global region method; now all regions must be looked up relative to a device. If you're a member function, you can just use memregion("tag") directly. If you're a global function or a device referencing global regions, use machine().root_device().memregion("tag") to look up regions relative to the root. S&R to convert all references: machine([()]*)\.region machine\1\.root_device\(\).subregion Then remove redundant machine().root_device() within src/mame: ([ \t])machine\(\)\.root_device\(\)\. \1 And use state->memregion() if we have a state variable present: (state *= *[^;]+driver_data[^}]+)([^ \t]*)machine[()]*\.root_device\(\)\. \1state-> Finally some cleanup: screen.state-> state-> device->state-> state-> space->state-> state-> And a few hand-tweaks.
* Sync with MESS (no whatsnew) Miodrag Milanovic2012-04-162-4/+40
|
* Clean-ups and version bump (yes, I know, it's too late)mame0145u4 Angelo Salese2012-03-112-6/+6
|
* Sync with MESS (no whatsnew) Miodrag Milanovic2012-03-061-3/+0
|
* Partial conversion of legacy floppy to modern device (no whatsnew) Miodrag Milanovic2012-03-052-197/+214
|
* Added image softlist interface for new floppies (no whatsnew) Miodrag Milanovic2012-02-291-1/+6
|
* - removed need for *_dev.lst files [Miodrag Milanovic] Miodrag Milanovic2012-02-231-5/+5
| | | | | | - enforced short names for slot card devices - updated validation, romverify and listxml output accordingly - slotoptions now also contain shortnames so it's possible to link slot option and device
* Removed printfs (nw) Miodrag Milanovic2012-02-201-3/+0
|
* mc146818 - Set period even if timer is disabled, required for windows nt [Carl] Miodrag Milanovic2012-02-201-2/+2
| | | | | | | diserial - added optinal rx and tx timers and callbacks [Carl] ins8250 - serial rx line high on start and fix for msr register [Carl] bitbanger - added 19200bps (no whatsnew)
* Removed rom_source abstraction, which was just mapping to devices Aaron Giles2012-02-201-7/+5
| | | | | anyways. Updated everyone involved to just iterate over devices directly.
* Rewrite INS8250 to use diserial, updated Microtouch to modern and made it ↵ Miodrag Milanovic2012-02-192-12/+20
| | | | serial device, updated connected drivers [Carl]
* Update CHD error list in chd.c Aaron Giles2012-02-192-92/+3
| | | | | Remove 100% redundant and silly list of error strings in harddriv.c and chd_cd.c
* Fixed CHD error messages for image devices (no whatsnew) Miodrag Milanovic2012-02-182-5/+27
|
* Major CHD/chdman update. The CHD version number has been increased Aaron Giles2012-02-164-23/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | from 4 to 5. This means any diff CHDs will no longer work. If you absolutely need to keep the data for any existing ones you have, find both the diff CHD and the original CHD for the game in question and upgrade using these commands: rename diff\game.dif diff\game-old.dif chdman copy -i diff\game-old.dif -ip roms\game.chd -o diff\game.dif -op roms\game.chd -c none Specifics regarding this change: Defined a new CHD version 5. New features/behaviors of this version: - support for up to 4 codecs; each block can use 1 of the 4 - new LZMA codec, which tends to do better than zlib overall - new FLAC codec, primarily used for CDs (but can be applied anywhere) - upgraded AVHuff codec now uses FLAC for encoding audio - new Huffman codec, used to catch more nearly-uncompressable blocks - compressed CHDs now use a compressed map for significant savings - CHDs now are aware of a "unit" size; each hunk holds 1 or more units (in general units map to sectors for hard disks/CDs) - diff'ing against a parent now diffs at the unit level, greatly improving compression Rewrote and modernized chd.c. CHD versions prior to 3 are unsupported, and version 3/4 CHDs are only supported for reading. Creating a new CHD now leaves the file open. Added methods to read and write at the unit and byte level, removing the need to handle this manually. Added metadata access methods that pass astrings and dynamic_buffers to simplify the interfaces. A companion class chd_compressor now implements full multithreaded compression, analyzing and compressing multiple hunks independently in parallel. Split the codec implementations out into a separate file chdcodec.* Updated harddisk.c and cdrom.c to rely on the caching/byte-level read/ write capabilities of the chd_file class. cdrom.c (and chdman) now also pad CDs to 4-frame boundaries instead of hunk boundaries, ensuring that the same SHA1 hashes are produced regardless of the hunk size. Rewrote chdman.exe entirely, switching from positional parameters to proper options. Use "chdman help" to get a list of commands, and "chdman help <command>" to get help for any particular command. Many redundant commands were removed now that additional flexibility is available. Some basic mappings: Old: chdman -createblankhd <out.chd> <cyls> <heads> <secs> New: chdman createhd -o <out.chd> -chs <cyls>,<heads>,<secs> Old: chdman -createuncomphd <in.raw> <out.chd> .... New: chdman createhd -i <in.raw> -o <out.chd> -c none .... Old: chdman -verifyfix <in.chd> New: chdman verify -i <in.chd> -f Old: chdman -merge <parent.chd> <diff.chd> <out.chd> New: chdman copy -i <diff.chd> -ip <parent.chd> -o <out.chd> Old: chdman -diff <parent.chd> <compare.chd> <diff.chd> New: chdman copy -i <compare.chd> -o <diff.chd> -op <parent.chd> Old: chdman -update <in.chd> <out.chd> New: chdman copy -i <in.chd> -o <out.chd> Added new core file coretmpl.h to hold core template classes. For now just one class, dynamic_array<> is defined, which acts like an array of a given object but which can be appended to and/or resized. Also defines dynamic_buffer as dynamic_array<UINT8> for holding an arbitrary buffer of bytes. Expect to see these used a lot. Added new core helper hashing.c/.h which defines classes for each of the common hashing methods and creator classes to wrap the computation of these hashes. A future work item is to reimplement the core emulator hashing code using these. Split bit buffer helpers out into C++ classes and into their own public header in bitstream.h. Updated huffman.c/.h to C++, and changed the interface to make it more flexible to use in nonstandard ways. Also added huffman compression of the static tree for slightly better compression rates. Created flac.c/.h as simplified C++ wrappers around the FLAC interface. A future work item is to convert the samples sound device to a modern device and leverage this for reading FLAC files. Renamed avcomp.* to avhuff.*, updated to C++, and added support for FLAC as the audio encoding mechanism. The old huffman audio is still supported for decode only. Added a variant of core_fload that loads to a dynamic_buffer. Tweaked winwork.c a bit to not limit the maximum number of processors unless the work queue was created with the WORK_QUEUE_FLAG_HIGH_FREQ option. Further adjustments here are likely going to be necessary. Fixed bug in aviio.c which caused errors when reading some AVI files.
* Making sure tape stops at end when playing (Apple1 for example), patch by ↵ Miodrag Milanovic2012-02-151-0/+13
| | | | Robbbert (no whatsnew)
* import from MESS (no whatsnew) Miodrag Milanovic2012-02-141-1/+1
|
* Sync with MESS, floppy work by OG (no whatsnew) Miodrag Milanovic2012-02-131-0/+10
|
* Clean-ups and version bumpmame0144u7 Angelo Salese2012-01-291-5/+5
|
* Sync with MESS, including OG's fix for exiting with debugger active (no ↵ Miodrag Milanovic2012-01-261-4/+4
| | | | whatsnew)
* Move devices into a proper hierarchy and handle naming Aaron Giles2012-01-243-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and paths consistently for devices, I/O ports, memory regions, memory banks, and memory shares. [Aaron Giles] NOTE: there are likely regressions lurking here, mostly due to devices not being properly found. I have temporarily added more logging to -verbose to help understand what's going on. Please let me know ASAP if anything that is being actively worked on got broken. As before, the driver device is the root device and all other devices are owned by it. Previously all devices were kept in a single master list, and the hierarchy was purely logical. With this change, each device owns its own list of subdevices, and the hierarchy is explicitly manifest. This means when a device is removed, all of its subdevices are automatically removed as well. A side effect of this is that walking the device list is no longer simple. To address this, a new set of iterator classes is provided, which walks the device tree in a depth first manner. There is a general device_iterator class for walking all devices, plus templates for a device_type_iterator and a device_interface_iterator which are used to build iterators for identifying only devices of a given type or with a given interface. Typedefs for commonly-used cases (e.g., screen_device_iterator, memory_interface_iterator) are provided. Iterators can also provide counts, and can perform indexed lookups. All device name lookups are now done relative to another device. The maching_config and running_machine classes now have a root_device() method to get the root of the hierarchy. The existing machine->device("name") is now equivalent to machine->root_device().subdevice("name"). A proper and normalized device path structure is now supported. Device names that start with a colon are treated as absolute paths from the root device. Device names can also use a caret (^) to refer to the owning device. Querying the device's tag() returns the device's full path from the root. A new method basetag() returns just the final tag. The new pathing system is built on top of the device_t::subtag() method, so anyone using that will automatically support the new pathing rules. Each device has its own internal map to cache successful lookups so that subsequent lookups should be very fast. Updated every place I could find that referenced devices, memory regions, I/O ports, memory banks and memory shares to leverage subtag/subdevice (or siblingtag/siblingdevice which are built on top). Removed the device_list class, as it doesn't apply any more. Moved some of its methods into running_machine instead. Simplified the device callback system since the new pathing can describe all of the special-case devices that were previously handled manually. Changed the core output function callbacks to be delegates. Completely rewrote the validity checking mechanism. The validity checker is now a proper C++ class, and temporarily takes over the error and warning outputs. All errors and warnings are collected during a session, and then output in a consistent manner, with an explicit driver and source file listed for each one, as well as additional device and/or I/O port contexts where appropriate. Validity checkers should no longer explicitly output this information, just the error, assuming that the context is provided. Rewrote the software_list_device as a modern device, getting rid of the software_list_config abstraction and simplifying things. Changed the way FLAC compiles so that it works like other external libraries, and also compiles successfully for MSVC builds.
* floppy: Do specific UI handling [O. Galibert] Olivier Galibert2012-01-232-2/+325
|
* Fix for cassette (no whatsnew) Miodrag Milanovic2012-01-171-1/+2
|
* Fixed SCSI hard disk allocation (MT #04595). [Curt Coder] Curt Coder2012-01-161-1/+3
|
* Added floppy type constant. (nw) Curt Coder2012-01-161-0/+1
|
* Clean-ups and version bumpmame0144u6 Angelo Salese2012-01-151-5/+5
|
* Fix for cassette extension extraction (no whatsnew) Miodrag Milanovic2012-01-111-1/+1
|
* Cartslot is now C++ device (no whatsnew) Miodrag Milanovic2012-01-112-165/+142
|
* Floppy changes by OG, imported from MESS (no whatsnew) Miodrag Milanovic2011-12-302-12/+47
|
* Sync with MESS all credited there (no whatsnew) Miodrag Milanovic2011-12-122-2/+6
|
* Fix softload of cassettes (no whatsnew) Miodrag Milanovic2011-12-051-1/+11
|
* Clean-ups and version bumpmame0144u1 Angelo Salese2011-11-274-12/+12
|
* Rewritten snapquik.c to c++ (no whatsnew) Miodrag Milanovic2011-11-262-194/+99
|
* Removed multcart from imagedev, slots and softlists replaces this ↵ Miodrag Milanovic2011-11-262-1082/+0
| | | | functionality (no whatsnew)
* Removed stuff that doesn't belong here (no whatsnew) Miodrag Milanovic2011-11-252-210/+2
|
* Sync with MESS, also placed back sdlmain change since it proved working on ↵ Miodrag Milanovic2011-11-221-1/+1
| | | | BSD (no whatsnew)
* Ups , fixed initialization (no whatsnew) Miodrag Milanovic2011-11-211-1/+3
|
* Added support for hard disk softlists [Miodrag Milanovic] Miodrag Milanovic2011-11-212-9/+20
|
* Commented some sanity checks and dependency of MESS code (no whatsnew) Miodrag Milanovic2011-11-161-6/+4
|
* Merge from MESS Nathan Woods2011-11-163-326/+363
|
* Clean-ups and version bumpmame0144 Angelo Salese2011-11-131-3/+3
|
* Fix for listxml breakage (no whatsnew) Miodrag Milanovic2011-11-131-0/+1
|
* Sync with MESS, OG work, credited there (no whatsnew) Miodrag Milanovic2011-11-093-47/+335
|
* amigafdc: Upgrade [O. Galibert] Olivier Galibert2011-11-011-10/+1
|