summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/drivers/scorpion.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mess/drivers/scorpion.c')
-rw-r--r--src/mess/drivers/scorpion.c149
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"