Browse Source

Minor cleanup

pull/3/head
Wayne Warthen 10 years ago
parent
commit
a57736ef2b
  1. 84
      Source/HBIOS/asci.asm
  2. 9
      Source/HBIOS/hbios.asm
  3. 2
      Source/HBIOS/uart.asm

84
Source/HBIOS/asci.asm

@ -103,7 +103,7 @@ ASCI_INIT:
LD A,Z180_RDR0 ; LOAD RDR PORT ADDRESS LD A,Z180_RDR0 ; LOAD RDR PORT ADDRESS
CALL PRTHEXBYTE ; PRINT IT CALL PRTHEXBYTE ; PRINT IT
CALL PC_SPACE ; FORMATTING
PRTS(" MODE=$") ; FORMATTING
LD DE,(ASCI0_CONFIG) ; LOAD CONFIG LD DE,(ASCI0_CONFIG) ; LOAD CONFIG
CALL PS_PRTSC0 ; PRINT IT CALL PS_PRTSC0 ; PRINT IT
; ;
@ -117,7 +117,7 @@ ASCI_INIT:
LD A,Z180_RDR1 ; LOAD RDR PORT ADDRESS LD A,Z180_RDR1 ; LOAD RDR PORT ADDRESS
CALL PRTHEXBYTE ; PRINT IT CALL PRTHEXBYTE ; PRINT IT
CALL PC_SPACE ; FORMATTING
PRTS(" MODE=$") ; FORMATTING
LD DE,(ASCI1_CONFIG) ; LOAD CONFIG LD DE,(ASCI1_CONFIG) ; LOAD CONFIG
CALL PS_PRTSC0 ; PRINT IT CALL PS_PRTSC0 ; PRINT IT
; ;
@ -214,20 +214,47 @@ ASCI0_INITDEV1:
LD L,A ; MOVE TO L LD L,A ; MOVE TO L
LD H,0 ; CLEAR MSB LD H,0 ; CLEAR MSB
PUSH DE ; SAVE CONFIG PUSH DE ; SAVE CONFIG
CALL ASCI_CNTLB ; DERIVE CNTLB VALUE
CALL ASCI_CNTLB ; DERIVE CNTLB VALUE IN C
POP DE ; RESTORE CONFIG POP DE ; RESTORE CONFIG
;CALL TSTPT ;CALL TSTPT
RET NZ ; ABORT ON ERROR RET NZ ; ABORT ON ERROR
LD (ASCI0_CONFIG),DE ; RECORD UPDATED CONFIG
; ;
LD B,$64 ; B := DEFAULT CNTLB VALUE
; DATA BITS
LD A,E ; LOAD CONFIG BYTE
AND $03 ; ISOLATE DATA BITS
CP $03 ; 8 DATA BITS?
JR Z,ASCI0_INITDEV2 ; IF SO, NO CHG, CONTINUE
RES 2,B ; RESET CNTLA BIT 2 FOR 7 DATA BITS
ASCI0_INITDEV2:
; STOP BITS
BIT 2,E ; TEST STOP BITS CONFIG BIT
JR Z,ASCI0_INITDEV3 ; IF CLEAR, NO CHG, CONTINUE
SET 0,B ; SET CNTLA BIT 0 FOR 2 STOP BITS
ASCI0_INITDEV3:
; PARITY ENABLE
BIT 3,E ; TEST PARITY ENABLE CONFIG BIT
JR Z,ASCI0_INITDEV4 ; NO PARITY, SKIP ALL PARITY CHGS
SET 1,B ; SET CNTLA BIT 1 FOR PARITY ENABLE
; PARITY EVEN/ODD
BIT 4,E ; TEST EVEN PARITY CONFIG BIT
JR NZ,ASCI0_INITDEV4 ; EVEN PARITY, NO CHG, CONTINUE
SET 4,C ; SET CNTLB BIT 4 FOR ODD PARITY
ASCI0_INITDEV4:
; IMPLEMENT CONFIGURATION ; IMPLEMENT CONFIGURATION
LD A,66H ; LOAD DEFAULT ASEXT VALUE
LD A,$66 ; LOAD DEFAULT ASEXT VALUE
OUT0 (Z180_ASEXT0),A ; SET IT OUT0 (Z180_ASEXT0),A ; SET IT
LD A,64H ; LOAD DEFAULT CNTLA VALUE
OUT0 (Z180_CNTLA0),A ; SET IT
LD A,C ; LOAD CNTLB VALUE DETERMINED ABOVE
OUT0 (Z180_CNTLB0),A ; SET IT
LD A,B ; FINAL CNTLA VALUE TO ACCUM
OUT0 (Z180_CNTLA0),A ; WRITE TO CNTLA REGISTER
LD A,C ; FINAL CNTLB VALUE TO ACCUM
OUT0 (Z180_CNTLB0),A ; WRITE TO CNTLA REGISTER
; ;
LD (ASCI0_CONFIG),DE ; RECORD UPDATED CONFIG
XOR A ; SIGNAL SUCCESS XOR A ; SIGNAL SUCCESS
RET ; DONE RET ; DONE
; ;
@ -325,16 +352,43 @@ ASCI1_INITDEV1:
POP DE ; RESTORE CONFIG POP DE ; RESTORE CONFIG
;CALL TSTPT ;CALL TSTPT
RET NZ ; ABORT ON ERROR RET NZ ; ABORT ON ERROR
LD (ASCI1_CONFIG),DE ; RECORD UPDATED CONFIG
; ;
LD B,$64 ; B := DEFAULT CNTLB VALUE
; DATA BITS
LD A,E ; LOAD CONFIG BYTE
AND $03 ; ISOLATE DATA BITS
CP $03 ; 8 DATA BITS?
JR Z,ASCI1_INITDEV2 ; IF SO, NO CHG, CONTINUE
RES 2,B ; RESET CNTLA BIT 2 FOR 7 DATA BITS
ASCI1_INITDEV2:
; STOP BITS
BIT 2,E ; TEST STOP BITS CONFIG BIT
JR Z,ASCI1_INITDEV3 ; IF CLEAR, NO CHG, CONTINUE
SET 0,B ; SET CNTLA BIT 0 FOR 2 STOP BITS
ASCI1_INITDEV3:
; PARITY ENABLE
BIT 3,E ; TEST PARITY ENABLE CONFIG BIT
JR Z,ASCI1_INITDEV4 ; NO PARITY, SKIP ALL PARITY CHGS
SET 1,B ; SET CNTLA BIT 1 FOR PARITY ENABLE
; PARITY EVEN/ODD
BIT 4,E ; TEST EVEN PARITY CONFIG BIT
JR NZ,ASCI1_INITDEV4 ; EVEN PARITY, NO CHG, CONTINUE
SET 4,C ; SET CNTLB BIT 4 FOR ODD PARITY
ASCI1_INITDEV4:
; IMPLEMENT CONFIGURATION ; IMPLEMENT CONFIGURATION
LD A,66H ; LOAD DEFAULT ASEXT VALUE
LD A,$66 ; LOAD DEFAULT ASEXT VALUE
OUT0 (Z180_ASEXT1),A ; SET IT OUT0 (Z180_ASEXT1),A ; SET IT
LD A,64H ; LOAD DEFAULT CNTLA VALUE
OUT0 (Z180_CNTLA1),A ; SET IT
LD A,C ; LOAD CNTLB VALUE DETERMINED ABOVE
OUT0 (Z180_CNTLB1),A ; SET IT
LD A,B ; FINAL CNTLA VALUE TO ACCUM
OUT0 (Z180_CNTLA1),A ; WRITE TO CNTLA REGISTER
LD A,C ; FINAL CNTLB VALUE TO ACCUM
OUT0 (Z180_CNTLB1),A ; WRITE TO CNTLA REGISTER
; ;
LD (ASCI1_CONFIG),DE ; RECORD UPDATED CONFIG
XOR A ; SIGNAL SUCCESS XOR A ; SIGNAL SUCCESS
RET ; DONE RET ; DONE
; ;

9
Source/HBIOS/hbios.asm

@ -2548,7 +2548,6 @@ PS_PRTVT:
PS_PRTVC: PS_PRTVC:
PRTS("Text$") PRTS("Text$")
CALL PC_COMMA CALL PC_COMMA
CALL PC_SPACE
LD B,BF_VDAQRY ; FUNC: QUERY FOR VDA CONFIG LD B,BF_VDAQRY ; FUNC: QUERY FOR VDA CONFIG
RST 08 ; D:=ROWS, E:=COLS RST 08 ; D:=ROWS, E:=COLS
LD A,E LD A,E
@ -2652,10 +2651,10 @@ PS_DTOTHER .TEXT "???$"
; ;
; FLOPPY ATTRIBUTE STRINGS ; FLOPPY ATTRIBUTE STRINGS
; ;
PS_FLP8 .TEXT "8\", $"
PS_FLP5 .TEXT "5.25\", $"
PS_FLP3 .TEXT "3.5\", $"
PS_FLPN .TEXT "???\", $"
PS_FLP8 .TEXT "8\",$"
PS_FLP5 .TEXT "5.25\",$"
PS_FLP3 .TEXT "3.5\",$"
PS_FLPN .TEXT "???\",$"
; ;
PS_FLPSS .TEXT "SS/$" PS_FLPSS .TEXT "SS/$"
PS_FLPDS .TEXT "DS/$" PS_FLPDS .TEXT "DS/$"

2
Source/HBIOS/uart.asm

@ -501,7 +501,7 @@ UART_PRTCFG:
OR A ; SET FLAGS OR A ; SET FLAGS
RET Z ; IF ZERO, NOT PRESENT RET Z ; IF ZERO, NOT PRESENT
; ;
CALL PC_SPACE ; FORMATTING
PRTS(" MODE=$") ; FORMATTING
LD E,(IY + 4) ; LOAD CONFIG LD E,(IY + 4) ; LOAD CONFIG
LD D,(IY + 5) ; ... WORD TO DE LD D,(IY + 5) ; ... WORD TO DE
CALL PS_PRTSC0 ; PRINT CONFIG CALL PS_PRTSC0 ; PRINT CONFIG

Loading…
Cancel
Save