041
06.09.2023, 14:06 Uhr
HeikoS
|
Liebe EMR-Freunde,
ich kann voll und ganz bestätigen, dass das Auslesen des Masken-ROMs (mit den LDC-Befehlen, aus dem externen Programmspeicher gestartet) funktioniert, wie im Thread 4440 von Klaus beschrieben. Die kleine Routine unten, auf dem Ju-Te als Assembler-Code gestartet, kopiert tatsächlich den Masken-ROM, im Gegensatz zur SAVE-Routine des Ju-Te, die den Boot-ROM liest, in den ersten 64 Bytes.
Das ist wirklich sehr erstaunlich. Welche anderen Zugriffsmethoden auf Speicherbereiche gibt es denn noch, ausser den LDC-Befehlen? Naja, mit PUSH/POP und Stackpointer o.ä. ...ok. Ich müsste mir mal die SAVE-Route des Ju-Te anschauen, um zu sehen, wie er das macht.
Dass es aber vom Assembler-Befehl abhängt, welcher ROM-Bereich von 0-3FH angesprochen wird (der SAVE-Befehl des Ju-Te 4K OS läuft ja auch im externen Speicher, jenau wie das kleine Assembler-Programm unten und das Programm von Klaus) ist sehr interessant.
Wer dafür eine Erklärung hat, könnte sich ja mal melden.
Damit ist das BM007 nun auch vollständig ausgelesen. Der Bereich von 0-3FH unterscheidet sich nicht von BM011, wie schon vermutet.
Viele Grüße, Heiko
Quellcode: | ;---------------------------------------------------------- ; SAVE Boot-ROM area 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 area)
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
|
Dieser Beitrag wurde am 06.09.2023 um 16:12 Uhr von HeikoS editiert. |