diff --git a/Doc/ChangeLog.txt b/Doc/ChangeLog.txt index 73ae598f..4b6ce210 100644 --- a/Doc/ChangeLog.txt +++ b/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 ------------- diff --git a/ReadMe.txt b/ReadMe.txt index 562dfb90..c55ab4ce 100644 --- a/ReadMe.txt +++ b/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 diff --git a/Source/CBIOS/cbios.asm b/Source/CBIOS/cbios.asm index dbebf188..232a7649 100644 --- a/Source/CBIOS/cbios.asm +++ b/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 ; diff --git a/Source/CBIOS/ver.inc b/Source/CBIOS/ver.inc index 423471dc..61757cc5 100644 --- a/Source/CBIOS/ver.inc +++ b/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" diff --git a/Source/HBIOS/ver.inc b/Source/HBIOS/ver.inc index 423471dc..61757cc5 100644 --- a/Source/HBIOS/ver.inc +++ b/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" diff --git a/Source/Prop/Spin/AnsiTerm.spin b/Source/Prop/Spin/AnsiTerm.spin index 3f229ff2..5799c987 100644 --- a/Source/Prop/Spin/AnsiTerm.spin +++ b/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))