diff options
Diffstat (limited to 'src/mess/drivers/scorpion.c')
-rw-r--r-- | src/mess/drivers/scorpion.c | 149 |
1 files changed, 2 insertions, 147 deletions
diff --git a/src/mess/drivers/scorpion.c b/src/mess/drivers/scorpion.c index 9b853673188..de840193ade 100644 --- a/src/mess/drivers/scorpion.c +++ b/src/mess/drivers/scorpion.c @@ -1,150 +1,5 @@ -// license:??? -// copyright-holders:??? -/*************************************************************************** - - NOTE: ****** Specbusy: press N, R, or E to boot ************* - - - Spectrum/Inves/TK90X etc. memory map: - - CPU: - 0000-3fff ROM - 4000-ffff RAM - - Spectrum 128/+2/+2a/+3 memory map: - - CPU: - 0000-3fff Banked ROM/RAM (banked rom only on 128/+2) - 4000-7fff Banked RAM - 8000-bfff Banked RAM - c000-ffff Banked RAM - - TS2068 memory map: (Can't have both EXROM and DOCK active) - The 8K EXROM can be loaded into multiple pages. - - CPU: - 0000-1fff ROM / EXROM / DOCK (Cartridge) - 2000-3fff ROM / EXROM / DOCK - 4000-5fff \ - 6000-7fff \ - 8000-9fff |- RAM / EXROM / DOCK - a000-bfff | - c000-dfff / - e000-ffff / - - -Interrupts: - -Changes: - -29/1/2000 KT - Implemented initial +3 emulation. -30/1/2000 KT - Improved input port decoding for reading and therefore - correct keyboard handling for Spectrum and +3. -31/1/2000 KT - Implemented buzzer sound for Spectrum and +3. - Implementation copied from Paul Daniel's Jupiter driver. - Fixed screen display problems with dirty chars. - Added support to load .Z80 snapshots. 48k support so far. -13/2/2000 KT - Added Interface II, Kempston, Fuller and Mikrogen - joystick support. -17/2/2000 DJR - Added full key descriptions and Spectrum+ keys. - Fixed Spectrum +3 keyboard problems. -17/2/2000 KT - Added tape loading from WAV/Changed from DAC to generic - speaker code. -18/2/2000 KT - Added tape saving to WAV. -27/2/2000 KT - Took DJR's changes and added my changes. -27/2/2000 KT - Added disk image support to Spectrum +3 driver. -27/2/2000 KT - Added joystick I/O code to the Spectrum +3 I/O handler. -14/3/2000 DJR - Tape handling dipswitch. -26/3/2000 DJR - Snapshot files are now classifed as snapshots not - cartridges. -04/4/2000 DJR - Spectrum 128 / +2 Support. -13/4/2000 DJR - +4 Support (unofficial 48K hack). -13/4/2000 DJR - +2a Support (rom also used in +3 models). -13/4/2000 DJR - TK90X, TK95 and Inves support (48K clones). -21/4/2000 DJR - TS2068 and TC2048 support (TC2048 Supports extra video - modes but doesn't have bank switching or sound chip). -09/5/2000 DJR - Spectrum +2 (France, Spain), +3 (Spain). -17/5/2000 DJR - Dipswitch to enable/disable disk drives on +3 and clones. -27/6/2000 DJR - Changed 128K/+3 port decoding (sound now works in Zub 128K). -06/8/2000 DJR - Fixed +3 Floppy support -10/2/2001 KT - Re-arranged code and split into each model emulated. - Code is split into 48k, 128k, +3, tc2048 and ts2048 - segments. 128k uses some of the functions in 48k, +3 - uses some functions in 128, and tc2048/ts2048 use some - of the functions in 48k. The code has been arranged so - these functions come in some kind of "override" order, - read functions changed to use READ8_HANDLER and write - functions changed to use WRITE8_HANDLER. - Added Scorpion256 preliminary. -18/6/2001 DJR - Added support for Interface 2 cartridges. -xx/xx/2001 KS - TS-2068 sound fixed. - Added support for DOCK cartridges for TS-2068. - Added Spectrum 48k Psycho modified rom driver. - Added UK-2086 driver. -23/12/2001 KS - 48k machines are now able to run code in screen memory. - Programs which keep their code in screen memory - like monitors, tape copiers, decrunchers, etc. - works now. - Fixed problem with interrupt vector set to 0xffff (much - more 128k games works now). - A useful used trick on the Spectrum is to set - interrupt vector to 0xffff (using the table - which contain 0xff's) and put a byte 0x18 hex, - the opcode for JR, at this address. The first - byte of the ROM is a 0xf3 (DI), so the JR will - jump to 0xfff4, where a long JP to the actual - interrupt routine is put. Due to unideal - bankswitching in MAME this JP were to 0001 what - causes Spectrum to reset. Fixing this problem - made much more software runing (i.e. Paperboy). - Corrected frames per second value for 48k and 128k - Sincalir machines. - There are 50.08 frames per second for Spectrum - 48k what gives 69888 cycles for each frame and - 50.021 for Spectrum 128/+2/+2A/+3 what gives - 70908 cycles for each frame. - Remaped some Spectrum+ keys. - Presing F3 to reset was seting 0xf7 on keyboard - input port. Problem occurred for snapshots of - some programms where it was readed as pressing - key 4 (which is exit in Tapecopy by R. Dannhoefer - for example). - Added support to load .SP snapshots. - Added .BLK tape images support. - .BLK files are identical to .TAP ones, extension - is an only difference. -08/03/2002 KS - #FF port emulation added. - Arkanoid works now, but is not playable due to - completly messed timings. - -Initialisation values used when determining which model is being emulated: - 48K Spectrum doesn't use either port. - 128K/+2 Bank switches with port 7ffd only. - +3/+2a Bank switches with both ports. - -Notes: - 1. No contented memory. - 2. No hi-res colour effects (need contended memory first for accurate timing). - 3. Multiface 1 and Interface 1 not supported. - 4. Horace and the Spiders cartridge doesn't run properly. - 5. Tape images not supported: - .TZX, .SPC, .ITM, .PAN, .TAP(Warajevo), .VOC, .ZXS. - 6. Snapshot images not supported: - .ACH, .PRG, .RAW, .SEM, .SIT, .SNX, .ZX, .ZXS, .ZX82. - 7. 128K emulation is not perfect - the 128K machines crash and hang while - running quite a lot of games. - 8. Disk errors occur on some +3 games. - 9. Video hardware of all machines is timed incorrectly. -10. EXROM and HOME cartridges are not emulated. -11. The TK90X and TK95 roms output 0 to port #df on start up. -12. The purpose of this port is unknown (probably display mode as TS2068) and - thus is not emulated. - -Very detailed infos about the ZX Spectrum +3e can be found at - -http://www.z88forever.org.uk/zxplus3e/ - -*******************************************************************************/ +// license:BSD-3-Clause +// copyright-holders:Miodrag Milanovic #include "emu.h" #include "includes/spectrum.h" |