Difference between revisions of "Transtape"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(Technical)
(Technical)
Line 19: Line 19:
 
  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

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)