Handle LST: better

- LST: auto mapped to second serial port if available
- Minor updates to Prop ANSI emulation
This commit is contained in:
Wayne Warthen
2018-05-01 09:10:12 -07:00
parent 1f594e1004
commit 2872381c7d
6 changed files with 47 additions and 19 deletions

View File

@@ -35,6 +35,16 @@ CLR_ALWAYS .EQU 2 ; ALWAYS CLEAR RAM DISK
DOP_READ .EQU 0 ; READ 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
;
DEV_BAT .EQU $FE ; BAT:
@@ -199,22 +209,23 @@ LD_UL1 .EQU CIODEV_CONSOLE ; -> LPT1:
;
DEVMAP:
;
; CONSOLE
; CONSOLE (CON:)
.DB LD_TTY ; CON:=TTY: (IOBYTE XXXXXX00)
.DB LD_CRT ; CON:=CRT: (IOBYTE XXXXXX01)
.DB LD_BAT ; CON:=BAT: (IOBYTE XXXXXX10)
.DB LD_UC1 ; CON:=UC1: (IOBYTE XXXXXX11)
; READER
; READER (RDR:)
.DB LD_TTY ; RDR:=TTY: (IOBYTE XXXX00XX)
.DB LD_PTR ; RDR:=PTR: (IOBYTE XXXX01XX)
.DB LD_UR1 ; RDR:=UR1: (IOBYTE XXXX10XX)
.DB LD_UR2 ; RDR:=UR2: (IOBYTE XXXX11XX)
; PUNCH
; PUNCH (PUN:)
.DB LD_TTY ; PUN:=TTY: (IOBYTE XX00XXXX)
.DB LD_PTP ; PUN:=PTP: (IOBYTE XX01XXXX)
.DB LD_PTP ; PUN:=PTP: (IOBYTE XX01XXXX)
.DB LD_UP1 ; PUN:=UP1: (IOBYTE XX10XXXX)
.DB LD_UP2 ; PUN:=UP2: (IOBYTE XX11XXXX)
; LIST
; LIST (LST:)
.DB LD_TTY ; LST:=TTY: (IOBYTE 00XXXXXX)
.DB LD_CRT ; LST:=CRT: (IOBYTE 01XXXXXX)
.DB LD_LPT ; LST:=LPT: (IOBYTE 10XXXXXX)
@@ -1871,7 +1882,7 @@ INIT:
#ENDIF
; PARAMETER INITIALIZATION
XOR A ; LOAD DEFAULT IOBYTE
LD A,DEF_IOBYTE ; LOAD DEFAULT IOBYTE
LD (IOBYTE),A ; STORE IT
; INIT DEFAULT DRIVE TO A: FOR NOW
@@ -2060,32 +2071,34 @@ DEV_INIT0:
;
DEV_INIT1:
; 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
RET
;
DEV_INIT2:
; 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
RET
;
DEV_INIT3:
; 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
RET
;
DEV_INIT4:
; 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
RET
;

View File

@@ -2,4 +2,4 @@
#DEFINE RMN 9
#DEFINE RUP 1
#DEFINE RTP 0
#DEFINE BIOSVER "2.9.1-pre.1"
#DEFINE BIOSVER "2.9.1-pre.2"

View File

@@ -2,4 +2,4 @@
#DEFINE RMN 9
#DEFINE RUP 1
#DEFINE RTP 0
#DEFINE BIOSVER "2.9.1-pre.1"
#DEFINE BIOSVER "2.9.1-pre.2"

View File

@@ -199,6 +199,18 @@ PRI setMode(n)
blink := 1
elseif (n == 7)
reverse := 1
elseif (n == 21)
bold := 0
elseif (n == 22)
bold := 0
elseif (n == 24)
underscore := 0
elseif (n == 25)
blink := 0
elseif (n == 27)
reverse := 0
elseif ((n => 30) & (n =< 37))
fg := cmap[(n - 30)]
elseif ((n => 40) & (n =< 47))