diff --git a/Source/HBIOS/dbgmon.asm b/Source/HBIOS/dbgmon.asm index 3bce3a34..879beb5e 100644 --- a/Source/HBIOS/dbgmon.asm +++ b/Source/HBIOS/dbgmon.asm @@ -931,8 +931,6 @@ DSKY_ENTRY: ;_____________________________________________________________________________ ; CALL MTERM_INIT ; INIT 8255 FOR MTERM - LD HL,CPUUP ; SET POINTER TO DATA BUFFER - CALL SEGDISPLAY ; DISPLAY ; ;__COMMAND_PARSE______________________________________________________________ ; @@ -940,6 +938,9 @@ DSKY_ENTRY: ;_____________________________________________________________________________ ; FRONTPANELLOOP: + LD HL,CPUUP ; SET POINTER TO DATA BUFFER + CALL DSKY_SHOWRAW ; DISPLAY + CALL KB_GET ; GET KEY FROM KB CP 10H ; IS PORT READ? @@ -978,44 +979,20 @@ DOPORTREAD: CALL GETPORT ; GET PORT INTO A PORTREADLOOP: LD C,A ; STORE PORT IN "C" - SRL A ; ROTATE HIGH NIB TO LOW - SRL A ; - SRL A ; - SRL A ; - LD (DISPLAYBUF+2),A ; SHOW HIGH NIB IN DISP 2 - LD A,C ; RESTORE PORT VALUE INTO "A" - AND 0FH ; CLEAR HIGH NIB, LEAVING LOW - LD (DISPLAYBUF+3),A ; SHOW LOW NIB IN DISP 3 + LD DE,DISPLAYBUF+2 ; POINT TO POS 2 IN BUF + CALL PUTVALUE ; DISPLAY PORT NUM IN A,(C) ; GET PORT VALUE FROM PORT IN "C" - LD C,A ; STORE VALUE IN "C" - SRL A ; ROTATE HIGH NIB TO LOW - SRL A ; - SRL A ; - SRL A ; - LD (DISPLAYBUF+6),A ; SHOW HIGH NIB IN DISP 6 - LD A,C ; RESTORE VALUE TO "A" - AND 0FH ; CLEAR HIGH NIB, LEAVING LOW - LD (DISPLAYBUF+7),A ; DISPLAY LOW NIB IN DISP 7 - LD A,10H ; CLEAR OTHER DISPLAYS - LD (DISPLAYBUF+5),A ; - LD (DISPLAYBUF+4),A ; - LD A,13H ; "P" - LD (DISPLAYBUF+0),A ; STORE IN DISP 0 - LD A,14H ; "O" - LD (DISPLAYBUF+1),A ; STORE IN DISP 1 - LD HL,DISPLAYBUF ; SET POINTER TO DISPLAY BUFFER + INC DE ; ADVANCE BUF PTR + INC DE ; ... TO LAST TWO POSITIONS + CALL PUTVALUE ; DISPLAY PORT VALUE CALL ENCDISPLAY ; DISPLAY BUFFER CONTENTS PORTREADGETKEY: CALL KB_GET ; GET KEY FROM KB CP 12H ; [CL] PRESSED, EXIT - JR Z,PORTREADEXIT ; + JR Z,FRONTPANELLOOP ; CP 10H ; [PR] PRESSED, PROMPT FOR NEW PORT JR Z,DOPORTREAD ; JR PORTREADGETKEY ; NO VALID KEY, LOOP -PORTREADEXIT: - LD HL,CPUUP ; SET POINTER TO DATA BUFFER - CALL SEGDISPLAY ; DISPLAY - JP FRONTPANELLOOP ; ; ;__DOPORTWRITE________________________________________________________________ ; @@ -1027,28 +1004,22 @@ PORTREADEXIT: DOPORTWRITE: CALL GETPORT ; GET PORT INTO A PORTWRITELOOP: - LD C,A ; STORE PORT IN "C" - SRL A ; ROTATE HIGH NIB INTO LOW - SRL A ; - SRL A ; - SRL A ; - LD (DISPLAYBUF+2),A ; DISPLAY HIGH NIB IN DISPLAY 2 - LD A,C ; RESTORE PORT VALUE INTO "A" - AND 0FH ; CLEAR OUT HIGH NIB - LD (DISPLAYBUF+3),A ; DISPLAY LOW NIB IN DISPLAY 3 - LD A,10H ; CLEAR OUT DISPLAYS 4 AND 5 - LD (DISPLAYBUF+5),A ; - LD (DISPLAYBUF+4),A ; - LD A,13H ; DISPLAY "P" IN DISP 0 - LD (DISPLAYBUF+0),A ; - LD A,14H ; DISPLAY "O" IN DISP 1 - LD (DISPLAYBUF+1),A ; - LD HL,DISPLAYBUF ; POINT TO DISPLAY BUFFER + LD L,A ; SAVE PORT NUM + LD DE,DISPLAYBUF+2 ; POINT TO POS 2 IN BUF + CALL PUTVALUE ; DISPLAY PORT NUM CALL GETVALUE ; INPUT A BYTE VALUE, RETURN IN "A" + LD C,L ; RESTORE PORT NUM OUT (C),A ; OUTPUT VALUE TO PORT STORED IN "C" - LD HL,CPUUP ; SET POINTER TO DATA BUFFER - CALL SEGDISPLAY ; DISPLAY - JP FRONTPANELLOOP ; + LD DE,DISPLAYBUF+6 ; DISPLAY WRITTEN PORT VALUE + CALL PUTVALUE ; ... WITHOUT DP'S + CALL ENCDISPLAY ; DISPLAY BUFFER CONTENTS +PORTWRITEGETKEY: + CALL KB_GET ; GET KEY FROM KB + CP 12H ; [CL] PRESSED, EXIT + JR Z,FRONTPANELLOOP ; + CP 11H ; [PW] PRESSED, PROMPT FOR NEW PORT + JR Z,DOPORTWRITE ; + JR PORTWRITEGETKEY ; NO VALID KEY, LOOP ; ;__DOGO_______________________________________________________________________ ; @@ -1057,60 +1028,17 @@ PORTWRITELOOP: ; DOGO: CALL GETADDR ; GET ADDRESS INTO HL - JP (HL) ; GO THERE! -; -;__DODEPOSIT__________________________________________________________________ -; -; PERFORM DEPOSIT FRONT PANEL ACTION -; PANEL TEMPLATE "8888 88" -; POS 01234567 -;_____________________________________________________________________________ -; -DODEPOSIT: - CALL GETADDR ; GET ADDRESS INTO HL - PUSH HL -DEPOSITLOOP: - LD A,H ; - SRL A ; - SRL A ; - SRL A ; - SRL A ; - LD (DISPLAYBUF+0),A ; - LD A,H ; - AND 0FH ; - LD (DISPLAYBUF+1),A ; - LD A,L ; - SRL A ; - SRL A ; - SRL A ; - SRL A ; - LD (DISPLAYBUF+2),A ; - LD A,L ; - AND 0FH ; - LD (DISPLAYBUF+3),A ; - LD A,10H ; - LD (DISPLAYBUF+4),A ; - LD HL,DISPLAYBUF ; - CALL GETVALUE ; - POP HL ; - LD (HL),A ; -DEPOSITGETKEY: - CALL KB_GET ; GET KEY FROM KB - CP 12H ; [CL] PRESSED, EXIT - JR Z,DEPOSITEXIT ; - CP 13H ; [EN] PRESSED, INC ADDRESS AND LOOP - JR Z,DEPOSITFW ; - CP 14H ; [DE] PRESSED, PROMPT FOR NEW ADDRESS - JR Z,DODEPOSIT ; - JR DEPOSITGETKEY ; NO VALID KEY, LOOP -DEPOSITFW: - INC HL ; - PUSH HL ; STORE HL - JR DEPOSITLOOP ; -DEPOSITEXIT: - LD HL,CPUUP ; SET POINTER TO DATA BUFFER - CALL SEGDISPLAY ; DISPLAY - JP FRONTPANELLOOP ; + PUSH HL ; EXEC ADR TO TOS + LD HL,GOTO ; POINT TO "GO" MSG + CALL INITBUF + POP HL + LD DE,DISPLAYBUF+4 + LD A,H + CALL PUTVALUE + LD A,L + CALL PUTVALUE + CALL ENCDISPLAY ; DISPLAY + JP (HL) ; AND RUN ; ;__DOEXAMINE__________________________________________________________________ ; @@ -1121,44 +1049,24 @@ DEPOSITEXIT: ; DOEXAMINE: CALL GETADDR ; GET ADDRESS INTO HL - PUSH HL ; STORE HL EXAMINELOOP: - LD A,H ; MOVE HIGH BYTE IN "A" - SRL A ; SHOW HIGH NIBBLE IN DISP 0 - SRL A ; - SRL A ; - SRL A ; - LD (DISPLAYBUF+0),A ; - LD A,H ; RESTORE HIGH BYTE - AND 0FH ; CLEAR HIGH NIBBLE - LD (DISPLAYBUF+1),A ; DISPLAY LOW NIBBLE IN DISP 1 - LD A,L ; PUT LOW BYTE IN "A" - SRL A ; SHOW HIGH NIBBLE IN DISP 2 - SRL A ; - SRL A ; - SRL A ; - LD (DISPLAYBUF+2),A ; - LD A,L ; RESTORE LOW BYTE IN "A" - AND 0FH ; CLEAR OUT HIGH NIBBLE - LD (DISPLAYBUF+3),A ; DISPLAY LOW NIBBLE IN DISP 3 - LD A,10H ; CLEAR OUT DISP 4 - LD (DISPLAYBUF+4),A ; - LD A,(HL) ; GET VALUE FROM ADDRESS IN HL - SRL A ; DISPLAY HIGH NIB IN DISPLAY 6 - SRL A ; - SRL A ; - SRL A ; - LD (DISPLAYBUF+6),A ; + LD DE,DISPLAYBUF+0 + LD A,H + CALL PUTVALUE + LD A,L + CALL PUTVALUE + LD A,$10 + LD (DE),A + INC DE + LD (DE),A + INC DE LD A,(HL) ; GET VALUE FROM ADDRESS IN HL - AND 0FH ; CLEAR OUT HIGH NIBBLE - LD (DISPLAYBUF+7),A ; DISPLAY LOW NIBBLE IN DISPLAY 7 - LD HL,DISPLAYBUF ; POINT TO DISPLAY BUFFER + CALL PUTVALUE CALL ENCDISPLAY ; DISPLAY BUFFER ON DISPLAYS - POP HL ; RESTORE HL EXAMINEGETKEY: CALL KB_GET ; GET KEY FROM KB CP 12H ; [CL] PRESSED, EXIT - JR Z,EXAMINEEXIT ; + JP Z,FRONTPANELLOOP ; CP 13H ; [EN] PRESSED, INC ADDRESS AND LOOP JR Z,EXAMINEFW ; CP 15H ; [DE] PRESSED, PROMPT FOR NEW ADDRESS @@ -1166,12 +1074,44 @@ EXAMINEGETKEY: JR EXAMINEGETKEY ; NO VALID KEY, LOOP EXAMINEFW: INC HL ; HL++ - PUSH HL ; STORE HL JR EXAMINELOOP ; -EXAMINEEXIT: - LD HL,CPUUP ; SET POINTER TO DATA BUFFER - CALL SEGDISPLAY ; DISPLAY - JP FRONTPANELLOOP ; +; +;__DODEPOSIT__________________________________________________________________ +; +; PERFORM DEPOSIT FRONT PANEL ACTION +; PANEL TEMPLATE "8888 88" +; POS 01234567 +;_____________________________________________________________________________ +; +DODEPOSIT: + CALL GETADDR ; GET ADDRESS INTO HL +DEPOSITLOOP: + LD DE,DISPLAYBUF+0 + LD A,H + CALL PUTVALUE + LD A,L + CALL PUTVALUE + LD A,$10 + LD (DE),A + INC DE + LD (DE),A + CALL GETVALUE ; + LD (HL),A ; + LD DE,DISPLAYBUF+6 ; DISPLAY WRITTEN MEM VALUE + CALL PUTVALUE ; ... WITHOUT DP'S + CALL ENCDISPLAY ; DISPLAY BUFFER CONTENTS +DEPOSITGETKEY: + CALL KB_GET ; GET KEY FROM KB + CP 12H ; [CL] PRESSED, EXIT + JP Z,FRONTPANELLOOP ; + CP 13H ; [EN] PRESSED, INC ADDRESS AND LOOP + JR Z,DEPOSITFW ; + CP 14H ; [DE] PRESSED, PROMPT FOR NEW ADDRESS + JR Z,DODEPOSIT ; + JR DEPOSITGETKEY ; NO VALID KEY, LOOP +DEPOSITFW: + INC HL ; + JR DEPOSITLOOP ; ; ;__GETADDR____________________________________________________________________ ; @@ -1181,64 +1121,70 @@ EXAMINEEXIT: ;_____________________________________________________________________________ ; GETADDR: - PUSH BC ; STORE BC -GETADDR0: LD HL,ADDR ; INITIALIZE DISPLAYBUF - LD DE,DISPLAYBUF - LD BC,8 - LDIR -GETADDR1: - LD HL,DISPLAYBUF ; DISPLAY PROMPT + CALL INITBUF + JR GETVALW +; +;__GETVAL16___________________________________________________________________ +; +; GET 16 BIT VALUE FROM FRONT PANEL +; PANEL TEMPLATE "????8888" +; POS 01234567 +;_____________________________________________________________________________ +; +GETVALW: + LD A,80H ; + LD (DISPLAYBUF+4),A ; + LD (DISPLAYBUF+5),A ; + LD (DISPLAYBUF+6),A ; + LD (DISPLAYBUF+7),A ; +GETVALW1: CALL ENCDISPLAY ; -GETADDRLOOP: +GETVALWLOOP: CALL KB_GET ; CP 10H ; - JP M,GETADDRNUM ; NUMBER PRESSED, STORE IT + JP M,GETVALWNUM ; NUMBER PRESSED, STORE IT CP 13H ; EN PRESSED, DONE - JR Z,GETADDRDONE ; + JR Z,GETVALWDONE ; CP 12H ; CLEAR PRESSED, CLEAR - JR Z,GETADDR0 ; - JR GETADDRLOOP ; INVALID KEY, LOOP -GETADDRDONE: - LD HL,00H ; HL=0 + JR Z,GETVALW ; + JR GETVALWLOOP ; INVALID KEY, LOOP +GETVALWNUM: + OR $80 ; SET DP + LD C,A ; + LD A,(DISPLAYBUF+5) ; SHIFT BYTES IN DISPLAY BUF TO THE LEFT + LD (DISPLAYBUF+4),A ; + LD A,(DISPLAYBUF+6) ; + LD (DISPLAYBUF+5),A ; + LD A,(DISPLAYBUF+7) ; + LD (DISPLAYBUF+6),A ; + LD A,C ; DISPLAY KEYSTROKE IN RIGHT MOST DISPLAY (0) + LD (DISPLAYBUF+7),A ; + JR GETVALW1 ; +GETVALWDONE: LD A,(DISPLAYBUF+6) ; GET DIGIT IN DISPLAY 6 + AND $0F SLA A ; ROTATE IT TO HIGH NIBBLE SLA A ; SLA A ; SLA A ; LD C,A ; STORE IT IN "C" LD A,(DISPLAYBUF+7) ; GET DIGIT IN DISPLAY 7 - AND 0FH ; CLEAR HIGH NIBBLE + AND $0F OR C ; ADD IN NIBBLE STORED IN C LD L,A ; STORE IT IN LOW BYTE OF ADDRESS POINTER LD A,(DISPLAYBUF+4) ; GET DIGIT IN DISPLAY 4 + AND $0F SLA A ; ROTATE IT TO HIGH NIBBLE SLA A ; SLA A ; SLA A ; LD C,A ; STORE IT IN "C" LD A,(DISPLAYBUF+5) ; GET DIGIT IN DISPLAY 5 - AND 0FH ; CLEAR HIGH NIBBLE + AND $0F OR C ; ADD IN NIBBLE STORED IN "C" LD H,A ; STORE BYTE IN HIGH BYTE OF ADDRESS POINTER - LD A,10H ; CLEAR OUT DISPLAYS 4,5,6 & 7 - LD (DISPLAYBUF+7),A ; - LD (DISPLAYBUF+6),A ; - LD (DISPLAYBUF+5),A ; - LD (DISPLAYBUF+4),A ; - POP BC ; RESTORE BC RET -GETADDRNUM: - LD C,A ; - LD A,(DISPLAYBUF+5) ; SHIFT BYTES IN DISPLAY BUF TO THE LEFT - LD (DISPLAYBUF+4),A ; - LD A,(DISPLAYBUF+6) ; - LD (DISPLAYBUF+5),A ; - LD A,(DISPLAYBUF+7) ; - LD (DISPLAYBUF+6),A ; - LD A,C ; DISPLAY KEYSTROKE IN RIGHT MOST DISPLAY (0) - LD (DISPLAYBUF+7),A ; - JR GETADDR1 ; ; ;__GETPORT____________________________________________________________________ ; @@ -1247,61 +1193,22 @@ GETADDRNUM: ; POS 01234567 ;_____________________________________________________________________________ ; -;***use getvalue below after init of displaybuf GETPORT: - PUSH BC ; STORE BC -GETPORT0: LD HL,PORT ; INITIALIZE DISPLAYBUF - LD DE,DISPLAYBUF - LD BC,8 - LDIR -GETPORT1: - LD HL,DISPLAYBUF ; DISPLAY PROMPT - CALL ENCDISPLAY ; -GETPORTLOOP: - CALL KB_GET ; - CP 10H ; - JP M,GETPORTNUM ; NUMBER PRESSED, STORE IT - CP 13H ; EN PRESSED, DONE - JR Z,GETPORTDONE ; - CP 12H ; CLEAR PRESSED, CLEAR - JR Z,GETPORT0 - JR GETPORTLOOP ; INVALID KEY, LOOP -GETPORTDONE: - LD A,(DISPLAYBUF+6) ; - SLA A ; - SLA A ; - SLA A ; - SLA A ; - LD C,A ; - LD A,(DISPLAYBUF+7) ; - AND 0FH ; - OR C ; - LD C,A ; - LD A,10H ; - LD (DISPLAYBUF+7),A ; - LD (DISPLAYBUF+6),A ; - LD A,C ; - POP BC ; RESTORE BC - RET -GETPORTNUM: - LD C,A ; - LD A,(DISPLAYBUF+7) ; - LD (DISPLAYBUF+6),A ; - LD A,C ; - LD (DISPLAYBUF+7),A ; - JR GETPORT1 ; + CALL INITBUF + JR GETVALUE ; ;__GETVALUE___________________________________________________________________ ; -; GET VALUE FROM FRONT PANEL +; GET 8 BIT VALUE FROM FRONT PANEL ; PANEL TEMPLATE "??????88" ; POS 01234567 ;_____________________________________________________________________________ ; GETVALUE: - PUSH BC ; STORE BC - JR GETVALUECLEAR ; + LD A,80H ; + LD (DISPLAYBUF+6),A ; + LD (DISPLAYBUF+7),A ; GETVALUE1: CALL ENCDISPLAY ; GETVALUELOOP: @@ -1311,37 +1218,50 @@ GETVALUELOOP: CP 13H ; EN PRESSED, DONE JR Z,GETVALUEDONE ; CP 12H ; CLEAR PRESSED, CLEAR - JR Z,GETVALUECLEAR ; + JR Z,GETVALUE ; JR GETVALUELOOP ; INVALID KEY, LOOP -GETVALUEDONE: - LD A,(DISPLAYBUF+6) ; - SLA A ; - SLA A ; - SLA A ; - SLA A ; - LD C,A ; - LD A,(DISPLAYBUF+7) ; - AND 0FH ; - OR C ; - LD C,A ; - LD A,10H ; - LD (DISPLAYBUF+7),A ; - LD (DISPLAYBUF+6),A ; - LD A,C ; - POP BC ; RESTORE BC - RET GETVALUENUM: + OR $80 ; SET DP LD C,A ; LD A,(DISPLAYBUF+7) ; LD (DISPLAYBUF+6),A ; LD A,C ; LD (DISPLAYBUF+7),A ; JR GETVALUE1 ; -GETVALUECLEAR: - LD A,00H ; - LD (DISPLAYBUF+7),A ; - LD (DISPLAYBUF+6),A ; - JR GETVALUE1 ; +GETVALUEDONE: + LD A,(DISPLAYBUF+6) ; + AND $0F + RLCA ; + RLCA ; + RLCA ; + RLCA ; + LD C,A ; + LD A,(DISPLAYBUF+7) ; + AND $0F + OR C ; + RET +; +;__PUTVALUE___________________________________________________________________ +; +; INSERT HEX DIGITS OF A INTO AN ENCODED DSKY DISPLAY BUFFER +; AT POSTION SPECIFIED BY DE. ON RETURN, DE POINTS TO NEXT +; POSITION IN DISPLAY BUFFER. +;_____________________________________________________________________________ +; +PUTVALUE: + PUSH AF ; SAVE INCOMING VALUE + RLCA ; HIGH NIBBLE -> LOW NIBBLE + RLCA ; ... + RLCA ; ... + RLCA ; ... + AND $0F ; ISOLATE LOW NIBBLE + LD (DE),A ; PLACE DIGIT VALUE IN BUFFER + INC DE ; NEXT BUFFER POSITION + POP AF ; RECOVER ORIGINAL VALUE + AND $0F ; ISOLATE LOW NIBBLE + LD (DE),A ; PLACE DIGIT VALUE IN BUFFER + INC DE ; NEXT BUFFER POSITION + RET ; DONE ; ;__MTERM_INIT_________________________________________________________________ ; @@ -1362,9 +1282,28 @@ MTERM_INIT: ;_____________________________________________________________________________ ; KB_GET: + PUSH BC + PUSH DE PUSH HL ; SAVE HL CALL KY_GET ; GET A KEY POP HL ; RESTORE HL + POP DE + POP BC + RET +; +;__INITBUF____________________________________________________________________ +; +; INITIALIZE DISPLAY BUFFER FROM VALUE AT ADDRESS IN HL +;_____________________________________________________________________________ +; +INITBUF: + ;PUSH BC + ;PUSH DE + LD DE,DISPLAYBUF + LD BC,8 + LDIR + ;POP DE + ;POP BC RET ; ;__ENCDISPLAY_________________________________________________________________ @@ -1373,49 +1312,53 @@ KB_GET: ;_____________________________________________________________________________ ; ENCDISPLAY: + PUSH HL + LD HL,DISPLAYBUF + JR ENCBUF0 +; +;__ENCBUF_____________________________________________________________________ +; +; DISPLAY CONTENTS OF BUFFER AT HL DECODED PER SEGDECODE TABLE +;_____________________________________________________________________________ +; +ENCBUF: PUSH HL ; SAVE HL +ENCBUF0: PUSH AF ; SAVE AF PUSH BC ; SAVE BC PUSH DE ; SAVE DE LD DE,DECODEBUF ; DESTINATION FOR DECODED BYTES LD B,8 ; NUMBER OF BYTES TO DECODE -ENCDISPLAY1: +ENCBUF1: LD A,(HL) ; GET SOURCE BYTE INC HL ; BUMP TO NEXT BYTE FOR NEXT PASS + PUSH AF ; SAVE IT + AND $80 ; ISOLATE HI BIT (DP) + XOR $80 ; FLIP IT + LD C,A ; SAVE IN C + POP AF ; RECOVER ORIGINAL + AND $7F ; REMOVE HI BIT (DP) PUSH HL ; SAVE POINTER - LD HL,SEGDECODE - CALL ADDHLA + LD HL,SEGDECODE ; POINT TO DECODE TABLE + CALL ADDHLA ; OFFSET BY INCOMING VALUE LD A,(HL) ; GET DECODED VALUE + OR C ; RECOMBINE WITH DP VALUE LD (DE),A ; SAVE IN DEST BUF INC DE ; INC DEST BUF PTR POP HL ; RESTORE POINTER - DJNZ ENCDISPLAY1 ; LOOP THRU ALL BUF POSITIONS + DJNZ ENCBUF1 ; LOOP THRU ALL BUF POSITIONS LD HL,DECODEBUF ; POINT TO DECODED BUFFER - CALL SEGDISPLAY ; DISPLAY IT + CALL DSKY_SHOWRAW ; DISPLAY IT POP DE ; RESTORE DE POP BC ; RESTORE BC POP AF ; RESTORE AF POP HL ; RESTORE HL RET ; -;__SEGDISPLAY_________________________________________________________________ -; -; DISPLAY CONTENTS OF DISPLAYBUF IN DECODED HEX BITS 0-3 ARE DISPLAYED DIG, BIT 7 IS DP -; -;_____________________________________________________________________________ -; -;***remove this and replace occurences with dsky_showraw -SEGDISPLAY: - PUSH AF - PUSH BC - CALL DSKY_SHOWRAW - POP BC - POP AF - RET -; CPUUP .DB $84,$CB,$EE,$BB,$80,$BB,$EE,$84 ; "-CPU UP-" (RAW) ADDR .DB $17,$18,$19,$10,$00,$00,$00,$00 ; "Adr 0000" (ENCODED) PORT .DB $13,$14,$15,$16,$10,$10,$00,$00 ; "Port 00" (ENCODED) +GOTO .DB $1A,$14,$10,$10,$00,$00,$00,$00 ; "Go 0000" (ENCODED) ;_KB DECODE TABLE_____________________________________________________________ ; @@ -1438,15 +1381,13 @@ KB_DECODE: ; ;_HEX 7_SEG_DECODE_TABLE______________________________________________________ ; -; 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F, ,-,.,P,o -; AND WITH 7FH TO TURN ON DP +; SET BIT 7 TO DISPLAY W/ DECIMAL POINT ;_____________________________________________________________________________ SEGDECODE: ; 0 1 2 3 4 5 6 7 8 9 A B C D E F - .DB $FB,$B0,$ED,$F5,$B6,$D7,$DF,$F0,$FF,$F7,$FE,$9F,$CB,$BD,$CF,$CE - ; - . P o r t A d r - .DB $80,$84,$00,$EE,$9D,$8C,$94,$FE,$BD,$8C - + .DB $7B,$30,$6D,$75,$36,$57,$5F,$70,$7F,$77,$7E,$1F,$4B,$3D,$4F,$4E + ; - . P o r t A d r G + .DB $00,$04,$00,$6E,$1D,$0C,$14,$7E,$3D,$0C,$5B ; DISPLAYBUF: .FILL 8,0 DECODEBUF: .FILL 8,0 diff --git a/Source/HBIOS/romldr.asm b/Source/HBIOS/romldr.asm index 54f68211..4848c65a 100644 --- a/Source/HBIOS/romldr.asm +++ b/Source/HBIOS/romldr.asm @@ -237,7 +237,7 @@ SEL2: JP NZ,SEL3 ; LD A,BOOT_DEFAULT ; TIMEOUT EXPIRED, - JR MENU_A ; PERFORM DEFAULT BOOT ACTION + JR MATS ; PERFORM DEFAULT BOOT ACTION #ENDIF ; SEL3: