mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
Added Address Bus verification
Verify Address Bus functionality prior to starting individual RAM memory location test
This commit is contained in:
@@ -936,6 +936,45 @@ DATABUSFAIL:
|
||||
CALL MSG ; DISPLAY IT
|
||||
JP SERIALCMDLOOP ; AND BACK TO COMMAND LOOP
|
||||
|
||||
; VERIFY ADDRESS 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
|
||||
LD ($0000),A ; WRITE TO LOWEST RAM ADDRESS
|
||||
LD HL,$0001 ; INITIALIZE HL TO CHECK A0
|
||||
|
||||
ADDRBUSCHECK:
|
||||
LD (HL),$FF ; WRITE ALL ONES INTO HL ADDRESS
|
||||
LD C,($0000) ; READ VALUE FROM LOWEST RAM ADDRESS
|
||||
CP C ; IS IT SAME AS WRITTEN? SHOULD BE 0
|
||||
JP NZ,ADDRBUSFAIL ; NO? ADDR BUS FAIL HANDLER ROUTINE
|
||||
PUSH HL ; STORE HL, FOR COPY TO BC
|
||||
POP BC ; RETRIEVE BC (SAME AS HL)
|
||||
ADD HL,BC ; INCREMENT TO NEXT ADDR LINE
|
||||
LD A,H ; WHICH ADDRESS LINE ARE WE AT
|
||||
CP $80 ; ARE WE AT A15?
|
||||
JP NZ,ADDRBUSCHECK ; NO? REPEAT FOR ALL 15 VALUES
|
||||
LD HL,TXT_ADDR_BUS_PASS ; YES? POINT AT ADDR BUS PASS TEXT
|
||||
CALL MSG ; PRINT ADDR BUS PASS LABEL
|
||||
JP MEMSIZELOOP ; CONTINUE WITH REST OF RAM TEST
|
||||
|
||||
ADDRBUSFAIL:
|
||||
PUSH HL ; STORE FAILED ADDR LINE VALUE
|
||||
LD HL,TXT_ADDR_BUS_FAIL ; POINT AT ADDR BUS FAIL TEXT
|
||||
CALL MSG ; PRINT ADDR BUS FAIL LABEL
|
||||
POP HL ; RETRIEVE FAILED ADDR LINE VALUE
|
||||
LD A,H ; PRINT UPPER HALF OF ADDRESS
|
||||
PUSH HL ; STORE FAILED ADDR LINE VALUE
|
||||
CALL HXOUT ; PRINT HIGH ADDR HALF THAT FAILED
|
||||
POP LH ; RETRIEVE FAILED ADDR LINE VALUE
|
||||
LD A,L ; PRINT LOWER HALF OF ADDRESS
|
||||
CALL HXOUT ; PRINT LOW ADDR HALF 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
|
||||
@@ -1177,6 +1216,16 @@ TXT_DATA_BUS_PASS:
|
||||
.DB "DATA BUS PASS "
|
||||
.DB CR,LF,ENDT
|
||||
|
||||
TXT_ADDR_BUS_FAIL:
|
||||
.DB CR,LF
|
||||
.DB "ADDR BUS FAIL, VALUE ="
|
||||
.DB ENDT
|
||||
|
||||
TXT_ADDR_BUS_PASS:
|
||||
.DB CR,LF
|
||||
.DB "ADDR BUS PASS "
|
||||
.DB CR,LF,ENDT
|
||||
|
||||
TXT_SKIP_16:
|
||||
.DB CR,LF
|
||||
.DB "SKIPPING PAGE 0F "
|
||||
|
||||
Reference in New Issue
Block a user