1202 lines
50 KiB
Plaintext
1202 lines
50 KiB
Plaintext
|
||
*** CRT - CaRTridge Images (from the CCS64 emulator)
|
||
*** Document revision: 1.13
|
||
*** Last updated: June 12, 2007
|
||
*** Compiler/Editor: Peter Schepers
|
||
*** Contributors/sources: Per Hakan Sundell,
|
||
Markus Brenner
|
||
Marco Van Den Heuvel
|
||
|
||
Cartridge files were introduced in the CCS64 emulator, written by Per
|
||
Hakan Sundell, and use the ".CRT" file extension. This format was created
|
||
to handle the various ROM cartridges that exist, such as Action Replay, the
|
||
Power cartridge, and the Final Cartridge.
|
||
|
||
Normal game cartridges can load into several different memory ranges
|
||
($8000-9FFF, $A000-BFFF or $E000-FFFF). Newer utility and freezer
|
||
cartridges were less intrusive, hiding themselves until called upon, and
|
||
still others used bank-switching techniques to allow much larger ROM's than
|
||
normal. Because of these "stealthing" and bank-switching methods, a special
|
||
cartridge format was necessary, to let the emulator know where the
|
||
cartridge should reside, the control line states to enable it and any
|
||
special hardware features it uses.
|
||
|
||
Here is a dump of a sample 8K normal cartridge, "Attack Of The Mutant
|
||
Camels"...
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
0000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
0010: 00 00 00 40 01 00 00 00 00 01 00 00 00 00 00 00 úúú@úúúúúúúúúúúú
|
||
0020: 41 54 54 41 43 4B 20 4F 46 20 54 48 45 20 4D 55 ATTACKúOFúTHEúMU
|
||
0030: 54 41 4E 54 20 43 41 4D 45 4C 53 00 00 00 00 00 TANTúCAMELSúúúúú
|
||
0040: 43 48 49 50 00 00 20 10 00 00 00 00 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
0050: D3 9B BC FE C3 C2 CD 38 30 EA EA EA A9 01 85 13 Ó›¼þÃÂÍ80êêê©ú…ú
|
||
0060: 4C B3 9B A9 08 85 5A 88 D0 FD C6 5A D0 F9 60 D0 L³›©ú…ZˆÐýÆZÐù`Ð
|
||
|
||
Bytes:$0000-000F - 16-byte cartridge signature "C64 CARTRIDGE" (padded
|
||
with space characters)
|
||
0010-0013 - File header length ($00000040, in high/low format,
|
||
calculated from offset $0000). The default (also the
|
||
minimum) value is $40. Some cartridges exist which
|
||
show a value of $00000020 which is wrong.
|
||
0014-0015 - Cartridge version (high/low, presently 01.00)
|
||
0016-0017 - Cartridge hardware type ($0000, high/low)
|
||
0 - Normal cartridge
|
||
1 - Action Replay
|
||
2 - KCS Power Cartridge
|
||
3 - Final Cartridge III
|
||
4 - Simons Basic
|
||
5 - Ocean type 1*
|
||
6 - Expert Cartridge
|
||
7 - Fun Play, Power Play
|
||
8 - Super Games
|
||
9 - Atomic Power
|
||
10 - Epyx Fastload
|
||
11 - Westermann Learning
|
||
12 - Rex Utility
|
||
13 - Final Cartridge I
|
||
14 - Magic Formel
|
||
15 - C64 Game System, System 3
|
||
16 - WarpSpeed
|
||
17 - Dinamic**
|
||
18 - Zaxxon, Super Zaxxon (SEGA)
|
||
19 - Magic Desk, Domark, HES Australia
|
||
20 - Super Snapshot 5
|
||
21 - Comal-80
|
||
22 - Structured Basic
|
||
23 - Ross
|
||
24 - Dela EP64
|
||
25 - Dela EP7x8
|
||
26 - Dela EP256
|
||
27 - Rex EP256
|
||
0018 - Cartridge port EXROM line status
|
||
0 - inactive
|
||
1 - active
|
||
0019 - Cartridge port GAME line status
|
||
0 - inactive
|
||
1 - active
|
||
001A-001F - Reserved for future use
|
||
0020-003F - 32-byte cartridge name "CCSMON" (uppercase, padded
|
||
with null characters)
|
||
0040-xxxx - Cartridge contents (called CHIP PACKETS, as there can
|
||
be more than one per CRT file). See below for a
|
||
breakdown of the CHIP format.
|
||
|
||
(*Note: Ocean type 1 includes Navy Seals, Robocop 2 & 3, Shadow of the
|
||
Beast, Toki, Terminator 2 and more)
|
||
|
||
(**Note: Dinamic includes Narco Police and more)
|
||
|
||
|
||
---------------------------------------------------------------------------
|
||
|
||
|
||
CHIP Contents
|
||
-------------
|
||
|
||
The following is the contents of the CHIP packet, from position $0040 on
|
||
in the CRT file. Note I have re-adjusted the starting address to be $0000,
|
||
since we are now looking at a file contained in the .CRT file, and all size
|
||
references are from where it starts.
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
0000: 43 48 49 50 00 00 20 10 00 00 00 00 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
0010: D3 9B BC FE C3 C2 CD 38 30 EA EA EA A9 01 85 13 Ó›¼þÃÂÍ80êêê©ú…ú
|
||
0020: 4C B3 9B A9 08 85 5A 88 D0 FD C6 5A D0 F9 60 D0 L³›©ú…ZˆÐýÆZÐù`Ð
|
||
0030: F2 60 A9 04 85 49 A9 00 85 48 A2 00 A5 48 9D 40 ò`©ú…I©ú…H¢ú¥H<C2A5>@
|
||
0040: 03 A5 49 9D 60 03 A5 48 18 69 28 85 48 A5 49 69 ú¥I<C2A5>`ú¥Húi(…H¥Ii
|
||
0050: 00 85 49 E8 E0 18 D0 E4 60 A6 03 A4 02 BD 40 03 ú…IèàúÐä`¦ú¤ú½@ú
|
||
|
||
Bytes:$0000-0003 - Contained ROM signature "CHIP" (note there can be more
|
||
than one image in a .CRT file)
|
||
0004-0007 - Total packet length ($00002010, ROM image size and
|
||
header combined) (high/low format)
|
||
0008-0009 - Chip type
|
||
0 - ROM
|
||
1 - RAM, no ROM data
|
||
2 - Flash ROM
|
||
000A-000B - Bank number ($0000 - normal cartridge)
|
||
000C-000D - Starting load address (high/low format)
|
||
000E-000F - ROM image size in bytes (high/low format, typically
|
||
$2000 or $4000)
|
||
0010-xxxx - ROM data
|
||
|
||
|
||
---------------------------------------------------------------------------
|
||
|
||
|
||
The following is a chart taken from the "Commodore Programmers Reference
|
||
Guide". It details the state of various areas of memory depending on the
|
||
state of the control lines.
|
||
|
||
|
||
Legend:
|
||
L - ROML (low)
|
||
H - ROMH (high)
|
||
G - GAME
|
||
E - EXROM
|
||
|
||
Addr LHGE LHGE LHGE LHGE LHGE LHGE LHGE LHGE LHGE
|
||
Range
|
||
1111 101X 1000 011X 001X 1110 0100 1100 XX01
|
||
default 00X0 Ultimax
|
||
-------------------------------------------------------------------------
|
||
E000-FFFF Kernal RAM RAM Kernal RAM Kernal Kernal Kernal ROMH(*)
|
||
D000-DFFF IO/CHR IO/CHR IO/RAM IO/CHR RAM IO/CHR IO/CHR IO/CHR I/O
|
||
C000-CFFF RAM RAM RAM RAM RAM RAM RAM RAM -
|
||
A000-BFFF BASIC RAM RAM RAM RAM BASIC ROMH ROMH -
|
||
8000-9FFF RAM RAM RAM RAM RAM ROML RAM ROML ROML(*)
|
||
4000-7FFF RAM RAM RAM RAM RAM RAM RAM RAM -
|
||
1000-3FFF RAM RAM RAM RAM RAM RAM RAM RAM -
|
||
0000-0FFF RAM RAM RAM RAM RAM RAM RAM RAM RAM
|
||
|
||
(*) Internal memory does not respond to write accesses in these areas
|
||
|
||
|
||
From the above chart, the following table can be built. It shows standard
|
||
cartridges, either 8K or 16K in size, and the memory ranges they load into.
|
||
|
||
Type Size Game EXRom Low Bank High Bank
|
||
in K Line Line (ROML) (ROMH)
|
||
-------------------------------------------------
|
||
Normal 8k hi lo $8000 ----
|
||
Normal 16k lo lo $8000 $A000
|
||
Ultimax 8k lo hi $E000 ----
|
||
|
||
The ROMH and ROML lines are CPU-controlled status lines, used to bank
|
||
in/out RAM, ROM or I/O, depending on what is needed at the time.
|
||
|
||
Ultimax cartridges typically are situated in the $E000-FFFF (8K) ROM
|
||
address range. There are some cartridges which only use 4K of the 8K
|
||
allocation. If the cartridge is 16K in size, then it will reside in both
|
||
$8000-9FFF and $E000-FFFF.
|
||
|
||
|
||
---------------------------------------------------------------------------
|
||
|
||
|
||
Cartridge Specifics
|
||
-------------------
|
||
|
||
0 - Normal cartridge
|
||
|
||
Size - 8Kb
|
||
GAME - active (1)
|
||
EXROM - inactive (0)
|
||
Load address - $8000-9FFF
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
0000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
0010: 00 00 00 40 01 00 00 00 00 01 00 00 00 00 00 00 úúú@úúúúúúúúúúúú
|
||
0020: 41 54 54 41 43 4B 20 4F 46 20 54 48 45 20 4D 55 ATTACKúOFúTHEúMU
|
||
0030: 54 41 4E 54 20 43 41 4D 45 4C 53 00 00 00 00 00 TANTúCAMELSúúúúú
|
||
0040: 43 48 49 50 00 00 20 10 00 00 00 00 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
0050: D3 9B BC FE C3 C2 CD 38 30 EA EA EA A9 01 85 13 Ó›¼þÃÂÍ80êêê©ú…ú
|
||
|
||
|
||
The second sample below is a dump of "Music Machine", a 4Kb ULTIMAX
|
||
mode cartridge. It is still identified as a "standard cartridge"
|
||
according to the ID.
|
||
|
||
Normal cartridge
|
||
|
||
Size - 4Kb (ULTIMAX mode)
|
||
GAME - inactive (0)
|
||
EXROM - active (1)
|
||
Load address - $F000-F7FF
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
0000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
0010: 00 00 00 40 01 00 00 00 01 00 00 00 00 00 00 00 úúú@úúúúúúúúúúúú
|
||
0020: 4D 55 53 49 43 20 4D 41 43 48 49 4E 45 00 00 00 MUSICúMACHINEúúú
|
||
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 úúúúúúúúúúúúúúúú
|
||
0040: 43 48 49 50 00 00 10 10 00 00 00 00 F0 00 10 00 CHIPúúúúúúúúðúúú
|
||
0050: 3C 66 C3 C3 66 3C FF FF 18 3C 66 7E 66 66 66 00 <fÃÃf<úúú<f~fffú
|
||
|
||
|
||
The third sample is a dump of "Adventure Creator", a 16Kb standard
|
||
cartridge.
|
||
|
||
Normal cartridge
|
||
|
||
Size - 16Kb
|
||
GAME - inactive (0)
|
||
EXROM - inactive (0)
|
||
Load address - $8000-BFFF
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
0000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
0010: 00 00 00 40 01 00 00 00 00 00 00 00 00 00 00 00 úúú@úúúúúúúúúúúú
|
||
0020: 41 64 76 65 6E 74 75 72 65 20 43 72 65 61 74 6F AdventureúCreato
|
||
0030: 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 rúúúúúúúúúúúúúúú
|
||
0040: 43 48 49 50 00 00 40 10 00 00 00 00 80 00 40 00 CHIPúú@úúúúú€ú@ú
|
||
0050: 09 80 81 EA C3 C2 CD 38 30 A2 00 78 D8 8E 11 D0 ú€<C3BA>êÃÂÍ80¢úxØŽúÐ
|
||
|
||
|
||
===========================================================================
|
||
|
||
|
||
1 - Action Replay
|
||
|
||
Size - 32Kb (4 banks of 8Kb each)
|
||
GAME - inactive (0)
|
||
EXROM - inactive (0)
|
||
Load address - $8000-9FFF (all modules)
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
0000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
0010: 00 00 00 40 01 00 00 01 00 00 00 00 00 00 00 00 úúú@úúúúúúúúúúúú
|
||
0020: 41 63 74 69 6F 6E 20 52 65 70 6C 61 79 20 56 00 ActionúReplayúVú
|
||
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 úúúúúúúúúúúúúúúú
|
||
0040: 43 48 49 50 00 00 20 10 00 00 00 00 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
0050: 09 80 0C 80 C3 C2 CD 38 30 4C 60 80 4C 63 80 4C ú€ú€ÃÂÍ80L`€Lc€L
|
||
|
||
|
||
===========================================================================
|
||
|
||
|
||
2 - KCS Power Cartridge
|
||
|
||
Size - 16Kb (2 banks of 8K each)
|
||
GAME - inactive (0)
|
||
EXROM - inactive (0)
|
||
Load address - module #1 - $8000-9FFF
|
||
module #2 - $A000-BFFF
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
0000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
0010: 00 00 00 20 01 00 00 02 00 00 00 00 00 00 00 00 úúúúúúúúúúúúúúúú
|
||
0020: 4B 43 53 20 50 6F 77 65 72 20 43 61 72 74 72 69 KCSúPowerúCartri
|
||
0030: 64 67 65 00 00 00 00 00 00 00 00 00 00 00 00 00 dgeúúúúúúúúúúúúú
|
||
0040: 43 48 49 50 00 00 20 10 00 00 00 00 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
0050: 09 80 5E FE C3 C2 CD 38 30 78 D8 A2 FF 9A A9 27 ú€^þÃÂÍ80xØ¢úš©'
|
||
....
|
||
2050: 43 48 49 50 00 00 20 10 00 00 00 00 A0 00 20 00 CHIPúúúúúúúú úúú
|
||
2060: 97 E3 16 A1 FF FF FF 20 13 A0 A5 01 09 01 85 01 —ãú¡úúúúú ¥úúú…ú
|
||
|
||
|
||
===========================================================================
|
||
|
||
|
||
3 - Final Cartridge III
|
||
|
||
Size - 64Kb (4 banks of 16Kb each)
|
||
GAME - active (1)
|
||
EXROM - active (1)
|
||
Load address - $8000-BFFF (all modules)
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
0000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
0010: 00 00 00 40 01 00 00 03 01 01 00 00 00 00 00 00 úúú@úúúúúúúúúúúú
|
||
0020: 46 69 6E 61 6C 20 43 61 72 74 72 69 64 67 65 20 FinalúCartridgeú
|
||
0030: 49 49 49 20 31 39 38 37 00 00 00 00 00 00 00 00 IIIú1987úúúúúúúú
|
||
0040: 43 48 49 50 00 00 40 10 00 00 00 00 80 00 40 00 CHIPúú@úúúúú€ú@ú
|
||
0050: 09 80 5E FE C3 C2 CD 38 30 4C 4C 80 4C 55 95 4C ú€^þÃÂÍ80LL€LU•L
|
||
....
|
||
4050: 43 48 49 50 00 00 40 10 00 00 00 01 80 00 40 00 CHIPúú@úúúúú€ú@ú
|
||
4060: 01 02 00 81 5D 81 61 81 99 81 D8 81 0B 82 33 82 úúú<C3BA>]<5D>a<EFBFBD>™<EFBFBD>Ø<EFBFBD>ú‚3‚
|
||
....
|
||
8060: 43 48 49 50 00 00 40 10 00 00 00 02 80 00 40 00 CHIPúú@úúúúú€ú@ú
|
||
8070: 20 43 80 20 52 80 A9 4E 20 05 DE 20 FD BF AD 39 úC€úR€©NúúÞúý¿9
|
||
....
|
||
C070: 43 48 49 50 00 00 40 10 00 00 00 03 80 00 40 00 CHIPúú@úúúúú€ú@ú
|
||
C080: A2 06 BD DD 85 95 05 CA 10 F8 AE A0 02 E8 EC A2 ¢ú½Ý…•úÊúø® úèì¢
|
||
|
||
A total of 64 kB of ROM memory is organized into four $4000 banks
|
||
located at $8000-$BFFF. Bank switching is done by writing the bank
|
||
number plus $40 into memory location $DFFF. For instance, to select
|
||
bank 2, $DFFF is set to $42.
|
||
|
||
The CRT file contains four CHIP blocks, each block with a start address
|
||
of $8000, length $4000 and the bank number in the bank field. In the
|
||
cartridge header, both EXROM ($18) and GAME ($19) are set to 1 to
|
||
enable the 16 kB ROM configuration.
|
||
|
||
|
||
===========================================================================
|
||
|
||
|
||
4 - Simons Basic
|
||
|
||
Size - 16Kb (2 banks of 8kb each)
|
||
GAME - active (1)
|
||
EXROM - inactive (0)
|
||
Load address - module #1 - $8000-9FFF
|
||
module #2 - $A000-BFFF
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
0000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
0010: 00 00 00 40 01 00 00 04 00 01 00 00 00 00 00 00 úúú@úúúúúúúúúúúú
|
||
0020: 53 69 6D 6F 6E 27 73 20 42 61 73 69 63 00 00 00 Simon'súBasicúúú
|
||
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 úúúúúúúúúúúúúúúú
|
||
0040: 43 48 49 50 00 00 20 10 00 00 00 00 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
0050: 52 81 52 81 C3 C2 CD 38 30 41 4C 52 81 20 2C 81 R<>R<EFBFBD>ÃÂÍ80ALR<4C>ú,<2C>
|
||
....
|
||
2050: 43 48 49 50 00 00 20 10 00 00 00 00 A0 00 20 00 CHIPúúúúúúúú úúú
|
||
2060: 20 A4 A6 99 9E CB A0 05 A5 A8 91 20 A4 A6 99 A2 ú¤¦™žË ú¥¨‘ú¤¦™¢
|
||
|
||
SIMONS BASIC permanently uses 16 kB ($4000) bytes of cartridge memory
|
||
from $8000-$BFFF. However, through some custom bank-switching logic the
|
||
upper area ($A000-$BFFF) may be disabled so Simons BASIC may use it as
|
||
additional RAM. Writing a value of $01 to address location $DE00 banks
|
||
in ROM, $00 disables ROM and enables RAM.
|
||
|
||
The CRT file contains two CHIP blocks of length $2000 each, the first
|
||
block having a start address of $8000, the second block $A000. In the
|
||
cartridge header, EXROM ($18) is set to 0, GAME ($19) is set to 1 to
|
||
indicate the RESET/power-up configuration of 8 kB ROM.
|
||
|
||
|
||
===========================================================================
|
||
|
||
|
||
5 - Ocean type 1
|
||
|
||
Size - 128Kb, 256Kb or 512Kb sizes (16, 32 or 64 banks of 8Kb each)
|
||
GAME - inactive (0)
|
||
EXROM - inactive (0)
|
||
Load address - Banks 00-15 - $8000-9FFF
|
||
Banks 16-31 - $A000-BFFF (except Terminator 2)
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
00000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
00010: 00 00 00 40 01 00 00 05 00 00 00 00 00 00 00 00 úúú@úúúúúúúúúúúú
|
||
00020: 53 48 41 44 4F 57 20 4F 46 20 54 48 45 20 42 45 SHADOWúOFúTHEúBE
|
||
00030: 41 53 54 00 00 00 00 00 00 00 00 00 00 00 00 00 ASTúúúúúúúúúúúúú
|
||
00040: 43 48 49 50 00 00 20 10 00 00 00 00 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
00050: 09 80 83 81 C3 C2 CD 38 30 4C 83 81 4C 76 82 80 ú€ƒ<E282AC>ÃÂÍ80Lƒ<4C>Lv‚€
|
||
....
|
||
02050: 43 48 49 50 00 00 20 10 00 00 00 01 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
02060: 59 6D 00 56 AD 00 55 AE F0 00 01 A0 FE 00 01 F8 YmúVúU®ðúú þúúø
|
||
....
|
||
20140: 43 48 49 50 00 00 20 10 00 00 00 10 A0 00 20 00 CHIPúúúúúúúú úúú
|
||
20150: 0A 9A 55 FF 9B 69 57 FE AA 65 96 FE 65 0F D6 D9 úšUú›iWþªe–þeúÖÙ
|
||
|
||
Here is a list of the known OCEAN cartridges:
|
||
|
||
Batman The Movie (128 kB)
|
||
Battle Command (128 kB)
|
||
Double Dragon (128 kB)
|
||
Navy Seals (128 kB)
|
||
Pang (128 kB)
|
||
Robocop 3 (128 kB)
|
||
Space Gun (128 kB)
|
||
Toki (128 kB)
|
||
Chase H.Q. II (256 kB)
|
||
Robocop 2 (256 kB)
|
||
Shadow of the Beast (256 kB)
|
||
Terminator 2 (512 kB)
|
||
|
||
|
||
Memory is divided into 8Kb ($2000) banks. For the lower 128Kb, memory
|
||
is banked into $8000-$9FFF and for the upper 128Kb, memory is banked
|
||
into $A000-$BFFF. Note that the Terminator 2 cartridge loads all 64
|
||
banks at $8000-$9FFF.
|
||
|
||
Bank switching is done by writing to $DE00. The lower six bits give the
|
||
bank number (ranging from 0-63). Bit 8 in this selection word is always
|
||
set.
|
||
|
||
|
||
===========================================================================
|
||
|
||
|
||
6 - Expert Cartridge
|
||
|
||
Size - 8Kb
|
||
GAME - active (1)
|
||
EXROM - active (1)
|
||
Load address - $8000-9FFF
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
0000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
0010: 00 00 00 40 01 00 00 06 01 01 00 00 00 00 00 00 úúú@úúúúúúúúúúúú
|
||
0020: 45 78 70 65 72 74 20 43 61 72 74 72 69 64 67 65 ExpertúCartridge
|
||
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 úúúúúúúúúúúúúúúú
|
||
0040: 43 48 49 50 00 00 40 10 00 02 00 00 80 00 20 00 CHIPúú@úúúúú€úúú
|
||
0050: 00 00 00 0A F3 00 00 00 00 00 00 00 00 00 00 00 úúúúóúúúúúúúúúúú
|
||
|
||
|
||
===========================================================================
|
||
|
||
|
||
7 - Fun Play, Power Play
|
||
|
||
Size - 128Kb (16 banks of 8Kb modules)
|
||
GAME - inactive (0)
|
||
EXROM - inactive (0)
|
||
Load address - $8000-9FFF (all modules)
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
00000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
00010: 00 00 00 40 01 00 00 07 00 00 00 00 00 00 00 00 úúú@úúúúúúúúúúúú
|
||
00020: 46 55 4E 20 50 4C 41 59 00 00 00 00 00 00 00 00 FUNúPLAYúúúúúúúú
|
||
00030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 úúúúúúúúúúúúúúúú
|
||
00040: 43 48 49 50 00 00 20 10 00 00 00 00 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
00050: 1E 80 86 EA C3 C2 CD 38 30 1B 00 81 0D 08 80 00 ú€†êÃÂÍ80úú<C3BA>úú€ú
|
||
....
|
||
02050: 43 48 49 50 00 00 20 10 00 00 00 08 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
02060: 78 A2 F0 86 01 BD 1D 08 9D F8 00 CA D0 F7 4C 00 x¢ð†ú½úú<C3BA>øúÊÐ÷Lú
|
||
....
|
||
04060: 43 48 49 50 00 00 20 10 00 00 00 10 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
04070: 38 E5 68 85 03 B0 11 27 03 12 C0 18 69 27 42 90 8åh…ú°ú'úúÀúi'B<>
|
||
....
|
||
06070: 43 48 49 50 00 00 20 10 00 00 00 18 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
06080: 44 D0 5E 06 02 C0 44 11 40 04 11 44 01 5F 1C 73 DÐ^úúÀDú@úúDú_ús
|
||
....
|
||
1E130: 43 48 49 50 00 00 20 10 00 00 00 39 80 00 20 00 CHIPúúúúúúú9€úúú
|
||
1E140: 85 EB 41 EA 9E 08 03 00 C0 06 18 01 00 C0 08 03 …ëAêžúúúÀúúúúÀúú
|
||
|
||
The FUN PLAY Cartridge uses $DE00 for bank selection, and uses 8Kb
|
||
banks ($2000) at $8000-$9FFF. There are 16 banks of ROM memory and are
|
||
referenced by the following values:
|
||
|
||
$00 -> Bank 0
|
||
$08 -> Bank 1
|
||
$10 -> Bank 2
|
||
$18 -> Bank 3
|
||
$20 -> Bank 4
|
||
$28 -> Bank 5
|
||
$30 -> Bank 6
|
||
$38 -> Bank 7
|
||
$01 -> Bank 8
|
||
$09 -> Bank 9
|
||
$11 -> Bank 10
|
||
$19 -> Bank 11
|
||
$21 -> Bank 12
|
||
$29 -> Bank 13
|
||
$31 -> Bank 14
|
||
$39 -> Bank 15
|
||
|
||
The bank field in the chip headers is set according to the value
|
||
written to $DE00. The following bits are used for bank decoding in
|
||
$DE00 (0 being the LSB, 3 being the MSB).
|
||
|
||
Bit# 76543210
|
||
xx210xx3
|
||
|
||
After copying memory from the ROM banks, the selection program writes
|
||
a value of $86 to $DE00. This seems either to reset or disable the
|
||
cartridge ROM.
|
||
|
||
|
||
===========================================================================
|
||
|
||
|
||
8 - Super Games
|
||
|
||
Size - 64Kb (4 banks of 16Kb each)
|
||
GAME - inactive (0)
|
||
EXROM - inactive (0)
|
||
Load address - $8000-BFFF (all modules)
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
0000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
0010: 00 00 00 40 01 00 00 08 00 00 00 00 00 00 00 00 úúú@úúúúúúúúúúúú
|
||
0020: 53 55 50 45 52 20 47 41 4D 45 53 00 00 00 00 00 SUPERúGAMESúúúúú
|
||
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 úúúúúúúúúúúúúúúú
|
||
0040: 43 48 49 50 00 00 40 10 00 00 00 00 80 00 40 00 CHIPúú@úúúúú€ú@ú
|
||
0050: 0A 80 0A 80 C3 C2 CD 38 30 00 A9 80 A0 00 85 FB ú€ú€ÃÂÍ80ú©€ ú…û
|
||
....
|
||
4050: 43 48 49 50 00 00 40 10 00 00 00 01 80 00 40 00 CHIPúú@úúúúú€ú@ú
|
||
4060: 27 80 A8 80 C3 C2 CD 38 30 00 40 C0 40 C0 40 C0 '€¨€ÃÂÍ80ú@À@À@À
|
||
....
|
||
8060: 43 48 49 50 00 00 40 10 00 00 00 02 80 00 40 00 CHIPúú@úúúúú€ú@ú
|
||
8070: 00 00 00 49 4D C7 64 47 46 45 F3 48 DC 08 7E 0B úúúIMÇdGFEóHÜú~ú
|
||
....
|
||
C070: 43 48 49 50 00 00 40 10 00 00 00 03 80 00 40 00 CHIPúú@úúúúú€ú@ú
|
||
C080: D5 F9 F0 C1 D5 F7 F0 BD E8 B5 02 F0 FB C9 05 30 ÕùðÁÕ÷ð½èµúðûÉú0
|
||
|
||
The SUPER GAMES cartridge uses 4 16Kb banks ($8000-$BFFF) of ROM
|
||
memory. Bank selecting is done by writing to $DF00.
|
||
|
||
Values for $DF00:
|
||
|
||
$00 -> Bank 0
|
||
$01 -> Bank 1 (also value $09 used)
|
||
$02 -> Bank 2
|
||
$03 -> Bank 3
|
||
|
||
Bit #2
|
||
0: ROM $8000-$BFFF
|
||
1: ROM $8000-$9FFF
|
||
Bit #3
|
||
0: ?
|
||
1: if bit #2 AND #3 are on (1) then the module is off
|
||
|
||
|
||
===========================================================================
|
||
|
||
|
||
9 - Atomic Power
|
||
|
||
Size - 32Kb (4 banks of 8Kb modules)
|
||
GAME - inactive (0)
|
||
EXROM - inactive (0)
|
||
Load address - $8000-9FFF (all modules)
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
0000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
0010: 00 00 00 40 01 00 00 09 00 00 00 00 00 00 00 00 úúú@úúúúúúúúúúúú
|
||
0020: 41 74 6F 6D 69 63 20 50 6F 77 65 72 00 00 00 00 AtomicúPowerúúúú
|
||
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 úúúúúúúúúúúúúúúú
|
||
0040: 43 48 49 50 00 00 20 10 00 00 00 00 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
0050: 09 80 0C 80 C3 C2 CD 38 30 4C 41 80 4C 1E 80 4C ú€ú€ÃÂÍ80LA€Lú€L
|
||
....
|
||
2050: 43 48 49 50 00 00 20 10 00 00 00 01 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
2060: 09 80 0C 80 C3 C2 CD 38 30 4C 3F 80 4C 91 80 4C ú€ú€ÃÂÍ80L?€L‘€L
|
||
....
|
||
4060: 43 48 49 50 00 00 20 10 00 00 00 02 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
4070: EF FC 09 80 C3 C2 CD 38 30 4C 27 80 4C DB 81 4C ïüú€ÃÂÍ80L'€LÛ<4C>L
|
||
....
|
||
6070: 43 48 49 50 00 00 20 10 00 00 00 03 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
6080: 09 80 0C 80 C3 C2 CD 38 30 4C 73 86 4C 30 80 4C ú€ú€ÃÂÍ80Ls†L0€L
|
||
|
||
|
||
===========================================================================
|
||
|
||
|
||
10 - Epyx Fastload
|
||
|
||
Size - 8Kb
|
||
GAME - active (1)
|
||
EXROM - active (1)
|
||
Load address - $8000-9FFF
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
0000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
0010: 00 00 00 40 01 00 00 0A 01 01 00 00 00 00 00 00 úúú@úúúúúúúúúúúú
|
||
0020: 45 50 59 58 20 46 41 53 54 4C 4F 41 44 00 00 00 EPYXúFASTLOADúúú
|
||
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 úúúúúúúúúúúúúúúú
|
||
0040: 43 48 49 50 00 00 20 10 00 00 00 00 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
0050: 30 80 5E FE C3 C2 CD 38 30 20 04 90 4C 38 DF AB 0€^þÃÂÍ80úú<C3BA>L8ß«
|
||
|
||
|
||
===========================================================================
|
||
|
||
|
||
11 - Westermann Learning
|
||
|
||
Size - 16Kb
|
||
GAME - inactive (0)
|
||
EXROM - inactive (0)
|
||
Load address - $8000-BFFF
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
0000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
0010: 00 00 00 40 01 00 00 0B 00 00 00 00 00 00 00 00 úúú@úúúúúúúúúúúú
|
||
0020: 57 45 53 54 45 52 4D 41 4E 4E 00 00 00 00 00 00 WESTERMANNúúúúúú
|
||
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 úúúúúúúúúúúúúúúú
|
||
0040: 43 48 49 50 00 00 20 10 00 00 00 00 80 00 40 00 CHIPúúúúúúúú€ú@ú
|
||
0050: 09 80 9C 80 C3 C2 CD 38 30 A2 00 8E 16 D0 20 84 ú€œ€ÃÂÍ80¢úŽúÐú„
|
||
|
||
|
||
===========================================================================
|
||
|
||
|
||
12 - Rex Utility
|
||
|
||
Size - 8K
|
||
GAME - active (1)
|
||
EXROM - inactive (0)
|
||
Load address - $8000-9FFF
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
0000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
0010: 00 00 00 40 01 00 00 0C 00 01 00 00 00 00 00 00 úúú@úúúúúúúúúúúú
|
||
0020: 52 45 58 00 00 00 00 00 00 00 00 00 00 00 00 00 REXúúúúúúúúúúúúú
|
||
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 úúúúúúúúúúúúúúúú
|
||
0040: 43 48 49 50 00 00 20 10 00 00 00 00 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
0050: 08 80 C1 FE C3 C2 CD 38 30 6C 95 E3 20 A3 FD 20 ú€ÁþÃÂÍ80l•ãú£ýú
|
||
|
||
|
||
===========================================================================
|
||
|
||
|
||
13 - Final Cartridge I
|
||
|
||
Size - 16Kb
|
||
GAME - active (1)
|
||
EXROM - active (1)
|
||
Load address - $8000-BFFF
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
0000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
0010: 00 00 00 40 01 00 00 0D 01 01 00 00 00 00 00 00 úúú@úúúúúúúúúúúú
|
||
0020: 54 68 65 20 46 69 6E 61 6C 20 43 61 72 74 72 69 TheúFinalúCartri
|
||
0030: 64 67 65 20 49 00 00 00 00 00 00 00 00 00 00 00 dgeúIúúúúúúúúúúú
|
||
0040: 43 48 49 50 00 00 40 10 00 00 00 00 80 00 40 00 CHIPúú@úúúúú€ú@ú
|
||
0050: 80 BA 5E FE C3 C2 CD 38 30 00 A0 A0 20 2D FE 58 €º^þÃÂÍ80ú ú-þX
|
||
|
||
|
||
===========================================================================
|
||
|
||
|
||
14 - Magic Formel
|
||
|
||
Size - 64Kb (8 banks of 8Kb)
|
||
GAME - Inactive (0)
|
||
EXROM - Inactive (0)
|
||
Load Address - $E000-FFFF
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
0000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
0010: 00 00 00 40 01 00 00 0E 01 01 00 00 00 00 00 00 úúú@úúúúúúúúúúúú
|
||
0020: 4D 61 67 69 63 20 46 6F 72 6D 65 6C 00 00 00 00 MagicúFormelúúúú
|
||
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 úúúúúúúúúúúúúúúú
|
||
0040: 43 48 49 50 00 00 20 10 00 00 00 00 E0 00 20 00 CHIPúúúúúúúúàúúú
|
||
0050: 4D 46 30 8D 00 DF 60 8D 01 DF 60 8D 02 DF 60 8D MF0<46>úß`<60>úß`<60>úß`<60>
|
||
...
|
||
2050: 43 48 49 50 00 00 20 10 00 00 00 01 E0 00 20 00 CHIPúúúúúúúúàúúú
|
||
2060: 4C 5F E4 8D 00 DF 60 8D 01 DF 60 8D 02 DF 60 8D L_ä<5F>úß`<60>úß`<60>úß`<60>
|
||
...
|
||
4060: 43 48 49 50 00 00 20 10 00 00 00 02 E0 00 20 00 CHIPúúúúúúúúàúúú
|
||
4070: 4D 46 32 8D 00 DF 60 8D 01 DF 60 8D 02 DF 60 8D MF2<46>úß`<60>úß`<60>úß`<60>
|
||
...
|
||
6070: 43 48 49 50 00 00 20 10 00 00 00 03 E0 00 20 00 CHIPúúúúúúúúàúúú
|
||
6080: 4D 46 33 8D 00 DF 60 8D 01 DF 60 8D 02 DF 60 8D MF3<46>úß`<60>úß`<60>úß`<60>
|
||
...
|
||
8080: 43 48 49 50 00 00 20 10 00 00 00 04 E0 00 20 00 CHIPúúúúúúúúàúúú
|
||
8090: 4D 46 34 8D 00 DF 60 8D 01 DF 60 8D 02 DF 60 8D MF4<46>úß`<60>úß`<60>úß`<60>
|
||
...
|
||
A090: 43 48 49 50 00 00 20 10 00 00 00 05 E0 00 20 00 CHIPúúúúúúúúàúúú
|
||
A0A0: 4D 46 35 8D 00 DF 60 8D 01 DF 60 8D 02 DF 60 8D MF5<46>úß`<60>úß`<60>úß`<60>
|
||
...
|
||
C0A0: 43 48 49 50 00 00 20 10 00 00 00 06 E0 00 20 00 CHIPúúúúúúúúàúúú
|
||
C0B0: 4D 46 36 8D 00 DF 60 8D 01 DF 60 8D 02 DF 60 8D MF6<46>úß`<60>úß`<60>úß`<60>
|
||
..
|
||
E0B0: 43 48 49 50 00 00 20 10 00 00 00 07 E0 00 20 00 CHIPúúúúúúúúàúúú
|
||
E0C0: 4D 46 37 8D 00 DF 60 8D 01 DF 60 8D 02 DF 60 8D MF7<46>úß`<60>úß`<60>úß`<60>
|
||
|
||
|
||
===========================================================================
|
||
|
||
|
||
15 - C64 Game System, System 3
|
||
|
||
Size - 512Kb (64 banks of 8Kb each)
|
||
GAME - inactive (0)
|
||
EXROM - active (1)
|
||
Load address - $8000-9FFF (all modules)
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
000000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
000010: 00 00 00 40 01 00 00 0F 00 01 00 00 00 00 00 00 úúú@úúúúúúúúúúúú
|
||
000020: 43 36 34 47 53 20 43 61 72 74 72 69 64 67 65 00 C64GSúCartridgeú
|
||
000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 úúúúúúúúúúúúúúúú
|
||
000040: 43 48 49 50 00 00 20 10 00 00 00 00 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
000050: 6D 80 C5 80 C3 C2 CD 38 30 4C CB 80 4C 36 84 4C m€Å€ÃÂÍ80LË€L6„L
|
||
....
|
||
002050: 43 48 49 50 00 00 20 10 00 00 00 01 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
002060: 18 D0 A9 FF 8D 15 D0 8D 1D D0 8D 17 D0 A2 07 A9 úЩú<C2A9>úÐ<C3BA>úÐ<C3BA>úТú©
|
||
....
|
||
004060: 43 48 49 50 00 00 20 10 00 00 00 02 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
004070: E0 08 19 21 77 84 52 98 9F 80 A5 21 31 01 31 89 àúú!w„R˜Ÿ€¥!1ú1‰
|
||
....
|
||
006070: 43 48 49 50 00 00 20 10 00 00 00 03 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
006080: C0 08 1C 1D A0 92 03 03 D8 AA 04 C0 B8 01 40 EA Àúúú ’úúتúÀ¸ú@ê
|
||
....
|
||
07E430: 43 48 49 50 00 00 20 10 00 00 00 3F 80 00 20 00 CHIPúúúúúúú?€úúú
|
||
07E440: 45 20 41 20 42 49 47 20 58 FE 4F 4E 20 54 48 49 EúAúBIGúXþONúTHI
|
||
|
||
Here is a list of the known cartridges:
|
||
|
||
C64GS 4-in-1 (Commodore) (512 kB)
|
||
Last Ninja Remix (System 3) (512 kB)
|
||
Myth (System 3) (512 kB)
|
||
|
||
ROM memory is organized in 8Kb ($2000) banks located at $8000-$9FFF.
|
||
Bank switching is done by writing to address $DE00+X, where X is the
|
||
bank number (STA $DE00,X). For instance, to read from bank 3, address
|
||
$DE03 is accessed.
|
||
|
||
The CRT file contains a string of CHIP blocks, each block with a start
|
||
address of $8000, length $2000 and the bank number in the bank field.
|
||
In the cartridge header, EXROM ($18) is set to 0, GAME ($19) is set to
|
||
1 to enable the 8 kB ROM configuration.
|
||
|
||
|
||
===========================================================================
|
||
|
||
|
||
16 - WarpSpeed
|
||
|
||
Size - 16Kb
|
||
GAME - inactive (0)
|
||
EXROM - inactive (0)
|
||
Load address - $8000-BFFF
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
0000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
0010: 00 00 00 40 01 00 00 10 01 01 00 00 00 00 00 00 úúú@úúúúúúúúúúúú
|
||
0020: 57 61 72 70 73 70 65 65 64 00 00 00 00 00 00 00 Warpspeedúúúúúúú
|
||
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 úúúúúúúúúúúúúúúú
|
||
0040: 43 48 49 50 00 00 40 10 00 00 00 00 80 00 40 00 CHIPúú@úúúúú€ú@ú
|
||
0050: 4C 22 80 4C 22 80 FF 43 42 4D 20 53 E4 20 18 E5 L"€L"€úCBMúSäúúå
|
||
|
||
After RESET or POWER ON, 16kB of Cartridge ROM are visible at
|
||
$8000-$BFFF. Additionally, ROM normally located at $9E00-$9FFF is
|
||
mirrored into IO1 and IO2 at $DE00-$DFFF. ROM at $8000-$BFFF is
|
||
disabled by writing into the IO2 area (typically $DF00) and may be
|
||
re-enabled by writing into IO1 ($DE00). However, the $DE00-$DFFF
|
||
(IO1/IO2) area itself always remains mapped to cartridge ROM.
|
||
|
||
Included with these documents is a WRPSPEED.JPG which is the schematic
|
||
of the WarpSpeed cartridge itself.
|
||
|
||
|
||
===========================================================================
|
||
|
||
|
||
17 - Dinamic
|
||
|
||
Size - 128Kb (16 banks of 8Kb each)
|
||
GAME - inactive (0)
|
||
EXROM - active (1)
|
||
Load address - $8000-9FFF (all modules)
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
000000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
000010: 00 00 00 40 01 00 00 11 00 01 00 00 00 00 00 00 úúú@úúúúúúúúúúúú
|
||
000020: 4E 61 72 63 6F 20 50 6F 6C 69 63 65 00 00 00 00 NarcoúPoliceúúúú
|
||
000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 úúúúúúúúúúúúúúúú
|
||
000040: 43 48 49 50 00 00 20 10 00 00 00 00 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
000050: 0B 80 0B 80 C3 C2 CD 38 30 00 00 78 A2 FF 9A D8 ú€ú€ÃÂÍ80úúx¢úšØ
|
||
..
|
||
002050: 43 48 49 50 00 00 20 10 00 00 00 01 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
002060: 1C 8C 1B 8C 16 16 8F 16 16 88 1C 1C 86 1C 1C 89 úŒúŒúú<C3BA>úúˆúú†úú‰
|
||
..
|
||
004060: 43 48 49 50 00 00 20 10 00 00 00 02 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
004070: B6 02 07 08 07 07 00 0A 0A B6 00 05 0A 00 07 07 ¶úúúúúúúú¶úúúúúú
|
||
..
|
||
01E130: 43 48 49 50 00 00 20 10 00 00 00 0F 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
01E140: 00 D5 70 03 F5 70 0F 5F 70 0F F7 70 35 FD F0 37 úÕpúõpú_pú÷p5ýð7
|
||
|
||
Here is a list of the known DINAMIC cartridges:
|
||
|
||
Narco Police (128 kB)
|
||
Satan (128 kB)
|
||
|
||
ROM memory is organized in 8Kb ($2000) banks located at $8000-$9FFF.
|
||
Bank switching is done by reading from address $DE00+X, where X is the
|
||
bank number (LDA $DE00,X). For instance, to read from bank 3, address
|
||
$DE03 is accessed.
|
||
|
||
The CRT file contains a string of CHIP blocks, each block with a start
|
||
address of $8000, length $2000 and the bank number in the bank field.
|
||
In the cartridge header, EXROM ($18) is set to 0, GAME ($19) is set to
|
||
1 to enable the 8 kB ROM configuration.
|
||
|
||
|
||
===========================================================================
|
||
|
||
|
||
18 - Zaxxon, Super Zaxxon (SEGA)
|
||
|
||
Size - 20Kb (3 banks of different sizes)
|
||
GAME - active (1)
|
||
EXROM - active (1)
|
||
Load address - $8000-8FFF (mirrored in $9000-9FFF, module 0, chip U1)
|
||
$A000-BFFF (banked modules 1 and 2, chip U2)
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
000000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
000010: 00 00 00 40 01 00 00 12 00 00 00 00 00 00 00 00 úúú@úúúúúúúúúúúú
|
||
000020: 5A 61 78 78 6F 6E 00 00 00 00 00 00 00 00 00 00 Zaxxonúúúúúúúúúú
|
||
000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 úúúúúúúúúúúúúúúú
|
||
000040: 43 48 49 50 00 00 10 10 00 00 00 00 80 00 10 00 CHIPúúúúúúúú€úúú
|
||
000050: 0D 80 29 80 C3 C2 CD 38 30 78 4C 09 80 78 A9 00 ú€)€ÃÂÍ80xLú€x©ú
|
||
..
|
||
001050: 43 48 49 50 00 00 20 10 00 00 00 00 A0 00 20 00 CHIPúúúúúúúú úúú
|
||
001060: A2 0F BD 00 20 D0 04 CA 10 F8 60 BD 70 20 F0 0D ¢ú½úúÐúÊúø`½púðú
|
||
..
|
||
003060: 43 48 49 50 00 00 20 10 00 00 00 01 A0 00 20 00 CHIPúúúúúúúú úúú
|
||
003070: 65 A2 36 A3 E7 A3 CB A4 94 A5 86 A6 5E A7 35 A8 e¢6£ç£Ë¤”¥†¦^§5¨
|
||
|
||
The (Super) Zaxxon carts use a 4Kb ($1000) ROM at $8000-$8FFF (mirrored
|
||
in $9000-$9FFF) along with two 8Kb ($2000) cartridge banks located at
|
||
$A000-$BFFF. One of the two banks is selected by doing a read access to
|
||
either the $8000-$8FFF area (bank 0 is selected) or to $9000-$9FFF area
|
||
(bank 1 is selected). EXROM ($18 = $00) and GAME ($19 = $00) lines are
|
||
always pulled to GND to select the 16 kB ROM configuration.
|
||
|
||
The CRT file includes three CHIP blocks:
|
||
a) bank = 0, load address = $8000, size = $1000
|
||
b) bank = 0, load address = $A000, size = $2000
|
||
c) bank = 1, load address = $A000, size = $2000
|
||
|
||
|
||
===========================================================================
|
||
|
||
|
||
19. Magic Desk, Domark, HES Australia
|
||
|
||
Size - 32Kb, 64Kb or 128Kb sizes (4 to 16 banks of 8Kb each)
|
||
GAME - inactive (0)
|
||
EXROM - active (1)
|
||
Load address (banks 00-15) - $8000-9FFF
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
0000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
0010: 00 00 00 40 01 00 00 13 00 01 00 00 00 00 00 00 úúú@úúúúúúúúúúúú
|
||
0020: 4D 61 67 69 63 20 44 65 73 6B 00 00 00 00 00 00 MagicúDeskúúúúúú
|
||
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 úúúúúúúúúúúúúúúú
|
||
0040: 43 48 49 50 00 00 20 10 00 00 00 00 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
0050: 09 80 C6 CA C3 C2 CD 38 30 8E 16 D0 20 A3 FD 20 ú€ÆÊÃÂÍ80ŽúÐú£ýú
|
||
..
|
||
2050: 43 48 49 50 00 00 20 10 00 00 00 01 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
2060: 00 3F 0A 01 00 86 4E 24 28 31 30 29 3A 4A 4F 59 ú?úúú†N$(10):JOY
|
||
..
|
||
4060: 43 48 49 50 00 00 20 10 00 00 00 02 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
4070: 00 8B C9 28 4E 24 2C 31 29 B3 B1 22 FF 22 A7 32 ú‹É(N$,1)³±"ú"§2
|
||
..
|
||
6070: 43 48 49 50 00 00 20 10 00 00 00 03 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
6080: AE 01 83 33 2C 37 2C 22 32 29 20 44 45 4C 20 4B ®úƒ3,7,"2)úDELúK
|
||
|
||
This cartridge type is very similar to the OCEAN cart type: ROM memory
|
||
is organized in 8Kb ($2000) banks located at $8000-$9FFF. Bank
|
||
switching is done by writing the bank number to $DE00. Deviant from the
|
||
Ocean type, bit 8 is cleared for selecting one of the ROM banks. If bit
|
||
8 is set ($DE00 = $80), the GAME/EXROM lines are disabled, turning on
|
||
RAM at $8000-$9FFF instead of ROM.
|
||
|
||
In the cartridge header, EXROM ($18) is set to 0, GAME ($19) is set to
|
||
1 to indicate the RESET/power-up configuration of 8 kB ROM.
|
||
|
||
Here is a list of the known cartridges:
|
||
|
||
Ghosbusters (HES Australia) (32 kB)
|
||
Magic Desk (Commodore) (32 kB)
|
||
Badlands (Domark) (64 kB)
|
||
Vindicators (Domark) (64 kB)
|
||
Wonderboy (HES Australia) (64 kB)
|
||
Cyberball (Domark) (128 kB)
|
||
|
||
|
||
===========================================================================
|
||
|
||
|
||
20. Super Snapshot 5
|
||
|
||
Size - 64Kb (4 banks of 16Kb each)
|
||
GAME - active (1)
|
||
EXROM - active (1)
|
||
Load address - $8000-BFFF
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
0000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
0010: 00 00 00 40 01 00 00 14 01 01 00 00 00 00 00 00 úúú@úúúúúúúúúúúú
|
||
0020: 53 75 70 65 72 20 53 6E 61 70 73 68 6F 74 20 35 SuperúSnapshotú5
|
||
0030: 20 4E 54 53 43 00 00 00 00 00 00 00 00 00 00 00 úNTSCúúúúúúúúúúú
|
||
0040: 43 48 49 50 00 00 40 10 00 00 00 00 80 00 40 00 CHIPúú@úúúúú€ú@ú
|
||
0050: 09 80 59 80 C3 C2 CD 38 30 20 03 9F 00 FA F4 20 ú€Y€ÃÂÍ80úúŸúúôú
|
||
...
|
||
4050: 43 48 49 50 00 00 40 10 00 00 00 01 80 00 40 00 CHIPúú@úúúúú€ú@ú
|
||
4060: 79 DE BC FE C3 C2 CD 38 30 A9 05 8D 20 D0 8D 21 yÞ¼þÃÂÍ80©ú<C2A9>úÐ<C3BA>!
|
||
...
|
||
8060: 43 48 49 50 00 00 40 10 00 00 00 02 80 00 40 00 CHIPúú@úúúúú€ú@ú
|
||
8070: 50 DE BC FE C3 C2 CD 38 30 A9 0A 85 6A A9 0D 85 PÞ¼þÃÂÍ80©ú…j©ú…
|
||
...
|
||
C070: 43 48 49 50 00 00 40 10 00 00 00 03 80 00 40 00 CHIPúú@úúúúú€ú@ú
|
||
C080: 50 DE BC FE C3 C2 CD 38 30 85 07 20 1A AD A5 76 PÞ¼þÃÂÍ80…úúú¥v
|
||
|
||
|
||
===========================================================================
|
||
|
||
|
||
21. Comal-80
|
||
|
||
Size - 64Kb (4 banks of 16Kb each)
|
||
GAME - active (1)
|
||
EXROM - active (1)
|
||
Load address - $8000-BFFF
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
0000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
0010: 00 00 00 40 01 00 00 15 01 01 00 00 00 00 00 00 úúú@úúúúúúúúúúúú
|
||
0020: 43 6F 6D 61 6C 20 38 30 00 00 00 00 00 00 00 00 Comalú80úúúúúúúú
|
||
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 úúúúúúúúúúúúúúúú
|
||
0040: 43 48 49 50 00 00 40 10 00 00 00 00 80 00 40 00 CHIPúú@úúúúú€ú@ú
|
||
0050: 87 87 70 CF C3 C2 CD 38 30 4C AA CF 4C 70 CF 4C ‡‡pÏÃÂÍ80LªÏLpÏL
|
||
...
|
||
4050: 43 48 49 50 00 00 40 10 00 00 00 01 80 00 40 00 CHIPúú@úúúúú€ú@ú
|
||
4060: AA CF 70 CF C3 C2 CD 38 30 01 29 01 28 01 2C 04 ªÏpÏÃÂÍ80ú)ú(ú,ú
|
||
...
|
||
8060: 43 48 49 50 00 00 40 10 00 00 00 02 80 00 40 00 CHIPúú@úúúúú€ú@ú
|
||
8070: AA CF 70 CF C3 C2 CD 38 30 91 92 92 92 92 92 92 ªÏpÏÃÂÍ80‘’’’’’’
|
||
...
|
||
C070: 43 48 49 50 00 00 40 10 00 00 00 03 80 00 40 00 CHIPúú@úúúúú€ú@ú
|
||
C080: 7B C8 7E C8 C3 C2 CD 38 30 43 4F 4D 41 4C 80 93 {È~ÈÃÂÍ80COMAL€“
|
||
|
||
|
||
The Comal-80 Cartridge uses $DE00 for bank selection, and uses 16Kb
|
||
banks ($4000) at $8000-$BFFF. There are 4 banks of ROM memory and are
|
||
referenced by the following values:
|
||
|
||
$80 -> Bank 0
|
||
$81 -> Bank 1
|
||
$82 -> Bank 2
|
||
$83 -> Bank 3
|
||
|
||
|
||
===========================================================================
|
||
|
||
|
||
22. Structured Basic
|
||
|
||
Size - 16Kb (2 banks of 8Kb each)
|
||
GAME - active (0)
|
||
EXROM - active (1)
|
||
Load address - $8000-9FFF
|
||
|
||
No sample data/file available.
|
||
|
||
Any read/write access to $DE00 or $DE01 will switch in bank 0.
|
||
Any read/write access to $DE02 will switch in bank 1.
|
||
Any read/write access to $DE03 will switch off EXROM.
|
||
|
||
|
||
===========================================================================
|
||
|
||
|
||
23. Ross
|
||
|
||
Size - 16Kb or 32Kb sizes (1 or 2 banks of 16Kb each)
|
||
GAME - active (1)
|
||
EXROM - active (1)
|
||
Load address - $8000-BFFF
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
0000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
0010: 00 00 00 40 01 00 00 17 00 00 00 00 00 00 00 00 úúú@úúúúúúúúúúúú
|
||
0020: 52 6F 73 73 20 31 34 00 00 00 00 00 00 00 00 00 Rossú14úúúúúúúúú
|
||
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 úúúúúúúúúúúúúúúú
|
||
0040: 43 48 49 50 00 00 40 10 00 00 00 00 80 00 40 00 CHIPúú@úúúúú€ú@ú
|
||
0050: 09 80 09 80 C3 C2 CD 38 30 A2 00 BD 20 80 4D 0E ú€ú€ÃÂÍ80¢ú½ú€Mú
|
||
...
|
||
4050: 43 48 49 50 00 00 40 10 00 00 00 01 80 00 40 00 CHIPúú@úúúúú€ú@ú
|
||
4060: 3F 5A 4D 4D 50 4D 8D 25 3F 1A 1F 77 3F CD E0 3F ?ZMMPM<50>%?úúw?Íà?
|
||
|
||
Any read access to $DE00 will switch in bank 1 (if cart is 32Kb).
|
||
Any read access to $DF00 will switch off EXROM and GAME.
|
||
|
||
|
||
===========================================================================
|
||
|
||
|
||
24. Dela EP64
|
||
|
||
Size - 8Kb to 72kb sizes (1 to 9 banks of 8Kb each,
|
||
or 1 bank of 8Kb and 1 or 2 banks
|
||
of 32Kb each)
|
||
GAME - inactive (0)
|
||
EXROM - active (1)
|
||
Load address - $8000-9FFF
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
0000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
0010: 00 00 00 40 01 00 00 18 00 01 00 00 00 00 00 00 úúú@úúúúúúúúúúúú
|
||
0020: 44 45 4C 41 20 45 50 36 34 00 00 00 00 00 00 00 DELAúEP64úúúúúúú
|
||
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 úúúúúúúúúúúúúúúú
|
||
0040: 43 48 49 50 00 00 20 10 00 00 00 00 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
0050: 00 85 5E FE C3 C2 CD 38 30 FF FF FF FF FF FF FF ú…^þÃÂÍ80úúúúúúú
|
||
...
|
||
2050: 43 48 49 50 00 00 80 10 00 00 00 01 80 00 80 00 CHIPúú€úúúúú€ú€ú
|
||
2060: 54 45 53 54 0D 2A 0D 54 45 20 36 34 0D 00 00 00 TESTú*úTEú64úúúú
|
||
|
||
This is an eprom cartridge. It has 1 2764 (8Kb) which holds the base
|
||
eprom with the base menu, and 2 27256 eproms of which 8Kb parts are
|
||
banked into the $8000-9FFF area.
|
||
|
||
The bank selecting is done by writing to $DE00. The following bits are
|
||
used for bank decoding in $DE00 (0 being the LSB, 3 being the MSB).
|
||
|
||
Bit# 76543210
|
||
xx10xx32
|
||
|
||
Any bank value below 4 or above 11 switches in the base bank (bank 0).
|
||
|
||
The bit values for each eprom bank are :
|
||
|
||
eprom bank 1 : xx00xx01
|
||
eprom bank 2 : xx01xx01
|
||
eprom bank 3 : xx10xx01
|
||
eprom bank 4 : xx11xx01
|
||
eprom bank 5 : xx00xx10
|
||
eprom bank 6 : xx01xx10
|
||
eprom bank 7 : xx10xx10
|
||
eprom bank 8 : xx11xx10
|
||
|
||
Setting bit 7 high will switch off EXROM.
|
||
|
||
|
||
==========================================================================
|
||
|
||
|
||
25. Dela EP7x8
|
||
|
||
Size - 8Kb to 64kb sizes (1 to 8 banks of 8Kb each)
|
||
GAME - inactive (0)
|
||
EXROM - active (1)
|
||
Load address - $8000-9FFF
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
0000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
0010: 00 00 00 40 01 00 00 19 00 01 00 00 00 00 00 00 úúú@úúúúúúúúúúúú
|
||
0020: 44 45 4C 41 20 45 50 37 78 38 00 00 00 00 00 00 DELAúEP7x8úúúúúú
|
||
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 úúúúúúúúúúúúúúúú
|
||
0040: 43 48 49 50 00 00 20 10 00 00 00 00 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
0050: 09 80 5E FE C3 C2 CD 38 30 78 A2 FF 9A D8 8E 16 ú€^þÃÂÍ80x¢úšØŽú
|
||
...
|
||
2050: 43 48 49 50 00 00 20 10 00 00 00 01 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
2060: 94 83 A0 83 C3 C2 CD 38 30 02 BB 5A 30 5F EE 3D ”ƒ ƒÃÂÍ80ú»Z0_î=
|
||
|
||
This is an eprom cartridge. It has 8 8Kb banks of which the first holds
|
||
the base menu, the other eproms can be banked into the $8000-9FFF area.
|
||
|
||
The bank selecting is done by writing to $DE00. Each low bit is used to
|
||
bank in the respective eprom. If all bits are high then the EXROM is
|
||
switched off.
|
||
|
||
The bit values for each eprom bank is:
|
||
|
||
eprom bank 1 : 11111110 ($FE) (base eprom)
|
||
eprom bank 2 : 11111101 ($FD)
|
||
eprom bank 3 : 11111011 ($FB)
|
||
eprom bank 4 : 11110111 ($F7)
|
||
eprom bank 5 : 11101111 ($EF)
|
||
eprom bank 6 : 11011111 ($DF)
|
||
eprom bank 7 : 10111111 ($BF)
|
||
eprom bank 8 : 01111111 ($7F)
|
||
|
||
EXROM off : 11111111 ($FF)
|
||
|
||
|
||
==========================================================================
|
||
|
||
|
||
26. Dela EP256
|
||
|
||
Size - 8Kb to 262kb sizes (1 to 33 banks of 8Kb each)
|
||
GAME - inactive (0)
|
||
EXROM - active (1)
|
||
Load address - $8000-9FFF
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
0000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
0010: 00 00 00 40 01 00 00 1A 00 01 00 00 00 00 00 00 úúú@úúúúúúúúúúúú
|
||
0020: 44 45 4C 41 20 45 50 32 35 36 00 00 00 00 00 00 DELAúEP256úúúúúú
|
||
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 úúúúúúúúúúúúúúúú
|
||
0040: 43 48 49 50 00 00 20 10 00 00 00 00 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
0050: 00 85 5E FE C3 C2 CD 38 30 93 0D 2B 2B 2B 20 45 ú…^þÃÂÍ80“ú+++úE
|
||
...
|
||
2050: 43 48 49 50 00 00 20 10 00 00 00 01 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
2060: 09 80 28 80 C3 C2 CD 38 30 78 A2 05 8E 16 D0 20 ú€(€ÃÂÍ80x¢úŽúÐú
|
||
...
|
||
4060: 43 48 49 50 00 00 20 10 00 00 00 02 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
4070: 0B 80 BC FE C3 C2 CD 38 30 DC 10 8E 16 D0 20 87 ú€¼þÃÂÍ80ÜúŽúÐú‡
|
||
...
|
||
6070: 43 48 49 50 00 00 20 10 00 00 00 03 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
6080: 09 80 F6 8E C3 C2 CD 38 30 A2 C8 8E 16 D0 20 .. ú€öŽÃÂÍ80¢ÈŽúÐú.
|
||
...
|
||
8080: 43 48 49 50 00 00 20 10 00 00 00 04 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
8090: 94 83 A0 83 C3 C2 CD 38 30 02 BB 5A 30 5F EE 3D ”ƒ ƒÃÂÍ80ú»Z0_î=
|
||
|
||
This is an eprom cartridge. It has 33 8Kb banks of which the first
|
||
holds the base menu, the other eproms can be banked into the $8000-9FFF
|
||
area.
|
||
|
||
The bank selecting is done by writing to $DE00.
|
||
|
||
The values for the (extra) eprom banks are:
|
||
|
||
eprom banks 1- 8 : $38-3F
|
||
eprom banks 9-16 : $28-2F
|
||
eprom banks 17-24 : $18-1F
|
||
eprom banks 25-32 : $08-0F
|
||
|
||
Setting bit 7 high will switch off EXROM.
|
||
|
||
|
||
==========================================================================
|
||
|
||
|
||
27. Rex EP256
|
||
|
||
Size - 8Kb to 262kb sizes (1 bank of 8Kb and 1 to 8 banks of either
|
||
8Kb, 16Kb or 32Kb)
|
||
GAME - inactive (0)
|
||
EXROM - active (1)
|
||
Load address - $8000-9FFF
|
||
|
||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ASCII
|
||
----------------------------------------------- ----------------
|
||
0000: 43 36 34 20 43 41 52 54 52 49 44 47 45 20 20 20 C64úCARTRIDGEúúú
|
||
0010: 00 00 00 40 01 00 00 1B 00 01 00 00 00 00 00 00 úúú@úúúúúúúúúúúú
|
||
0020: 52 45 58 20 45 50 32 35 36 00 00 00 00 00 00 00 REXúEP256úúúúúúú
|
||
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 úúúúúúúúúúúúúúúú
|
||
0040: 43 48 49 50 00 00 20 10 00 00 00 00 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
0050: 09 80 C1 FE C3 C2 CD 38 30 20 A3 FD 20 50 FD 20 ú€ÁþÃÂÍ80ú£ýúPýú
|
||
...
|
||
2050: 43 48 49 50 00 00 20 10 00 00 00 01 80 00 20 00 CHIPúúúúúúúú€úúú
|
||
2060: 09 80 F2 8F C3 C2 CD 38 30 A2 C8 8E 16 D0 20 A3 ú€ò<E282AC>ÃÂÍ80¢ÈŽúÐú£
|
||
...
|
||
4060: 43 48 49 50 00 00 40 10 00 00 00 02 80 00 40 00 CHIPúú@úúúúú€ú@ú
|
||
4070: 09 80 09 80 C3 C2 CD 38 30 58 D8 20 84 FF 20 8A ú€ú€ÃÂÍ80XØú„úúŠ
|
||
|
||
This is an eprom cartridge. It has 9 eprom sockets, of which the first
|
||
holds the base eprom with the base menu which is an 8Kb eprom, the
|
||
other eprom sockets can handle 8Kb, 16Kb or 32Kb eproms, of which 8kb
|
||
can be banked into the $8000-9FFF area.
|
||
|
||
The bank selecting is done by writing to $DFA0. Bits 2, 1 and 0
|
||
determine which socket is used and bits 5 and 4 are used to select an
|
||
8Kb piece of the eprom.
|
||
|
||
The possible values for bits 5 and 4 for the (extra) eprom banks are:
|
||
|
||
8Kb : 3, 2, 1, 0
|
||
|
||
16Kb bank 0 : 2, 0
|
||
16Kb bank 1 : 3, 1
|
||
|
||
32Kb bank 0 : 0
|
||
32Kb bank 1 : 1
|
||
32Kb bank 2 : 2
|
||
32Kb bank 3 : 3
|
||
|
||
Reading from $DFC0 switches off the EXROM.
|
||
Reading from $DFE0 switches on the EXROM.
|
||
|
||
|