|
|
@ -35,6 +35,16 @@ CLR_ALWAYS .EQU 2 ; ALWAYS CLEAR RAM DISK |
|
|
DOP_READ .EQU 0 ; READ OPERATION |
|
|
DOP_READ .EQU 0 ; READ OPERATION |
|
|
DOP_WRITE .EQU 1 ; WRITE OPERATION |
|
|
DOP_WRITE .EQU 1 ; WRITE OPERATION |
|
|
; |
|
|
; |
|
|
|
|
|
; DEFAULT IOBYTE VALUE: |
|
|
|
|
|
; CON:=TTY: ------00 |
|
|
|
|
|
; RDR:=PTR: ----01-- |
|
|
|
|
|
; PUN:=PTP: --01---- |
|
|
|
|
|
; LST:=LPT: 10------ |
|
|
|
|
|
; ======== |
|
|
|
|
|
; 10010100 |
|
|
|
|
|
; |
|
|
|
|
|
DEF_IOBYTE .EQU %10010100 ; DEFAULT IOBYTE VALUE |
|
|
|
|
|
; |
|
|
; SPECIAL CHARACTER DEVICES IMPLEMENTED INTERNALLY |
|
|
; SPECIAL CHARACTER DEVICES IMPLEMENTED INTERNALLY |
|
|
; |
|
|
; |
|
|
DEV_BAT .EQU $FE ; BAT: |
|
|
DEV_BAT .EQU $FE ; BAT: |
|
|
@ -199,22 +209,23 @@ LD_UL1 .EQU CIODEV_CONSOLE ; -> LPT1: |
|
|
; |
|
|
; |
|
|
DEVMAP: |
|
|
DEVMAP: |
|
|
; |
|
|
; |
|
|
; CONSOLE |
|
|
|
|
|
|
|
|
; CONSOLE (CON:) |
|
|
.DB LD_TTY ; CON:=TTY: (IOBYTE XXXXXX00) |
|
|
.DB LD_TTY ; CON:=TTY: (IOBYTE XXXXXX00) |
|
|
.DB LD_CRT ; CON:=CRT: (IOBYTE XXXXXX01) |
|
|
.DB LD_CRT ; CON:=CRT: (IOBYTE XXXXXX01) |
|
|
.DB LD_BAT ; CON:=BAT: (IOBYTE XXXXXX10) |
|
|
.DB LD_BAT ; CON:=BAT: (IOBYTE XXXXXX10) |
|
|
.DB LD_UC1 ; CON:=UC1: (IOBYTE XXXXXX11) |
|
|
.DB LD_UC1 ; CON:=UC1: (IOBYTE XXXXXX11) |
|
|
; READER |
|
|
|
|
|
|
|
|
; READER (RDR:) |
|
|
.DB LD_TTY ; RDR:=TTY: (IOBYTE XXXX00XX) |
|
|
.DB LD_TTY ; RDR:=TTY: (IOBYTE XXXX00XX) |
|
|
.DB LD_PTR ; RDR:=PTR: (IOBYTE XXXX01XX) |
|
|
.DB LD_PTR ; RDR:=PTR: (IOBYTE XXXX01XX) |
|
|
.DB LD_UR1 ; RDR:=UR1: (IOBYTE XXXX10XX) |
|
|
.DB LD_UR1 ; RDR:=UR1: (IOBYTE XXXX10XX) |
|
|
.DB LD_UR2 ; RDR:=UR2: (IOBYTE XXXX11XX) |
|
|
.DB LD_UR2 ; RDR:=UR2: (IOBYTE XXXX11XX) |
|
|
; PUNCH |
|
|
|
|
|
|
|
|
; PUNCH (PUN:) |
|
|
.DB LD_TTY ; PUN:=TTY: (IOBYTE XX00XXXX) |
|
|
.DB LD_TTY ; PUN:=TTY: (IOBYTE XX00XXXX) |
|
|
.DB LD_PTP ; PUN:=PTP: (IOBYTE XX01XXXX) |
|
|
.DB LD_PTP ; PUN:=PTP: (IOBYTE XX01XXXX) |
|
|
|
|
|
.DB LD_PTP ; PUN:=PTP: (IOBYTE XX01XXXX) |
|
|
.DB LD_UP1 ; PUN:=UP1: (IOBYTE XX10XXXX) |
|
|
.DB LD_UP1 ; PUN:=UP1: (IOBYTE XX10XXXX) |
|
|
.DB LD_UP2 ; PUN:=UP2: (IOBYTE XX11XXXX) |
|
|
.DB LD_UP2 ; PUN:=UP2: (IOBYTE XX11XXXX) |
|
|
; LIST |
|
|
|
|
|
|
|
|
; LIST (LST:) |
|
|
.DB LD_TTY ; LST:=TTY: (IOBYTE 00XXXXXX) |
|
|
.DB LD_TTY ; LST:=TTY: (IOBYTE 00XXXXXX) |
|
|
.DB LD_CRT ; LST:=CRT: (IOBYTE 01XXXXXX) |
|
|
.DB LD_CRT ; LST:=CRT: (IOBYTE 01XXXXXX) |
|
|
.DB LD_LPT ; LST:=LPT: (IOBYTE 10XXXXXX) |
|
|
.DB LD_LPT ; LST:=LPT: (IOBYTE 10XXXXXX) |
|
|
@ -1871,7 +1882,7 @@ INIT: |
|
|
#ENDIF |
|
|
#ENDIF |
|
|
|
|
|
|
|
|
; PARAMETER INITIALIZATION |
|
|
; PARAMETER INITIALIZATION |
|
|
XOR A ; LOAD DEFAULT IOBYTE |
|
|
|
|
|
|
|
|
LD A,DEF_IOBYTE ; LOAD DEFAULT IOBYTE |
|
|
LD (IOBYTE),A ; STORE IT |
|
|
LD (IOBYTE),A ; STORE IT |
|
|
|
|
|
|
|
|
; INIT DEFAULT DRIVE TO A: FOR NOW |
|
|
; INIT DEFAULT DRIVE TO A: FOR NOW |
|
|
@ -2060,32 +2071,34 @@ DEV_INIT0: |
|
|
; |
|
|
; |
|
|
DEV_INIT1: |
|
|
DEV_INIT1: |
|
|
; PATCH IN COM0: DEVICE ENTRIES |
|
|
; PATCH IN COM0: DEVICE ENTRIES |
|
|
LD (DEVMAP + 0),A ; CONSOLE TTY |
|
|
|
|
|
LD (DEVMAP + 4),A ; READER TTY |
|
|
|
|
|
LD (DEVMAP + 8),A ; PUNCH TTY |
|
|
|
|
|
LD (DEVMAP + 12),A ; LIST TTY |
|
|
|
|
|
|
|
|
LD (DEVMAP + 0),A ; TTY: @ CON: |
|
|
|
|
|
LD (DEVMAP + 4),A ; TTY: @ RDR: |
|
|
|
|
|
LD (DEVMAP + 8),A ; TTY: @ PUN: |
|
|
|
|
|
LD (DEVMAP + 12),A ; TTY: @ LST: |
|
|
LD HL,DEV_INIT2 ; HL := CODE FOR NEXT DEVICE |
|
|
LD HL,DEV_INIT2 ; HL := CODE FOR NEXT DEVICE |
|
|
RET |
|
|
RET |
|
|
; |
|
|
; |
|
|
DEV_INIT2: |
|
|
DEV_INIT2: |
|
|
; PATCH IN COM1: DEVICE ENTRIES |
|
|
; PATCH IN COM1: DEVICE ENTRIES |
|
|
LD (DEVMAP + 3),A ; CONSOLE UC1 |
|
|
|
|
|
LD (DEVMAP + 5),A ; READER PTR |
|
|
|
|
|
LD (DEVMAP + 9),A ; PUNCH PTP |
|
|
|
|
|
|
|
|
LD (DEVMAP + 3),A ; UC1: @ CON: |
|
|
|
|
|
LD (DEVMAP + 5),A ; PTR: @ RDR: |
|
|
|
|
|
LD (DEVMAP + 9),A ; PTP: @ PUN: |
|
|
|
|
|
LD (DEVMAP + 14),A ; LPT: @ LST: |
|
|
LD HL,DEV_INIT3 ; HL := CODE FOR NEXT DEVICE |
|
|
LD HL,DEV_INIT3 ; HL := CODE FOR NEXT DEVICE |
|
|
RET |
|
|
RET |
|
|
; |
|
|
; |
|
|
DEV_INIT3: |
|
|
DEV_INIT3: |
|
|
; PATCH IN COM2: DEVICE ENTRIES |
|
|
; PATCH IN COM2: DEVICE ENTRIES |
|
|
LD (DEVMAP + 6),A ; READER UR1 |
|
|
|
|
|
LD (DEVMAP + 10),A ; PUNCH PT1 |
|
|
|
|
|
|
|
|
LD (DEVMAP + 6),A ; UR1: @ RDR: |
|
|
|
|
|
LD (DEVMAP + 10),A ; UP1: @ PUN: |
|
|
|
|
|
LD (DEVMAP + 15),A ; UL1: @ LST: |
|
|
LD HL,DEV_INIT4 ; HL := CODE FOR NEXT DEVICE |
|
|
LD HL,DEV_INIT4 ; HL := CODE FOR NEXT DEVICE |
|
|
RET |
|
|
RET |
|
|
; |
|
|
; |
|
|
DEV_INIT4: |
|
|
DEV_INIT4: |
|
|
; PATCH IN COM3: DEVICE ENTRIES |
|
|
; PATCH IN COM3: DEVICE ENTRIES |
|
|
LD (DEVMAP + 7),A ; READER UR2 |
|
|
|
|
|
LD (DEVMAP + 11),A ; PUNCH PT2 |
|
|
|
|
|
|
|
|
LD (DEVMAP + 7),A ; UR2: @ RDR: |
|
|
|
|
|
LD (DEVMAP + 11),A ; UP2: @ PUN: |
|
|
LD HL,DEV_INIT5 ; HL := CODE FOR NEXT DEVICE |
|
|
LD HL,DEV_INIT5 ; HL := CODE FOR NEXT DEVICE |
|
|
RET |
|
|
RET |
|
|
; |
|
|
; |
|
|
|