-Moved some stuff out of misc and skeleton:
* Moved Innovative Concepts machines to their own project.
* Moved various things out of skeleton to existing company projects.
* added emulation of required/used AXC51 / AX208 extended operations
* added preliminary emulation of required/used AXC51 / AX208 features
* added support for many Monon specific features, such as the video controller
* most games are playable, those not requiring a card/badge scanner to function at all are promoted
* no music, as it's contained in a game specific MCU under a glob on each cart
Added SOURCEFILTER option to specify a driver filter file in your make
options, e.g. like make SUBTARGET=custom SOURCEFILTER=mydrivers.flt (or
put it in your useroptions.mak if you'll be using it a lot). It
functions more-or-less like SOURCES on steroids.
Changed the way system/device source file paths are displayed to suit
the new source layout better. INI file loading hasn't changed, that
still just uses the base file name.
Added overlooked trigger to src/bus.lua to include NES controller bus if
the NES zapper sensor is needed.
* Changed name of cards for slot selection to "mdc48" and "mdc824" as
they're unrelated to the later 8*24 GC card.
* Also cleaned up code substantially and got rid of artificial
differences between Display Card 4*8 and 8*24.
* Moved lists of NuBus and SE/30 PDS cards to a common place.
* Got some class declarations out of headers to reduce recompiles.
Factored CRTC and shift register out of Spectrum/8 and added to Spectrum
PDQ. Fixes video mode selection and resolution for Spectrum PDQ.
Implemented vertical interrupt position, stride, line offset and clock
source registers for Spectrum PDQ. Added a hack to work around line end
control not being understood. Also added save state support.
Slightly modernised the Macintosh Display Card (JMFB) device code.
Initialised some driver state class members that were causing System 7
to fail to see files. [Ivan Vangelista]
New working clones
------------------
RC2014 Mini with CP/M Upgrade [Miodrag Milanovic]
-rc2014: added RTC, IDE, FDC and Sound module, fix memory and i/o mapping, proper flash mapping
* pc80s31k.cpp: minor XTAL cleanup
* pc8801.cpp: reduce signature name fns
* pc8801.cpp: separate dictionary and CD-ROM later model use into own state machines
* pc8801.cpp: clean input ports a bit
* pc8801.cpp: bulk printf -> logerror
* pc8801.cpp: misc cleanups
* pc8801.cpp: more misc cleanups
* pc8801.cpp: initial batch of exporting PC8801-31 to a separate device
* pc8801_31.cpp: document register map, add machine ID
* pc8801.cpp: fix configuration mistake for CPU speed
* pc8801.cpp: add base diplocations, massage documentation of ports $30, $31, $40, misc cleanups
* pc8801.cpp: fix mouse cursor jump bugs, remove deprecated PORT_RESET usage;
pc8801.cpp: rework and extend expansion slot descriptions;
* pc8801.cpp: add note about extended FH keyboards
* pc8801.cpp: add dip positions for BASIC dips
* pc8801_31.cpp: add stub SCSI bus controller
* pc8801.cpp: blind fix kanji LV2 hookup
* pc8801.cpp: use required_region_ptr for ROM regions, split kanji_lv2 to own one
* pc8801.cpp: move a few notes to XML
* pc8801_flop.xml: correct Digan no Maseki title
* pc8801.cpp: remove unneeded port $33 hookup (should be unmapped on all PC8801 variants)
* pc8801.cpp: initial implementation of interrupts using i8214 as base. Fixes at least yojukiko and bishojbg BGMs
* pc8801.cpp: add clock calculation for internal DAC1BIT, add reported V1 revision numbers for each romset.
* pc8801.cpp: move OPN/OPNA sound chip mounts to internal model types, add stereo mixing
* pc8801.cpp: add sound irq pending mechanism, particularly needed by Telenet games
* pc8801_flop.xml: update QA notes
* pc8801_flop.xml: more misc QA notes
* pc8801.cpp: improve irq semantics, connect rxrdy_irq_w signal
* pc8801.cpp: fix some irq regressions
* pc8801.cpp: make OPNA a bit less louder, QA checkpoint
* pc8801.cpp: fix broken link, unmapped I/O documentation
* pc8801.cpp: add JMB-X1 map, other minor notes
* pc8801_flop.xml: fix metalora title and manufacturer
* pc8801.cpp: minor cleanups
* pc8801.cpp: start inheriting from base pc8001_base_state, add initial hooks for actual 3301 + i8257 devices
* pc8801.cpp: fix port40_r reading mistake
* pc8801.cpp: fix 24kHz pixel clock
* pc8801.cpp: 3301 irq is tied to VRTC not INT
* upd3301.cpp: fix VRTC vblank/display bit timer
* pc8801.cpp: fix DMA readback
* upd3301.cpp: convert to logmasked
* upd3301.cpp: support for no attributes/no special control mode
* pc8801.cpp: simplify bitmap 3bpp drawing and add preliminary palette rasters
* pc8801.cpp: misc documentation updates
* upd3301.cpp: clear bitmap layer on FIFO reset
* i8214.cpp: PoC in separating INT ASSERT and CLEAR phases
pc8801.cpp: tie acknowledge to INT rather than inside callback. Avoids spurious irq regressions;
* upd3301.cpp: handle bitmaps as pure transparent;
pc8801.cpp: add BG Pal handling, honor transparency in all bitmap layers;
* pc8801.cpp: minor cleanups
* pc8801.cpp: better handling of bitmap fills
* pc8001.cpp: carry over attribute fetches between lines when 3301 is in color mode
* pc8801_flop.xml: update QA, move notes from main driver
* pc8801.cpp: implement colorized b&w graphic modes
* pc8801.cpp: cleanup obsolete functions
* pc8801.cpp: extend a bunch of notes
* pc8801.cpp: add boilerplate code for base irq mechanism
* pc8801.cpp: add expansion card support, with JMB-X1 (partly addresses #8709), PC-8801-23 and PCG-8100 as PoC examples.
* pc8801_exp.h: fix CI clang build
* pc8801_31.cpp: SW list hookup
New NOT_WORKING software list additions
---------------------------------------
pc8801_cdrom.xml: CD Takarabako [r09]
* pc8801.cpp: promote some romsets to parent
* pc8801.h: reinstate dummy initialization in state machines
* pc8801.cpp: save_item to all variables in state machines
------------------
BBC Micro Model B (Norway) [Nigel Barnes]
New clones marked as NOT_WORKING
--------------------------------
Cisco SIST1 Terminal [Nigel Barnes]
* Refactored Family Trainer and Tap-tap Mat into common base class.
Software list items promoted to working (nes.xml)
---------------------------------------
Super Mogura Tataki!! Pokkun Moguraa (Japan)
* Expanded VRC4 CHR bank regs to 9-bit. This functionality is verified on Konami VRC4 hardware as well but is only used by clones (World Hero here).
* Removed board for World Hero. Its VRC4 clone chip is under a glop top but is thought to be identical to Konami's.
* Reimplemented TF1201 (Lethal Weapon) as a VRC4 subclass. Its clone chip is only known to differ by the IRQ reload bit, which it ignores.
* Reimplemented Shui Guan Pipe as a VRC4 subclass. Its clone chip has different PRG banking but is otherwise standard.
Software list items promoted to working (nes.xml)
---------------------------------------
Gimmick! (Asia, pirate)
Lethal Weapon (China)
World Hero (Asia)
World Hero (Asia, alt)
Added comments with V.24 interchange circuit numbers and names to
rs232.h to make the meanings of the abbreviated signal names clearer.
Moved a few slot card classes out of headers and into anonymous
namespaces to reduce compile depedencies and exported symbols.
Transliterated a Korean NES game title.
- Modified MMC1 base class (SxROM) to have outer bank base/mask to make it extensible by multicarts.
- Implemented two boards, reset-based SxROM and a 2-in-1 by TXC, as proof of concept.
- Marked Operation Wolf games as partially supported due to zapper inputs not working.
- Marked Space Shadow as not supported since it requires the extra buttons on the Bandai Hyper Shot gun.
New working software list additions (nes.xml)
-----------------------------------
1997 Super HiK 4 in 1 (JY-021) [MLX]
1995 Super HiK 4 in 1 (JY-022) [NewRisingSun, taizou]
1996 Super HiK 4 in 1 (JY-051) [NewRisingSun, taizou]
2 in 1 Uzi Lightgun [CaH4e3]
- Reduced redundant code by making "kasing" device parent class for sglionk/sgboog. The latter are identical save for the extended register/address scrambling.
- Eliminated hosenkan device altogether (mapper 182). It is identical to sglionk (mapper 114).
First major step in splitting up machine classes in NEC PC98 family tree:
* Splits up derivative HWs into own state machine and files (pc98ha.cpp, pc9821.cpp and pc9801_epson.cpp);
* Adds a preliminary uPD4991a parallel RTC, used by pc98ha;
* Fix -26, -86, -118 C-bus sound board dips or jumper settings;
* Fix default sound card for pc9821 (-86) and pc9821ce2 / pc9821cx3 (-118);
* Adds preliminary MAD Factory Otomichan-kai C-bus sound board;
* Adds boilerplate code for C-bus installing board I/Os, avoiding the possible inconvenience of board(s) getting silently unmapped by other installed boards;
* Major refactoring of HW dip switches readouts, using required_ioports instead of scattering things around in PPI hooks;
* Extensive QA rundown, including research on missing features and undumped machines.
pc9801.cpp: Don't passthrough mouse irq frequency when cycle setting is setup too, fixes jastrike mouse input on options menu.
pc9801.cpp: Fix kanji RAM window LR readback, makes telenetm to properly display 8x16 chars on RS and derivative machines.
pc8801.cpp: fixed OPNA RAM readback, allowing SWs to playback ADPCMs properly.
New machines marked as NOT_WORKING
----------------------------------
PC-98LT [anonymous]
PC-98HA "Handy98" [anonymous]
PC-9821Nr15 (98NOTE Lavie) [flyingharuka]
PC-9821Nr166 (98NOTE Lavie) [flyingharuka]
PC-9821Nw150 (98NOTE Lavie) [flyingharuka]
PC-9821Ra266 (98MATE R) [flyingharuka]
PC-9821Cx3 (98MULTi CanBe) [flyingharuka]
PC-9801VX [qazmko1029]
PC-9801US [CoolMod]
- Implement video slot and mono graphics video card
- Hook up CIO, SIO, RTC, PIT, SN76489
- Add daisy chain for Z80 devices and hook it up to the PIC
- Add system control ports
-machine/smc91c9x.cpp adjustments:
* Reset should disable promiscuous mode.
* RCR - handle promiscuous changes, adjust soft reset handling.
* EPH_STATUS should be LINK_OK by default (previous code wouldn't set LINK_OK unless RX_EN is set but LANceGS won't set RX_EN unless LINK_OK is set).
* B0_BANK bits 4-8 are unspecified in the documentation but LANceGS expects a 3 (used in Card detection logic).
* MIR values depend on device type and resets when the mmu resets.
* Reading/writing the data register needs to be aware of 8-bit I/O.
* Calculate FCS.
* Removed WMS OUI filtering hack.
New working software list additions
-----------------------------------
2A03Puritans [rainwarrior]
E.T. [KHAN]
Glider [anonymous]
* mapper 29: support should be complete but there are few if any other homebrew roms to test against
* mapper 30: only supports the most basic board that doesn't use flashable memory - tested on a dozen or so roms, all working
* add a game each for mappers 29 (Glider), 30 (E.T.), and 31 (2A03Puritans) so there is something in the software lists to actually test against. Glider is discontinued by manufacture, the other two are freely available from their authors.
* various naming clean ups, like BTL- prefixes for things that are not bootlegs
-----------------------------------
lk3000: Calculator, Electronic Notebook [hap, Sean Riddle]
New NOT_WORKING software list additions
---------------------------------------
lk3000: English-German [hap, Sean Riddle]
- Use memory taps instead of directly installing into the memory map
- Use address_maps to specify address ranges
- Add missing save states
- Support the BennVenn SD Loader (preliminary)
- Move lightpen skeleton to a device
Software list items promoted to working
---------------------------------------
vsmile_cart: V.Smile Smart Keyboard (USA), V.Smile Clavier Tip Tap (France), V.Smile Schreibspaß (Germany) [Ryan Holtz, PulkoMandy]
- Implemented memory mapper for CP/M.
- Serial printer port.
- External RAM is now scrambled.
- SuperCart bankswitching board implemented for Aquaricart.
- Cartridge images of size 4K, 8K, 16K now supported, was previously 16K only.
-----------------------------------
vsmile_cart: V.Smile Tanz Mit Center (Germany), V.Smile Défi Gym (France), Gimnasio Interactivo V.Smile (Spain)
-vsmile: Added support for the Jammin' Gym Class dance mat. [bmx, Ryan Holtz]
* fmtowns: add a SCSI card slot for the original models
- Add a slot device for the Model 1/2 dedicated SCSI slot
- Add a device for the FMT-121 SCSI Card
- Modify the I/O maps and machine configurations so the slot and the
integrated controller don't overlap
* Ported Cirrus Logic CS8900A Crystal LAN MAC emulation from VICE and hooked it up to Apple II card device.
* Adds Ethernet networking support for Apple IIgs.