Transtape

From CPCWiki - THE Amstrad CPC encyclopedia!
Revision as of 13:08, 16 October 2014 by Cpcmaniaco (Talk | contribs) (Pictures)

Jump to: navigation, search

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.
  • When the black button is pressed, the ROM is paged into the range &0000-&3fff and executes it at &0000. This checks the BASIC ROM version, and clears the extra ram if a BASIC ROM from a CPC6128 is found.

Code:

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
  • Doesn't appear to capture the hardware state like the Multiface does. Code in the ROM reads the PPI state, AY registers, and CRTC registers 12,13,14 and 15 and stores there values and restores them later.
  • 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.

  • The same plastic case is used by the Spectrum version of this interface. The spectrum has two switches on the top. One of which chooses load/save. In the Amstrad these holes are filled with plastic caps.

Pictures

Manual

Downloads

Weblinks

Some info can be found here (French)