mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
Code Cleaning
This commit is contained in:
@@ -19,7 +19,7 @@
|
||||
;
|
||||
; Change Log:
|
||||
; 2016-03-21 [WBW] Updated for HBIOS 2.8
|
||||
; 2016-04-07 [WBW] Determine key memory addresses dynamically
|
||||
; 2016-04-08 [WBW] Determine key memory addresses dynamically
|
||||
;_______________________________________________________________________________
|
||||
;
|
||||
; ToDo:
|
||||
@@ -140,20 +140,21 @@ init:
|
||||
ld (bioend),hl ; save as CBIOS end address
|
||||
;
|
||||
; check for UNA (UBIOS)
|
||||
ld a,($fffd) ; fixed location of UNA API vector
|
||||
cp $c3 ; jp instruction?
|
||||
ld a,($FFFD) ; fixed location of UNA API vector
|
||||
cp $C3 ; jp instruction?
|
||||
jr nz,initx ; if not, not UNA
|
||||
ld hl,($fffe) ; get jp address
|
||||
ld hl,($FFFE) ; get jp address
|
||||
ld a,(hl) ; get byte at target address
|
||||
cp $fd ; first byte of UNA push ix instruction
|
||||
cp $FD ; first byte of UNA push ix instruction
|
||||
jr nz,initx ; if not, not UNA
|
||||
inc hl ; point to next byte
|
||||
ld a,(hl) ; get next byte
|
||||
cp $e5 ; second byte of UNA push ix instruction
|
||||
cp $E5 ; second byte of UNA push ix instruction
|
||||
jr nz,initx ; if not, not UNA
|
||||
ld hl,unamod ; point to UNA mode flag
|
||||
ld (hl),$ff ; set UNA mode
|
||||
ld hl,$FF00 ; assumed start of UNA proxy
|
||||
ld (hl),$FF ; set UNA mode flag
|
||||
ld c,$F1 ; UNA func: Get HMA
|
||||
rst 08 ; call UNA, HL := UNA proxy start address
|
||||
ld (bioend),hl ; save as CBIOS end address
|
||||
;
|
||||
initx:
|
||||
@@ -169,6 +170,23 @@ initx:
|
||||
ld de,-$40 ; allow 40 bytes for CBIOS stack
|
||||
add hl,de ; adjust
|
||||
ld (heaplim),hl ; save it
|
||||
;
|
||||
#if 0
|
||||
ld a,' '
|
||||
call crlf
|
||||
ld bc,(bioloc)
|
||||
call prthexword
|
||||
call prtchr
|
||||
ld bc,(bioend)
|
||||
call prthexword
|
||||
call prtchr
|
||||
ld bc,(maploc)
|
||||
call prthexword
|
||||
call prtchr
|
||||
ld bc,(heaplim)
|
||||
call prthexword
|
||||
|
||||
#endif
|
||||
;
|
||||
; return success
|
||||
xor a ; signal success
|
||||
@@ -295,7 +313,7 @@ usage:
|
||||
call crlf2 ; blank line
|
||||
ld de,msguse ; point to usage message
|
||||
call prtstr ; print it
|
||||
or $ff ; signal no action performed
|
||||
or $FF ; signal no action performed
|
||||
ret ; and return
|
||||
;
|
||||
devlist:
|
||||
@@ -304,7 +322,7 @@ devlist:
|
||||
or a ; set flags
|
||||
jr nz,devlstu ; do UNA mode dev list
|
||||
;
|
||||
ld b,$f7 ; hbios func: sysget
|
||||
ld b,$F7 ; hbios func: sysget
|
||||
ld c,$10 ; sysget subfunc: diocnt
|
||||
rst 08 ; call hbios, E := device count
|
||||
ld b,e ; use device count for loop count
|
||||
@@ -321,7 +339,7 @@ devlist1:
|
||||
pop bc ; restore loop control
|
||||
inc c ; next device index
|
||||
djnz devlist1 ; loop as needed
|
||||
or $ff ; signal no action taken
|
||||
or $FF ; signal no action taken
|
||||
ret ; done
|
||||
;
|
||||
devlstu:
|
||||
@@ -427,7 +445,7 @@ dph_init:
|
||||
dph_init1:
|
||||
; no DPH if drive not assigned
|
||||
ld a,(hl)
|
||||
cp $ff
|
||||
cp $FF
|
||||
jr nz,dph_init2
|
||||
ld de,0 ; not assigned, use DPH pointer of zero
|
||||
jr dph_init3
|
||||
@@ -519,7 +537,7 @@ makdphwbw: ; determine appropriate dpb (WBW mode)
|
||||
ld e,2 ; assume ram
|
||||
cp $00+1 ; ram?
|
||||
jr z,makdph0 ; yes, jump ahead
|
||||
and $f0 ; ignore unit nibble now
|
||||
and $F0 ; ignore unit nibble now
|
||||
ld e,6 ; assume floppy
|
||||
cp $10 ; floppy?
|
||||
jr z,makdph0 ; yes, jump ahead
|
||||
@@ -661,7 +679,7 @@ valid:
|
||||
ld b,16 - 1 ; loop one less times than num entries
|
||||
;
|
||||
; check that drive A: is assigned
|
||||
ld a,$ff ; value that indicates unassigned
|
||||
ld a,$FF ; value that indicates unassigned
|
||||
cp (hl) ; compare to A: value
|
||||
jp z,errnoa ; handle failure
|
||||
;
|
||||
@@ -688,7 +706,7 @@ valid2: ; setup for inner loop
|
||||
valid3: ; inner loop
|
||||
; bypass unassigned drives (only need to test 1)
|
||||
ld a,(hl) ; get first drive unit in A
|
||||
cp $ff ; unassigned?
|
||||
cp $FF ; unassigned?
|
||||
jr z,valid4 ; yes, skip
|
||||
;
|
||||
; compare unit/slice values
|
||||
@@ -735,7 +753,7 @@ drvdel:
|
||||
rlca ; ... as drive num * 4
|
||||
call addhl ; get final table offset
|
||||
; wipe out the drive letter
|
||||
ld a,$ff ; dev/unit := $FF (unassigned)
|
||||
ld a,$FF ; dev/unit := $FF (unassigned)
|
||||
ld (hl),a ; do it
|
||||
xor a ; zero accum
|
||||
inc hl ; slice := 0
|
||||
@@ -854,7 +872,7 @@ drvmap2:
|
||||
ld (device),a ; save as device id
|
||||
;
|
||||
; loop thru hbios units looking for device type/unit match
|
||||
ld b,$f7 ; hbios func: sysget
|
||||
ld b,$F7 ; hbios func: sysget
|
||||
ld c,$10 ; sysget subfunc: diocnt
|
||||
rst 08 ; call hbios, E := device count
|
||||
ld b,e ; use device count for loop count
|
||||
@@ -991,7 +1009,7 @@ showall:
|
||||
ld c,0 ; map index (drive letter)
|
||||
;
|
||||
ld a,b ; load count
|
||||
or $ff ; signal no action
|
||||
or $FF ; signal no action
|
||||
ret z ; bail out if zero
|
||||
;
|
||||
showall1: ; loop
|
||||
@@ -1001,7 +1019,7 @@ showall1: ; loop
|
||||
pop bc ; restore loop control
|
||||
inc c
|
||||
djnz showall1
|
||||
or $ff
|
||||
or $FF
|
||||
ret
|
||||
;
|
||||
; Display drive letter assignment IF it is assigned
|
||||
@@ -1016,7 +1034,7 @@ showass:
|
||||
rlca
|
||||
call addhl ; HL = address of drive map table entry
|
||||
ld a,(hl) ; get unit value
|
||||
cp $ff ; compare to unassigned value
|
||||
cp $FF ; compare to unassigned value
|
||||
ld a,c ; recover original drive num
|
||||
ret z ; bail out if unassigned drive
|
||||
; fall thru to display drive
|
||||
@@ -1065,11 +1083,11 @@ showone:
|
||||
; Force BDOS to reset (logout) all drives
|
||||
;
|
||||
drvrst:
|
||||
ld c,$0d ; BDOS Reset Disk function
|
||||
ld c,$0D ; BDOS Reset Disk function
|
||||
call bdos ; do it
|
||||
;
|
||||
ld c,$25 ; BDOS Reset Multiple Drives
|
||||
ld de,$ffff ; all drives
|
||||
ld de,$FFFF ; all drives
|
||||
call bdos ; do it
|
||||
;
|
||||
xor a ; signal success
|
||||
@@ -1092,7 +1110,7 @@ prtdev:
|
||||
rrca ; ...
|
||||
rrca ; ...
|
||||
rrca ; ... into low nibble
|
||||
and $0f ; mask out undesired bits
|
||||
and $0F ; mask out undesired bits
|
||||
push hl ; save HL
|
||||
add a,a ; multiple A by two for word table
|
||||
ld hl,devtbl ; point to start of device name table
|
||||
@@ -1175,7 +1193,7 @@ chkdrv:
|
||||
;
|
||||
chkdev: ; HBIOS variant
|
||||
push af ; save incoming unit
|
||||
ld b,$f7 ; hbios func: sysget
|
||||
ld b,$F7 ; hbios func: sysget
|
||||
ld c,$10 ; sysget subfunc: diocnt
|
||||
rst 08 ; call hbios, E := device count
|
||||
pop af ; restore incoming unit
|
||||
@@ -1308,7 +1326,7 @@ hexascii:
|
||||
; Convert low nibble of A to ascii hex
|
||||
;
|
||||
hexconv:
|
||||
and $0f ; low nibble only
|
||||
and $0F ; low nibble only
|
||||
add a,$90
|
||||
daa
|
||||
adc a,$40
|
||||
@@ -1402,7 +1420,7 @@ delim: or a
|
||||
ret z
|
||||
cp ':' ; colon
|
||||
ret z
|
||||
cp $3b ; semicolon
|
||||
cp $3B ; semicolon
|
||||
ret z
|
||||
cp '<' ; less than
|
||||
ret z
|
||||
@@ -1500,7 +1518,7 @@ strcmp:
|
||||
; The CBIOS function offset must be stored in the byte
|
||||
; following the call instruction. ex:
|
||||
; call cbios
|
||||
; .db $0c ; offset of CONOUT CBIOS function
|
||||
; .db $0C ; offset of CONOUT CBIOS function
|
||||
;
|
||||
cbios:
|
||||
ex (sp),hl
|
||||
@@ -1603,7 +1621,7 @@ err1: ; without the leading crlf
|
||||
;
|
||||
err2: ; without the string
|
||||
; call crlf ; print newline
|
||||
or $ff ; signal error
|
||||
or $FF ; signal error
|
||||
ret ; done
|
||||
;
|
||||
;===============================================================================
|
||||
@@ -1624,7 +1642,7 @@ device .db 0 ; source device
|
||||
unit .db 0 ; source unit
|
||||
slice .db 0 ; source slice
|
||||
;
|
||||
unamod .db 0 ; $ff indicates UNA UBIOS active
|
||||
unamod .db 0 ; $FF indicates UNA UBIOS active
|
||||
modcnt .db 0 ; count of drive map modifications
|
||||
;
|
||||
srcptr .dw 0 ; source pointer for copy
|
||||
|
||||
@@ -18,8 +18,27 @@ SIMRTCENABLE .EQU FALSE ; SIMH CLOCK DRIVER
|
||||
DSRTCENABLE .EQU TRUE ; DS-1302 CLOCK DRIVER
|
||||
DSRTCMODE .EQU DSRTCMODE_STD ; DSRTCMODE_STD, DSRTCMODE_MFPIC
|
||||
;
|
||||
UARTENABLE .EQU FALSE ; TRUE FOR UART SUPPORT (N8 USES ASCI DRIVER)
|
||||
UARTCNT .EQU 0 ; NUMBER OF UARTS
|
||||
UARTENABLE .EQU TRUE ; TRUE FOR UART SUPPORT (ALMOST ALWAYS WANT THIS TO BE TRUE)
|
||||
UARTOSC .EQU 1843200 ; UART OSC FREQUENCY
|
||||
UARTCNT .EQU 6 ; NUMBER OF UARTS
|
||||
UART0IOB .EQU $80 ; IOBASE (CASSETTE INTERFACE)
|
||||
UART0BAUD .EQU CONBAUD ; BAUDRATE
|
||||
UART0FEAT .EQU UF_FIFO ; FEATURE FLAGS: UF_FIFO | UF_AFC
|
||||
UART1IOB .EQU $88 ; IOBASE (MF/PIC)
|
||||
UART1BAUD .EQU CONBAUD ; BAUDRATE
|
||||
UART1FEAT .EQU UF_FIFO ; FEATURE FLAGS: UF_FIFO | UF_AFC
|
||||
UART2IOB .EQU $C0 ; IOBASE (4UART PORT A)
|
||||
UART2BAUD .EQU CONBAUD ; BAUDRATE
|
||||
UART2FEAT .EQU UF_FIFO ; FEATURE FLAGS: UF_FIFO | UF_AFC
|
||||
UART3IOB .EQU $C8 ; IOBASE (4UART PORT B)
|
||||
UART3BAUD .EQU CONBAUD ; BAUDRATE
|
||||
UART3FEAT .EQU UF_FIFO ; FEATURE FLAGS: UF_FIFO | UF_AFC
|
||||
UART4IOB .EQU $D0 ; IOBASE (4UART PORT C)
|
||||
UART4BAUD .EQU CONBAUD ; BAUDRATE
|
||||
UART4FEAT .EQU UF_FIFO ; FEATURE FLAGS: UF_FIFO | UF_AFC
|
||||
UART5IOB .EQU $D8 ; IOBASE (4UART PORT D)
|
||||
UART5BAUD .EQU CONBAUD ; BAUDRATE
|
||||
UART5FEAT .EQU UF_FIFO ; FEATURE FLAGS: UF_FIFO | UF_AFC
|
||||
;
|
||||
ASCIENABLE .EQU TRUE ; TRUE FOR Z180 ASCI SUPPORT
|
||||
ASCI0BAUD .EQU CONBAUD ; ASCI0 BAUDRATE (IMPLEMENTED BY Z180_ASCIB0)
|
||||
|
||||
@@ -609,12 +609,12 @@ INITSYS2:
|
||||
;==================================================================================================
|
||||
;
|
||||
HB_INITTBL:
|
||||
#IF (UARTENABLE)
|
||||
.DW UART_INIT
|
||||
#ENDIF
|
||||
#IF (ASCIENABLE)
|
||||
.DW ASCI_INIT
|
||||
#ENDIF
|
||||
#IF (UARTENABLE)
|
||||
.DW UART_INIT
|
||||
#ENDIF
|
||||
#IF (SIMRTCENABLE)
|
||||
.DW SIMRTC_INIT
|
||||
#ENDIF
|
||||
|
||||
@@ -755,9 +755,9 @@ PRTDRV:
|
||||
LD A,E ; LOAD DRIVER MODE/UNIT
|
||||
AND $0F ; ISOLATE UNIT
|
||||
CALL PRTDECB ; PRINT IT
|
||||
; CALL PC_COLON ; FORMATTING
|
||||
; LD A,E ; LOAD LU
|
||||
; CALL PRTDECB ; PRINT IT
|
||||
CALL PC_COLON ; FORMATTING
|
||||
;LD A,E ; LOAD LU
|
||||
;CALL PRTDECB ; PRINT IT
|
||||
RET
|
||||
;
|
||||
DEVTBL: ; DEVICE TABLE
|
||||
@@ -867,7 +867,7 @@ STR_CPMLOC .DB "LOC=$"
|
||||
STR_CPMEND .DB "END=$"
|
||||
STR_CPMENT .DB "ENT=$"
|
||||
STR_LABEL .DB "LABEL=$"
|
||||
STR_DRVLIST .DB "\r\nDevices:\r\n$"
|
||||
STR_DRVLIST .DB "\r\nDisk Devices:\r\n$"
|
||||
STR_PREFIX .DB "\r\n $"
|
||||
STR_LOADING .DB "\r\nLoading$"
|
||||
STR_NODISK .DB "\r\nNo disk!$"
|
||||
@@ -876,7 +876,7 @@ STR_BOOTERR .DB "\r\nBoot failure!$"
|
||||
;
|
||||
STR_BANNER .DB "\r\n", PLATFORM_NAME, " Boot Loader$"
|
||||
STR_BOOTMENU .DB "\r\nBoot: (C)PM, (Z)System, (M)onitor,\r\n"
|
||||
.DB " (L)ist devices, or Device ID ===> $"
|
||||
.DB " (L)ist disks, or Disk Unit # ===> $"
|
||||
;
|
||||
.IF DSKYENABLE
|
||||
BOOT:
|
||||
|
||||
@@ -45,59 +45,47 @@ UART_INIT:
|
||||
;
|
||||
; INIT UART4 BOARD CONFIG REGISTER (NO HARM IF IT IS NOT THERE)
|
||||
;
|
||||
LD A,$80 ; SELECT 7.3728MHZ OSC & LOCK CONFIG REGISTER
|
||||
OUT ($CF),A ; DO IT
|
||||
LD A,$80 ; SELECT 7.3728MHZ OSC & LOCK CONFIG REGISTER
|
||||
OUT ($CF),A ; DO IT
|
||||
;
|
||||
; SETUP THE DISPATCH TABLE ENTRIES
|
||||
;
|
||||
LD B,UARTCNT ; LOOP CONTROL
|
||||
LD C,0 ; PHYSICAL UNIT INDEX
|
||||
UART_INIT0:
|
||||
PUSH BC ; SAVE LOOP CONTROL
|
||||
LD A,C ; PHYSICAL UNIT TO A
|
||||
RLCA ; MULTIPLY BY CFG TABLE ENTRY SIZE (8 BYTES)
|
||||
RLCA ; ...
|
||||
RLCA ; ... TO GET OFFSET INTO CFG TABLE
|
||||
LD HL,UART_CFG ; POINT TO START OF CFG TABLE
|
||||
CALL ADDHLA ; HL := ENTRY ADDRESS
|
||||
PUSH HL ; SAVE IT
|
||||
CALL UART_INIT1 ; DO HARDWARE INIT FOR CURRENT UART
|
||||
POP DE ; GET ENTRY ADDRESS BACK, BUT PUT IN DE
|
||||
POP BC ; RESTORE LOOP CONTROL
|
||||
|
||||
LD A,(UART_TYPE) ; GET THE UART TYPE DETECTED
|
||||
OR A ; SET FLAGS
|
||||
LD B,UARTCNT ; LOOP CONTROL
|
||||
LD C,0 ; PHYSICAL UNIT INDEX
|
||||
XOR A ; ZERO TO ACCUM
|
||||
LD (UART_DEV),A ; CURRENT DEVICE NUMBER
|
||||
UART_INIT0:
|
||||
PUSH BC ; SAVE LOOP CONTROL
|
||||
LD A,C ; PHYSICAL UNIT TO A
|
||||
RLCA ; MULTIPLY BY CFG TABLE ENTRY SIZE (8 BYTES)
|
||||
RLCA ; ...
|
||||
RLCA ; ... TO GET OFFSET INTO CFG TABLE
|
||||
LD HL,UART_CFG ; POINT TO START OF CFG TABLE
|
||||
CALL ADDHLA ; HL := ENTRY ADDRESS
|
||||
PUSH HL ; SAVE IT
|
||||
CALL UART_INIT1 ; DO HARDWARE INIT FOR CURRENT UART
|
||||
POP DE ; GET ENTRY ADDRESS BACK, BUT PUT IN DE
|
||||
POP BC ; RESTORE LOOP CONTROL
|
||||
|
||||
PUSH BC ; SAVE LOOP CONTROL
|
||||
;LD B,C ; PHYSICAL UNIT -> B
|
||||
;LD C,CIODEV_UART ; DEVICE TYPE -> C
|
||||
LD A,(UART_TYPE) ; GET THE UART TYPE DETECTED
|
||||
OR A ; SET FLAGS
|
||||
JR Z,UART_INIT00 ; SKIP IT IF NOTHING FOUND
|
||||
|
||||
PUSH BC ; SAVE LOOP CONTROL
|
||||
LD BC,UART_DISPATCH ; BC := DISPATCH ADDRESS
|
||||
CALL NZ,CIO_ADDENT ; ADD ENTRY IF UART FOUND, BC:DE
|
||||
POP BC ; RESTORE LOOP CONTROL
|
||||
|
||||
INC C ; NEXT PHYSICAL UNIT
|
||||
DJNZ UART_INIT0 ; LOOP UNTIL DONE
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET ; AND RETURN
|
||||
CALL NZ,CIO_ADDENT ; ADD ENTRY IF UART FOUND, BC:DE
|
||||
POP BC ; RESTORE LOOP CONTROL
|
||||
|
||||
UART_INIT00:
|
||||
INC C ; NEXT PHYSICAL UNIT
|
||||
DJNZ UART_INIT0 ; LOOP UNTIL DONE
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET ; AND RETURN
|
||||
;
|
||||
UART_INIT1:
|
||||
PUSH HL ; COPY CFG DATA PTR
|
||||
POP IY ; ... TO IY
|
||||
; INIT PORT BASED ON CONFIG AT HL
|
||||
CALL NEWLINE ; FORMATTING
|
||||
PRTS("UART$") ; FORMATTING
|
||||
LD A,(HL) ; DEVICE NUM
|
||||
CALL PRTDECB ; PRINT DEVICE NUM
|
||||
PRTS(": IO=0x$") ; FORMATTING
|
||||
INC HL ; BUMP TO BASE PORT FIELD
|
||||
LD A,(HL) ; GET BASE PORT
|
||||
CALL PRTHEXBYTE ; PRINT BASE PORT
|
||||
;
|
||||
; SETUP FOR GENERIC INIT ROUTINE
|
||||
INC HL ; BUMP TO
|
||||
INC HL ; ... FEATURES BYTE
|
||||
LD A,(HL) ; GET FEATURES BYTE
|
||||
LD (UART_FUNC),A ; SAVE IT
|
||||
JP UART_INITP ; HAND OFF TO GENERIC INIT CODE
|
||||
;
|
||||
;
|
||||
@@ -209,7 +197,28 @@ UART_INITP00:
|
||||
UART_INITP0:
|
||||
; DETECT THE UART TYPE
|
||||
CALL UART_DETECT ; DETERMINE UART TYPE
|
||||
OR A ; SET FLAGS
|
||||
RET Z ; ABORT IF NOTHING THERE
|
||||
LD (UART_TYPE),A ; SAVE TYPE
|
||||
|
||||
; UPDATE WORKING UART DEVICE NUM
|
||||
LD HL,UART_DEV ; POINT TO CURRENT UART DEVICE NUM
|
||||
LD A,(HL) ; PUT IN ACCUM
|
||||
INC (HL) ; INCREMENT IT (FOR NEXT LOOP)
|
||||
LD (IY),A ; UDPATE UNIT NUM
|
||||
|
||||
; ANNOUNCE PORT
|
||||
CALL NEWLINE ; FORMATTING
|
||||
PRTS("UART$") ; FORMATTING
|
||||
LD A,(IY) ; DEVICE NUM
|
||||
CALL PRTDECB ; PRINT DEVICE NUM
|
||||
PRTS(": IO=0x$") ; FORMATTING
|
||||
LD A,(IY + 1) ; GET BASE PORT
|
||||
CALL PRTHEXBYTE ; PRINT BASE PORT
|
||||
;
|
||||
; SETUP FOR GENERIC INIT ROUTINE
|
||||
LD A,(IY + 3) ; GET FEATURES BYTE
|
||||
LD (UART_FUNC),A ; SAVE IT
|
||||
|
||||
; RESET FEATURE BITS
|
||||
LD HL,UART_FEAT ; HL POINTS TO FEATURE FLAGS BYTE
|
||||
@@ -590,12 +599,13 @@ UART_STR_16850 .DB "16850$"
|
||||
UART_TYPE .DB 0 ; UART TYPE DISCOVERED
|
||||
UART_FUNC .DB 0 ; UART FUNCTIONS REQUESTED
|
||||
UART_FEAT .DB 0 ; UART FEATURES DISCOVERED
|
||||
UART_DEV .DB 0 ; DEVICE NUM USED DURING INIT
|
||||
;
|
||||
; UART PORT TABLE
|
||||
;
|
||||
UART_CFG:
|
||||
#IF (UARTCNT >= 1)
|
||||
.DB 0 ; DEVICE NUMBER
|
||||
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
|
||||
.DB UART0IOB ; IO PORT BASE (RBR, THR)
|
||||
.DB UART0IOB + UART_LSR ; LINE STATUS PORT (LSR)
|
||||
.DB UART0FEAT
|
||||
@@ -603,7 +613,7 @@ UART_CFG:
|
||||
.DW UART0BAUD >> 16
|
||||
#ENDIF
|
||||
#IF (UARTCNT >= 2)
|
||||
.DB 1 ; DEVICE NUMBER
|
||||
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
|
||||
.DB UART1IOB ; IO PORT BASE
|
||||
.DB UART1IOB + UART_LSR ; LINE STATUS PORT (LSR)
|
||||
.DB UART1FEAT
|
||||
@@ -611,7 +621,7 @@ UART_CFG:
|
||||
.DW UART1BAUD >> 16
|
||||
#ENDIF
|
||||
#IF (UARTCNT >= 3)
|
||||
.DB 2 ; DEVICE NUMBER
|
||||
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
|
||||
.DB UART2IOB ; IO PORT BASE
|
||||
.DB UART2IOB + UART_LSR ; LINE STATUS PORT (LSR)
|
||||
.DB UART2FEAT
|
||||
@@ -619,7 +629,7 @@ UART_CFG:
|
||||
.DW UART2BAUD >> 16
|
||||
#ENDIF
|
||||
#IF (UARTCNT >= 4)
|
||||
.DB 3 ; DEVICE NUMBER
|
||||
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
|
||||
.DB UART3IOB ; IO PORT BASE
|
||||
.DB UART3IOB + UART_LSR ; LINE STATUS PORT (LSR)
|
||||
.DB UART3FEAT
|
||||
@@ -627,7 +637,7 @@ UART_CFG:
|
||||
.DW UART3BAUD >> 16
|
||||
#ENDIF
|
||||
#IF (UARTCNT >= 5)
|
||||
.DB 4 ; DEVICE NUMBER
|
||||
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
|
||||
.DB UART4IOB ; IO PORT BASE
|
||||
.DB UART4IOB + UART_LSR ; LINE STATUS PORT (LSR)
|
||||
.DB UART4FEAT
|
||||
@@ -635,7 +645,7 @@ UART_CFG:
|
||||
.DW UART4BAUD >> 16
|
||||
#ENDIF
|
||||
#IF (UARTCNT >= 6)
|
||||
.DB 5 ; DEVICE NUMBER
|
||||
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
|
||||
.DB UART5IOB ; IO PORT BASE
|
||||
.DB UART5IOB + UART_LSR ; LINE STATUS PORT (LSR)
|
||||
.DB UART5FEAT
|
||||
@@ -643,7 +653,7 @@ UART_CFG:
|
||||
.DW UART5BAUD >> 16
|
||||
#ENDIF
|
||||
#IF (UARTCNT >= 7)
|
||||
.DB 6 ; DEVICE NUMBER
|
||||
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
|
||||
.DB UART6IOB ; IO PORT BASE
|
||||
.DB UART6IOB + UART_LSR ; LINE STATUS PORT (LSR)
|
||||
.DB UART6FEAT
|
||||
@@ -651,7 +661,7 @@ UART_CFG:
|
||||
.DW UART6BAUD >> 16
|
||||
#ENDIF
|
||||
#IF (UARTCNT >= 8)
|
||||
.DB 7 ; DEVICE NUMBER
|
||||
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
|
||||
.DB UART7IOB ; IO PORT BASE
|
||||
.DB UART7IOB + UART_LSR ; LINE STATUS PORT (LSR)
|
||||
.DB UART7FEAT
|
||||
|
||||
Reference in New Issue
Block a user