Dies ist eine alte Version des Dokuments!
ROM-Inhalt auslesen
Der ROM-Inhalt der maskenprogrammierten U881 kann mit etwas Hilfe ausgelesen werden (https://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=4440, https://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=8664)
Mit einem Spezial-RESET (7,5 V an RESET) wird der Masken-ROM übergangen und ein Test-ROM auf den unteren 40h Byte eingeblendet (s. Kieser/Meder) Mit dem 7,5V-Reset wird ein zusätzlicher, interner Test-ROM aufgerufen und dieser Zustand bleibt solange erhalten, bis ein normaler Reset erfolgt. Für ein erneuten Spezial-RESET muss die Schaltung immer stromlos gemacht werden oder man benutzt folgende Schaltung:
Laut Unterlagen werden bei dem Spezialreset die ersten 64 Byte durch einen Boot-ROM ersetzt und der Rechner arbeitet diese ab anstelle des eigentlichen ROM-Inhaltes und springt dann auf Adresse 0x0812 zum extern angeschlossenen ROM.
[code] ;———————————————————- ; SAVE Boot-ROM to E400H ;———————————————————-
org 0E000h
srp #%10 ld R14,#%00 ; From 0000H (Boot-ROM) ld R15,#%00 ld R12,#%E4 ; To E400H (RAM-Buffer) ld R13,#%00
ld R0,#64 ; 64 Bytes (length of Boot-ROM)
M1: ldc R10,@RR14 ; read Byte
ldc @RR12,R10 ; write Byte incw RR12 ; next to incw RR14 ; next from djnz R0,M1 ; repeat
jp 0812H ; restart Ju-Te
[/code]
HeikoS:
Wenn das Unterscheidungs-Signal /DM für die Adressdekodierung nicht verwendet wird (Unterscheidung zw. externem Programmspeicher und externem Datenspeicher), sind LDC und LDE identisch in der Wirkung. Das ist ja beim Ju-Te der Fall. Aber in der Wirkung in Bezug auf das Auslesen ersten 64 Bytes Boot/Masken-ROM sind LDC und LDE nicht identisch.
LDC → Masken-ROM wird gelesen LDE → Boot-ROM wird gelesen
Die Unterschiede bei LDC und LDE betreffen nur die unteren 64 Bytes. Der Bereich 040-7FF ist mit beiden Befehlen lesbar.
Im original Zilog User Manual (https://www.zilog.com/docs/um0016.pdf, S. 19) steht außerdem noch folgendes:
The internal Program Memory is one-time programmable (OTP) or mask programmable dependent on the specific device. A ROM protect feature prevents dumping of the ROM contents by inhibiting execution of the LDC, LDCI, LDE, and LDEI instructions to Pro- gram Memory in all modes. ROM look-up tables cannot be used with this feature. The ROM Protect option is mask-programmable, to be selected when the ROM code is submitted.
Möglicherweise wurde beim U881-Clone des Z8 die 'ROM protection' nicht umsetzt? Oder sie wurde nicht verwendet?