Browse Source

Merge pull request #216 from lynchaj/patch-12

Update dbgmon.asm, add data bus verification routine before beginning RAM test
pull/217/head
Wayne Warthen 5 years ago
committed by GitHub
parent
commit
4df77e3fac
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 38
      Source/Apps/ramtest/dbgmon.asm

38
Source/Apps/ramtest/dbgmon.asm

@ -908,6 +908,34 @@ FILL_MEM:
DORAMTEST: DORAMTEST:
; VERIFY DATA BUS FUNCTIONALITY BEFORE STARTING MEMORY TEST
LD A,$80 ; FIRST 32KB PAGE ONLY
LD (PAGE_NUM),A ; STORE WORKING PAGE NUMBER
OUT (MPCL_ROM),A ; SWITCH OUT LOWER 32KB ROM PAGE
OUT (MPCL_RAM),A ; SWITCH IN LOWER 32KB RAM PAGE
LD A,$00 ; INITIALIZE A TO 0
DATABUSCHECK:
LD ($0000),A ; WRITE TO LOWEST RAM ADDRESS
LD C,($0000) ; READ VALUE FROM LOWEST RAM ADDRESS
CP C ; IS IT SAME AS WRITTEN?
JP NZ,DATABUSFAIL ; NO? DATA BUS FAIL HANDLER ROUTINE
INC A ; YES, GET NEXT VALUE
JP NZ,DATABUSCHECK ; REPEAT FOR ALL 256 VALUES
LD HL,TXT_DATA_BUS_PASS ; POINT AT DATA BUS PASS TEXT
CALL MSG ; PRINT DATA BUS PASS LABEL
JP MEMSIZELOOP ; CONTINUE WITH REST OF RAM TEST
DATABUSFAIL:
PUSH A ; STORE FAILED VALUE
LD HL,TXT_DATA_BUS_FAIL ; POINT AT DATA BUS FAIL TEXT
CALL MSG ; PRINT DATA BUS FAIL LABEL
POP A ; RETRIEVE FAILED VALUE
CALL HXOUT ; SHOW VALUE THAT FAILED
LD HL,TCRLF ; CR & LF
CALL MSG ; DISPLAY IT
JP SERIALCMDLOOP ; AND BACK TO COMMAND LOOP
MEMSIZELOOP: MEMSIZELOOP:
LD HL,TXT_RAM_TEST_MAIN ; POINT AT RAM TEST MAIN MENU TEXT LD HL,TXT_RAM_TEST_MAIN ; POINT AT RAM TEST MAIN MENU TEXT
CALL MSG ; PRINT MENU TEXT LABEL CALL MSG ; PRINT MENU TEXT LABEL
@ -1139,6 +1167,16 @@ TXT_RAM_FAIL:
.DB "RAM FAIL, 32KB PAGE NUMBER: " .DB "RAM FAIL, 32KB PAGE NUMBER: "
.DB CR,LF,ENDT .DB CR,LF,ENDT
TXT_DATA_BUS_FAIL:
.DB CR,LF
.DB "DATA BUS FAIL, VALUE ="
.DB ENDT
TXT_DATA_BUS_PASS:
.DB CR,LF
.DB "DATA BUS PASS "
.DB CR,LF,ENDT
TXT_SKIP_16: TXT_SKIP_16:
.DB CR,LF .DB CR,LF
.DB "SKIPPING PAGE 0F " .DB "SKIPPING PAGE 0F "

Loading…
Cancel
Save