Difference between revisions of "Transtape"
From CPCWiki - THE Amstrad CPC encyclopedia!
(→Technical) |
(→Technical) |
||
Line 13: | Line 13: | ||
* Black button pages their ROM into the range &0000-&3fff and executes it at &0000. This checks the ROM version, and clears the extra ram if a CPC6128 BASIC ROM is found. | * Black button pages their ROM into the range &0000-&3fff and executes it at &0000. This checks the ROM version, and clears the extra ram if a CPC6128 BASIC ROM is found. | ||
− | + | 0000 f3 di ;; disable maskable interrupts | |
− | 0000 f3 di ;; disable maskable interrupts | + | 0001 0100df ld bc,0df00h ;; select upper rom 0 |
− | 0001 0100df ld bc,0df00h ;; select upper rom 0 | + | 0004 ed49 out (c),c |
− | 0004 ed49 out (c),c | + | 0006 01817f ld bc,7f81h ;; enable upper rom (mode 1 too) |
− | 0006 01817f ld bc,7f81h ;; enable upper rom (mode 1 too) | + | 0009 ed49 out (c),c |
− | 0009 ed49 out (c),c | + | 000b 31febf ld sp,0bffeh ;; setup stack which is not initialised after reset |
− | 000b 31febf ld sp,0bffeh ;; setup stack which is not initialised after reset | + | |
− | 000e 3a02c0 ld a,(0c002h) ;; read BASIC ROM version number | + | 000e 3a02c0 ld a,(0c002h) ;; read BASIC ROM version number |
− | 0011 fe02 cp 02h ;; CPC6128? | + | 0011 fe02 cp 02h ;; CPC6128? |
− | 0013 cc2e0c call z,0c2eh ;; erase extra RAM | + | 0013 cc2e0c call z,0c2eh ;; erase extra RAM |
− | ;; this appears to set it up for a reset.. | + | ;; this appears to set it up for a reset.. |
− | 0016 210000 ld hl,0000h | + | 0016 210000 ld hl,0000h |
− | 0019 e5 push hl | + | 0019 e5 push hl |
− | 001a e5 push hl | + | 001a e5 push hl |
− | 001b c30038 jp 3800h ;; I think the hardware monitors for address 3800h and if found disables the ROM | + | 001b c30038 jp 3800h ;; I think the hardware monitors for address 3800h and if found disables the ROM |
− | + | ||
* Uses NMI | * Uses NMI |
Revision as of 09:48, 6 December 2013
A Spanish Hacking Device from HM (Hard Micro, S.A.).
Please add more info here....
Contents
Technical
- Uses a 16KB ROM paged into memory at &0000.
- Uses a 8KB static RAM paged into memory at &c000.
- ROM is paged into the range &0000-&3fff when the red button is pressed and the NMI vector is executed.
- Black button pages their ROM into the range &0000-&3fff and executes it at &0000. This checks the ROM version, and clears the extra ram if a CPC6128 BASIC ROM is found.
0000 f3 di ;; disable maskable interrupts 0001 0100df ld bc,0df00h ;; select upper rom 0 0004 ed49 out (c),c 0006 01817f ld bc,7f81h ;; enable upper rom (mode 1 too) 0009 ed49 out (c),c 000b 31febf ld sp,0bffeh ;; setup stack which is not initialised after reset
000e 3a02c0 ld a,(0c002h) ;; read BASIC ROM version number 0011 fe02 cp 02h ;; CPC6128? 0013 cc2e0c call z,0c2eh ;; erase extra RAM
;; this appears to set it up for a reset.. 0016 210000 ld hl,0000h 0019 e5 push hl 001a e5 push hl 001b c30038 jp 3800h ;; I think the hardware monitors for address 3800h and if found disables the ROM
- Uses NMI
- When a write happens to their RAM it appears to write through to the RAM behind??
- Menu code is at offset &3810 and is copied into RAM at &A200.
- Uses port FBF0 (output), FBFF (input). Don't know the exact functions yet.
writing 0 to fbf0 disables it's internal rom.
Pictures
Manual
- Transtape Manual (pdf) (spanish)
Downloads
- Transtape Rom dump (zipped rom file)