Browse Source

Handle LST: better

- LST: auto mapped to second serial port if available
- Minor updates to Prop ANSI emulation
pull/9/head
Wayne Warthen 8 years ago
parent
commit
2872381c7d
  1. 3
      Doc/ChangeLog.txt
  2. 2
      ReadMe.txt
  3. 45
      Source/CBIOS/cbios.asm
  4. 2
      Source/CBIOS/ver.inc
  5. 2
      Source/HBIOS/ver.inc
  6. 12
      Source/Prop/Spin/AnsiTerm.spin

3
Doc/ChangeLog.txt

@ -5,6 +5,9 @@ Version 2.9.1
- WBW: Updated Win32DiskImager to v1.0
- WBW: Implemented character attributes on Propeller based consoles
- M?S: Added support for BEL function in Propeller based consoles
- WBW: Support additional escape sequences in Propeller console ANSI emulation
- WBW: Map LPT: to second serial port, UL1: to third serial port
- WBW: Update default IOBYTE so that LST:=LPT: by default
Version 2.9.0
-------------

2
ReadMe.txt

@ -7,7 +7,7 @@
***********************************************************************
Wayne Warthen (wwarthen@gmail.com)
Version 2.9.1-pre.1, 2018-04-19
Version 2.9.1-pre.2, 2018-05-01
https://www.retrobrewcomputers.org/
RomWBW is a ROM-based implementation of CP/M-80 2.2 and Z-System for

45
Source/CBIOS/cbios.asm

@ -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
;

2
Source/CBIOS/ver.inc

@ -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"

2
Source/HBIOS/ver.inc

@ -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"

12
Source/Prop/Spin/AnsiTerm.spin

@ -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))

Loading…
Cancel
Save