149
17.12.2022, 15:09 Uhr
kaiOr
|
Zitat: | wpwsaw schrieb Problem ist nur, wie bekomme ich ein Ergebnis zu sehen. Die Ausgabe auf den Monitor klappt noch nicht. |
Wie Rüdiger schrieb, es genügt wenn ein Programm nach gefundenem Fehler in Endlosschleife auf die defekte Speicheradresse schreibt. Dann kann man mit dem Oszi und /WR als Trigger ausbimmeln welche Reihe RAM den /CAS abbekommt (oder wenn garnichts selektiert wird rückwärts suchen). Schreiben tut man den fehlerhaften Wert (sofern das Prüfmuster bekannt ist) oder besser Prüfmuster XOR Rückgabewert, damit ist am verdächtigen U2164D der Pin DIN auf High bei /WR. Ist keiner auf High kannst Du z.B. den Bustreiber suchen an dem es verlohren geht. Solange defekter RAM vorliegt sollte man eh den Stack nicht verwenden und die Programme werden schnell unübersichtlich (kein PUSH/POP/CALL/RET etc.).
Quellcode: | ORG 0C000h fcom EQU 0D000h lcom EQU 0FFFFh fbk EQU 0 lbk EQU 0BFFFh frstbk EQU 1 baenke EQU 4 ;bk0 xxx001xxb ;bk2 xxx011xxb ;bk1 xxx101xxb ;bk3 xxx111xxb
;ROM nach RESET ab 0000h UND ab C000h eingeblendet ;nach dem ersten /IORQ nur noch ab C000h di jp 0C004h
ld a,0CFh ;PIO Mode 3 out (0EEh), a ld a,80h ;A7 als Input out (0EEh), a ld a,40h ;nur MEMDI aktiv out (0ECh), a ld d, baenke + 1 ld e, frstbk ld hl, fcom ld bc, lcom - fcom + 1 loop ld a, 0AAh ;Testmuster ld (hl), a cp (hl) jr nz, fail cpl ;55h ld (hl), a cp (hl) jr nz, fail inc hl dec bc ld a, b or c jr nz, loop dec d jr z, stop ld hl, fbk ld bc, lbk - fbk + 1 in a, (0ECh) or 100b ;xxxxx1xxb dec e jr z, skip ld e, -1 add a, 1000b ;01100b...10100b...11100b skip out (0ECh), a jr loop stop halt fail ex af,af' ;rette Akkumulator in a, (74H) ;Hupe ex af,af' xor (hl) ;falsche Bits auf 1 setzen fail1 ld (hl), a jr fail1
|
Nach erfolgreichem Abschluss geht die CPU auf HALT. Das Prog. testet erst den COM-Bereich (D000h-FFFFh), der gehört physik. zur Bank 0 muss aber unabh. von dieser aktivierbar sein. Danach werden Bank 0/2/1/3 (jewl. von 0000h-BFFFh) getestet. ROM ausblenden und den COM-Bereich von C000h-CFFFh testen fehlt noch...
Wenn ich was nicht beachtet habe, dann weil ich immer noch keinen MPC habe.
MfG Kai Dieser Beitrag wurde am 17.12.2022 um 15:13 Uhr von kaiOr editiert. |