Browse Source

Minor Cleanup

patch
Wayne Warthen 7 years ago
parent
commit
e3805d4138
  1. 1
      Source/HBIOS/acia.asm
  2. 1
      Source/HBIOS/asci.asm
  3. 125
      Source/HBIOS/hbios.asm
  4. 2
      Source/HBIOS/ppp.asm
  5. 2
      Source/HBIOS/prp.asm
  6. 1
      Source/HBIOS/sio.asm
  7. 1
      Source/HBIOS/uart.asm

1
Source/HBIOS/acia.asm

@ -460,6 +460,7 @@ ACIA_QUERY:
ACIA_DEVICE:
LD D,CIODEV_ACIA ; D := DEVICE TYPE
LD E,(IY) ; E := PHYSICAL UNIT
LD C,$00 ; C := DEVICE TYPE, 0x00 IS RS-232
XOR A ; SIGNAL SUCCESS
RET
;

1
Source/HBIOS/asci.asm

@ -259,6 +259,7 @@ ASCI0_QUERY:
ASCI0_DEVICE:
LD D,CIODEV_ASCI ; D := DEVICE TYPE
LD E,0 ; E := PHYSICAL UNIT
LD C,$00 ; C := DEVICE TYPE, 0x00 IS RS-232
XOR A ; SIGNAL SUCCESS
RET
;

125
Source/HBIOS/hbios.asm

@ -124,7 +124,7 @@ MODCNT .SET MODCNT + 1
RET
.FILL (038H - $),0FFH ; RST 38 / IM1 INT
#IF (INTMODE == 1)
JP INT_IM1 ; JP TO INTERRUPT HANDLER IN HI MEM
JP INT_IM1 ; JP TO INTERRUPT HANDLER IN HI MEM
#ELSE
RETI ; RETURN W/ INTS DISABLED
#ENDIF
@ -237,12 +237,12 @@ HBX_INVOKE:
LD A,BID_BIOS ; HBIOS BANK
CALL HBX_BNKSEL ; SELECT IT
LD SP,HB_STACK ; NOW USE FULL HBIOS STACK IN HBIOS BANK
CALL HB_DISPATCH ; CALL HBIOS FUNCTION DISPATCHER
LD SP,HBX_TMPSTK ; USE SMALL TEMP STACK FRAME IN HI MEM FOR BANK SWITCH
PUSH AF ; SAVE AF (FUNCTION RETURN)
LD A,(HB_INVBNK) ; LOAD ORIGINAL BANK
CALL HBX_BNKSEL ; SELECT IT
POP AF ; RESTORE AF
@ -479,43 +479,66 @@ HBX_STACK .EQU $
;
; HBIOS INTERRUPT VECTOR TABLE (16 ENTRIES)
;
; # SBC N8,MK4 ZETA ZETA2
; --- -------------- -------------- -------------- --------------
; 0 CTC0A Z180/INT1 CTC0A/PRESCL
; 1 CTC0B Z180/INT2 CTC0B/TIMER
; 2 CTC0C Z180/TIM0 CTC0C/UART
; 3 CTC0D Z180/TIM1 CTC0D/FDC
; 4 Z180/DMA0
; 5 Z180/DMA1
; 6 Z180/CSIO
; 7 SIO0 Z180/SER0
; 8 SIO1 Z180/SER1
; 9 PIO0A PIO0A
; 10 PIO0B PIO0B
; 11 PIO1A PIO1A
; 12 PIO1B PIO1B
; 13
; 14
; 15
; 16
;
; # RC RC180 EZZ80
; --- -------------- -------------- -------------
; 0 CTC0A Z180/INT1 CTC0A/SIO0CLK
; 1 CTC0B Z180/INT2 CTC0B/SIO1CLK
; 2 CTC0C Z180/TIM0 CTC0C/PRESCL
; 3 CTC0D Z180/TIM1 CTC0D/TIMER
; 4 Z180/DMA0
; 5 Z180/DMA1
; 6 Z180/CSIO
; 7 SIO0 Z180/SER0 SIO0
; 8 SIO1 Z180/SER1 SIO1
; 9 PIO0A PIO0A PIO0A
; 10 PIO0B PIO0B PIO0B
; 11 PIO1A PIO1A PIO1A
; 12 PIO1B PIO1B PIO1B
; 13
; 14
; 15
; 16
;
HBX_IVT:
.DW INT_BAD ; IVT_INT1
.DW INT_BAD ; IVT_INT2
.DW INT_BAD ; IVT_TIM0
.DW INT_BAD ; IVT_TIM1
.DW INT_BAD ; IVT_DMA0
.DW INT_BAD ; IVT_DMA1
.DW INT_BAD ; IVT_CSIO
.DW INT_BAD ; IVT_SER0
.DW INT_BAD ; IVT_SER1
.DW INT_BAD ; IVT_PIO0
.DW INT_BAD ; IVT_PIO1
.DW INT_BAD ; IVT_PIO2
.DW INT_BAD ; IVT_PIO3
.DW INT_BAD ;
.DW INT_BAD ;
.DW INT_BAD ;
.DW INT_BAD
.DW INT_BAD
.DW INT_BAD
.DW INT_BAD
.DW INT_BAD
.DW INT_BAD
.DW INT_BAD
.DW INT_BAD
.DW INT_BAD
.DW INT_BAD
.DW INT_BAD
.DW INT_BAD
.DW INT_BAD
.DW INT_BAD
.DW INT_BAD
.DW INT_BAD
;
HBX_IVTCNT .EQU ($ - HBX_IVT) / 2
;
HBX_ITBL:
.DW HB_BADINT
.DW HB_BADINT
.DW HB_BADINT
.DW HB_BADINT
.DW HB_BADINT
.DW HB_BADINT
.DW HB_BADINT
.DW HB_BADINT
.DW HB_BADINT
.DW HB_BADINT
.DW HB_BADINT
.DW HB_BADINT
.DW HB_BADINT
.DW HB_BADINT
.DW HB_BADINT
.DW HB_BADINT
#ENDIF
;
; INTERRUPT HANDLER STUBS
@ -592,7 +615,7 @@ HBX_INT: ; COMMON INTERRUPT ROUTING CODE
PUSH BC ; SAVE BC
PUSH DE ; SAVE DE
PUSH IY ; SAVE IY
LD A,BID_BIOS ; HBIOS BANK
CALL HBX_BNKSEL_INT ; SELECT IT
@ -600,7 +623,7 @@ HBX_INT: ; COMMON INTERRUPT ROUTING CODE
LD A,(HB_CURBNK) ; GET PRE-INT BANK
CALL HBX_BNKSEL ; SELECT IT
; RESTORE STATE
POP IY ; RESTORE IY
POP DE ; RESTORE DE
@ -679,12 +702,12 @@ HB_STACK .EQU $ ; TOP OF HBIOS STACK
HB_START:
DI ; NO INTERRUPTS
IM 1 ; INTERRUPT MODE 1
;
;
#IFDEF DIAGP
LD A,%00000001
OUT (DIAGP),A
#ENDIF
;
;
LD SP,HBX_LOC ; SETUP INITIAL STACK JUST BELOW HBIOS PROXY
;
#IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4) | (PLATFORM == PLT_RC180))
@ -693,7 +716,7 @@ HB_START:
OUT0 (Z180_ICR),A
DIAG(%00000010)
; DISABLE REFRESH
XOR A
OUT0 (Z180_RCR),A
@ -912,7 +935,7 @@ HB_START1: ; BNKCALL ARRIVES HERE, BUT NOW RUNNING IN RAM BANK
PRTX(STR_BANNER)
;
DIAG(%11111111)
;
;
; IO PORT SCAN
;
#IF 0
@ -956,7 +979,7 @@ PSCNX .EQU $ + 1
; SETUP Z80 IVT AND INT MODE 2
LD A,HBX_IVT >> 8 ; SETUP HI BYTE OF IVT ADDRESS
LD I,A ; ... AND PLACE IT IN I REGISTER
#IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4) | (PLATFORM == PLT_RC180))
; SETUP Z180 IVT
XOR A ; SETUP LO BYTE OF IVT ADDRESS
@ -1446,7 +1469,7 @@ CIO_DISPATCH:
LD IY,CIO_TBL ; POINT IY TO START OF DIO TABLE
CALL HB_DISPCALL ; GO TO GENERIC API CALL CODE
POP IY ; RESTORE IY
RET ; AND DONE
;
@ -1479,7 +1502,7 @@ CIO_ADDENT:
CIO_FNCNT .EQU 7 ; NUMBER OF CIO FUNCS (FOR RANGE CHECK)
CIO_MAX .EQU 32 ; UP TO 32 UNITS
CIO_SIZ .EQU CIO_MAX * 4 ; EACH ENTRY IS 4 BYTES
;
;
.DB CIO_FNCNT ; CIO FUNCTION COUNT (FOR RANGE CHECK)
.DB CIO_MAX ; MAX ENTRY COUNT TABLE PREFIX
CIO_CNT .DB 0 ; ENTRY COUNT PREFIX
@ -1518,7 +1541,7 @@ DIO_DISPCALL:
LD IY,DIO_TBL ; POINT IY TO START OF DIO TABLE
CALL HB_DISPCALL ; GO TO GENERIC API CALL CODE
POP IY ; RESTORE IY
RET ; AND DONE
;
@ -1542,7 +1565,7 @@ DIO_ADDENT:
DIO_FNCNT .EQU 12 ; NUMBER OF DIO FUNCS (FOR RANGE CHECK)
DIO_MAX .EQU 16 ; UP TO 16 UNITS
DIO_SIZ .EQU DIO_MAX * 4 ; EACH ENTRY IS 4 BYTES
;
;
.DB DIO_FNCNT ; DIO FUNCTION COUNT (FOR RANGE CHECK)
.DB DIO_MAX ; MAX ENTRY COUNT TABLE PREFIX
DIO_CNT .DB 0 ; ENTRY COUNT PREFIX
@ -1577,7 +1600,7 @@ VDA_DISPATCH:
LD IY,VDA_TBL ; POINT IY TO START OF DIO TABLE
CALL HB_DISPCALL ; GO TO GENERIC API CALL CODE
POP IY ; RESTORE IY
RET ; AND DONE
;
@ -1951,7 +1974,7 @@ SYS_INTINFO:
; ROUTINE SHARED BY INT GET/SET. RETURNS ADDRESS OF VECTOR FOR SPECIFIED LIST / TABLE
; POSITION. ZF SET ON RETURN FOR SUCCESS, ELSE ERROR.
;
SYS_INTVECADR:
SYS_INTVECADR:
#IF (INTMODE == 0)
CALL PANIC ; INVALID FOR INT MODE 0
OR $FF
@ -2965,10 +2988,10 @@ PS_SERIAL:
PUSH BC ; SAVE UNIT INDEX FOR LATER
;
; UNIT COLUMN
PRTS("Char $"
PRTS("Char $")
LD A,C ; MOVE UNIT NUM TO A
CALL PRTDECB ; PRINT IT, ASSUME SINGLE DIGIT
PRTS(" $") ; PAD TO NEXT COLUMN
PRTS(" $") ; PAD TO NEXT COLUMN
;
; DEVICE COLUMN
LD B,BF_CIODEVICE ; FUNC=GET DEVICE INFO, UNIT NUM STILL IN C

2
Source/HBIOS/ppp.asm

@ -353,7 +353,7 @@ PPPCON_QUERY:
PPPCON_DEVICE:
LD D,CIODEV_PPPCON ; D := DEVICE TYPE
LD E,0 ; E := DEVICE NUM, ALWAYS 0
LD C,$FF ; $FF MEANS TERM W/ NO ATTACHED VDA
LD C,$80 ; C := DEVICE TYPE, 0x80 IS TERMINAL
XOR A ; SIGNAL SUCCESS
RET
;

2
Source/HBIOS/prp.asm

@ -226,7 +226,7 @@ PRPCON_QUERY:
PRPCON_DEVICE:
LD D,CIODEV_PRPCON ; D := DEVICE TYPE
LD E,0 ; E := DEVICE NUM, ALWAYS 0
LD C,$FF ; $FF MEANS TERM W/ NO ATTACHED VDA
LD C,$80 ; C := DEVICE TYPE, 0x80 IS TERMINAL
XOR A ; SIGNAL SUCCESS
RET
;

1
Source/HBIOS/sio.asm

@ -642,6 +642,7 @@ SIO_QUERY:
SIO_DEVICE:
LD D,CIODEV_SIO ; D := DEVICE TYPE
LD E,(IY) ; E := PHYSICAL UNIT
LD C,$00 ; C := DEVICE TYPE, 0x00 IS RS-232
XOR A ; SIGNAL SUCCESS
RET
;

1
Source/HBIOS/uart.asm

@ -326,6 +326,7 @@ UART_QUERY:
UART_DEVICE:
LD D,CIODEV_UART ; D := DEVICE TYPE
LD E,(IY) ; E := PHYSICAL UNIT
LD C,$00 ; C := DEVICE TYPE, 0x00 IS RS-232
XOR A ; SIGNAL SUCCESS
RET
;

Loading…
Cancel
Save