Difference between revisions of "Transtape"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(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.
  
[code]
+
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
[/code]
+
  
 
* Uses NMI
 
* Uses NMI

Revision as of 09:48, 6 December 2013

A Spanish Hacking Device from HM (Hard Micro, S.A.).

Transtape


Please add more info here....

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

Downloads

Weblinks

Some info can be found here (French)