From 7587f1fbba4559c0cae890f02c72077e06d72241 Mon Sep 17 00:00:00 2001 From: lynchaj <86925539+lynchaj@users.noreply.github.com> Date: Mon, 19 Jul 2021 14:46:33 -0400 Subject: [PATCH 1/2] Update dbgmon.asm --- Source/Apps/ramtest/dbgmon.asm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/Source/Apps/ramtest/dbgmon.asm b/Source/Apps/ramtest/dbgmon.asm index 393fafd5..bcf8b323 100644 --- a/Source/Apps/ramtest/dbgmon.asm +++ b/Source/Apps/ramtest/dbgmon.asm @@ -908,6 +908,31 @@ FILL_MEM: 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 ; DATA BUS FAIL HANDLER ROUTINE + INC A ; GET NEXT VALUE + JP NZ,DATABUSCHECK ; REPEAT FOR ALL 256 VALUES + +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: LD HL,TXT_RAM_TEST_MAIN ; POINT AT RAM TEST MAIN MENU TEXT CALL MSG ; PRINT MENU TEXT LABEL @@ -1139,6 +1164,11 @@ TXT_RAM_FAIL: .DB "RAM FAIL, 32KB PAGE NUMBER: " .DB CR,LF,ENDT +TXT_DATA_BUS_FAIL: + .DB CR,LF + .DB "DATA BUS FAIL, VALUE =" + .DB ENDT + TXT_SKIP_16: .DB CR,LF .DB "SKIPPING PAGE 0F " From 3349f682136e65c25e57cc4cfe37202bea139351 Mon Sep 17 00:00:00 2001 From: lynchaj <86925539+lynchaj@users.noreply.github.com> Date: Mon, 19 Jul 2021 15:37:33 -0400 Subject: [PATCH 2/2] Update dbgmon.asm --- Source/Apps/ramtest/dbgmon.asm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Source/Apps/ramtest/dbgmon.asm b/Source/Apps/ramtest/dbgmon.asm index bcf8b323..f5d5c79f 100644 --- a/Source/Apps/ramtest/dbgmon.asm +++ b/Source/Apps/ramtest/dbgmon.asm @@ -919,9 +919,12 @@ 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 ; DATA BUS FAIL HANDLER ROUTINE - INC A ; GET NEXT VALUE + 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 @@ -1169,6 +1172,11 @@ TXT_DATA_BUS_FAIL: .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: .DB CR,LF .DB "SKIPPING PAGE 0F "