Browse Source

Reintegrate wbw -> trunk

pull/3/head
wayne 13 years ago
parent
commit
4cfa164f1f
  1. 2
      Source/config_n8_2312.asm
  2. 2
      Source/config_n8_2511.asm
  3. 2
      Source/config_n8vem.asm
  4. 2
      Source/config_n8vem_cvdu.asm
  5. 2
      Source/config_n8vem_dide.asm
  6. 2
      Source/config_n8vem_diskio.asm
  7. 2
      Source/config_n8vem_diskio3.asm
  8. 2
      Source/config_n8vem_ppide.asm
  9. 2
      Source/config_n8vem_ppisd.asm
  10. 2
      Source/config_n8vem_propio.asm
  11. 2
      Source/config_n8vem_vdu.asm
  12. 2
      Source/config_simh.asm
  13. 2
      Source/config_zeta.asm
  14. 2
      Source/config_zeta_ppp.asm
  15. 6
      Source/kbd.asm
  16. 4
      Source/ppk.asm
  17. 21
      Source/std.asm
  18. 117
      Source/util.asm

2
Source/config_n8_2312.asm

@ -79,7 +79,9 @@ HDSKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
HDSKCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
;
PPKENABLE .EQU TRUE ; TRUE FOR PARALLEL PORT KEYBOARD
PPKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPKENABLE = TRUE)
KBDENABLE .EQU FALSE ; TRUE FOR PS/2 KEYBOARD ON I8242
KBDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF KBDENABLE = TRUE)
;
TTYENABLE .EQU TRUE ; INCLUDE TTY EMULATION SUPPORT
ANSIENABLE .EQU TRUE ; INCLUDE ANSI EMULATION SUPPORT

2
Source/config_n8_2511.asm

@ -79,7 +79,9 @@ HDSKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
HDSKCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
;
PPKENABLE .EQU TRUE ; TRUE FOR PARALLEL PORT KEYBOARD
PPKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPKENABLE = TRUE)
KBDENABLE .EQU FALSE ; TRUE FOR PS/2 KEYBOARD ON I8242
KBDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF KBDENABLE = TRUE)
;
TTYENABLE .EQU TRUE ; INCLUDE TTY EMULATION SUPPORT
ANSIENABLE .EQU TRUE ; INCLUDE ANSI EMULATION SUPPORT

2
Source/config_n8vem.asm

@ -79,7 +79,9 @@ HDSKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
HDSKCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
;
PPKENABLE .EQU FALSE ; TRUE FOR PARALLEL PORT KEYBOARD
PPKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPKENABLE = TRUE)
KBDENABLE .EQU FALSE ; TRUE FOR PS/2 KEYBOARD ON I8242
KBDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF KBDENABLE = TRUE)
;
TTYENABLE .EQU FALSE ; INCLUDE TTY EMULATION SUPPORT
ANSIENABLE .EQU FALSE ; INCLUDE ANSI EMULATION SUPPORT

2
Source/config_n8vem_cvdu.asm

@ -79,7 +79,9 @@ HDSKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
HDSKCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
;
PPKENABLE .EQU FALSE ; TRUE FOR PARALLEL PORT KEYBOARD
PPKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPKENABLE = TRUE)
KBDENABLE .EQU TRUE ; TRUE FOR PS/2 KEYBOARD ON I8242
KBDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF KBDENABLE = TRUE)
;
TTYENABLE .EQU TRUE ; INCLUDE TTY EMULATION SUPPORT
ANSIENABLE .EQU TRUE ; INCLUDE ANSI EMULATION SUPPORT

2
Source/config_n8vem_dide.asm

@ -79,7 +79,9 @@ HDSKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
HDSKCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
;
PPKENABLE .EQU FALSE ; TRUE FOR PARALLEL PORT KEYBOARD
PPKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPKENABLE = TRUE)
KBDENABLE .EQU FALSE ; TRUE FOR PS/2 KEYBOARD ON I8242
KBDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF KBDENABLE = TRUE)
;
TTYENABLE .EQU FALSE ; INCLUDE TTY EMULATION SUPPORT
ANSIENABLE .EQU FALSE ; INCLUDE ANSI EMULATION SUPPORT

2
Source/config_n8vem_diskio.asm

@ -79,7 +79,9 @@ HDSKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
HDSKCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
;
PPKENABLE .EQU FALSE ; TRUE FOR PARALLEL PORT KEYBOARD
PPKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPKENABLE = TRUE)
KBDENABLE .EQU FALSE ; TRUE FOR PS/2 KEYBOARD ON I8242
KBDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF KBDENABLE = TRUE)
;
TTYENABLE .EQU FALSE ; INCLUDE TTY EMULATION SUPPORT
ANSIENABLE .EQU FALSE ; INCLUDE ANSI EMULATION SUPPORT

2
Source/config_n8vem_diskio3.asm

@ -79,7 +79,9 @@ HDSKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
HDSKCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
;
PPKENABLE .EQU FALSE ; TRUE FOR PARALLEL PORT KEYBOARD
PPKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPKENABLE = TRUE)
KBDENABLE .EQU FALSE ; TRUE FOR PS/2 KEYBOARD ON I8242
KBDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF KBDENABLE = TRUE)
;
TTYENABLE .EQU FALSE ; INCLUDE TTY EMULATION SUPPORT
ANSIENABLE .EQU FALSE ; INCLUDE ANSI EMULATION SUPPORT

2
Source/config_n8vem_ppide.asm

@ -79,7 +79,9 @@ HDSKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
HDSKCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
;
PPKENABLE .EQU FALSE ; TRUE FOR PARALLEL PORT KEYBOARD
PPKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPKENABLE = TRUE)
KBDENABLE .EQU FALSE ; TRUE FOR PS/2 KEYBOARD ON I8242
KBDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF KBDENABLE = TRUE)
;
TTYENABLE .EQU FALSE ; INCLUDE TTY EMULATION SUPPORT
ANSIENABLE .EQU FALSE ; INCLUDE ANSI EMULATION SUPPORT

2
Source/config_n8vem_ppisd.asm

@ -79,7 +79,9 @@ HDSKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
HDSKCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
;
PPKENABLE .EQU FALSE ; TRUE FOR PARALLEL PORT KEYBOARD
PPKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPKENABLE = TRUE)
KBDENABLE .EQU FALSE ; TRUE FOR PS/2 KEYBOARD ON I8242
KBDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF KBDENABLE = TRUE)
;
TTYENABLE .EQU FALSE ; INCLUDE TTY EMULATION SUPPORT
ANSIENABLE .EQU FALSE ; INCLUDE ANSI EMULATION SUPPORT

2
Source/config_n8vem_propio.asm

@ -79,7 +79,9 @@ HDSKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
HDSKCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
;
PPKENABLE .EQU FALSE ; TRUE FOR PARALLEL PORT KEYBOARD
PPKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPKENABLE = TRUE)
KBDENABLE .EQU FALSE ; TRUE FOR PS/2 KEYBOARD ON I8242
KBDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF KBDENABLE = TRUE)
;
TTYENABLE .EQU FALSE ; INCLUDE TTY EMULATION SUPPORT
ANSIENABLE .EQU FALSE ; INCLUDE ANSI EMULATION SUPPORT

2
Source/config_n8vem_vdu.asm

@ -79,7 +79,9 @@ HDSKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
HDSKCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
;
PPKENABLE .EQU TRUE ; TRUE FOR PARALLEL PORT KEYBOARD
PPKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPKENABLE = TRUE)
KBDENABLE .EQU FALSE ; TRUE FOR PS/2 KEYBOARD ON I8242
KBDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF KBDENABLE = TRUE)
;
TTYENABLE .EQU TRUE ; INCLUDE TTY EMULATION SUPPORT
ANSIENABLE .EQU TRUE ; INCLUDE ANSI EMULATION SUPPORT

2
Source/config_simh.asm

@ -79,7 +79,9 @@ HDSKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
HDSKCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
;
PPKENABLE .EQU FALSE ; TRUE FOR PARALLEL PORT KEYBOARD
PPKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPKENABLE = TRUE)
KBDENABLE .EQU FALSE ; TRUE FOR PS/2 KEYBOARD ON I8242
KBDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF KBDENABLE = TRUE)
;
TTYENABLE .EQU FALSE ; INCLUDE TTY EMULATION SUPPORT
ANSIENABLE .EQU FALSE ; INCLUDE ANSI EMULATION SUPPORT

2
Source/config_zeta.asm

@ -79,7 +79,9 @@ HDSKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
HDSKCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
;
PPKENABLE .EQU FALSE ; TRUE FOR PARALLEL PORT KEYBOARD
PPKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPKENABLE = TRUE)
KBDENABLE .EQU FALSE ; TRUE FOR PS/2 KEYBOARD ON I8242
KBDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF KBDENABLE = TRUE)
;
TTYENABLE .EQU FALSE ; INCLUDE TTY EMULATION SUPPORT
ANSIENABLE .EQU FALSE ; INCLUDE ANSI EMULATION SUPPORT

2
Source/config_zeta_ppp.asm

@ -79,7 +79,9 @@ HDSKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
HDSKCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
;
PPKENABLE .EQU FALSE ; TRUE FOR PARALLEL PORT KEYBOARD
PPKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPKENABLE = TRUE)
KBDENABLE .EQU FALSE ; TRUE FOR PS/2 KEYBOARD ON I8242
KBDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF KBDENABLE = TRUE)
;
TTYENABLE .EQU FALSE ; INCLUDE TTY EMULATION SUPPORT
ANSIENABLE .EQU FALSE ; INCLUDE ANSI EMULATION SUPPORT

6
Source/kbd.asm

@ -180,7 +180,7 @@ KBD_PUTCMD0:
RET
KBD_PUTCMD1:
LD A,E ; RECOVER VALUE TO WRITE
#IFDEF KBD_DEBUG
#IF (KBDTRACE >= 2)
CALL PC_SPACE
CALL PC_GT
CALL PC_GT
@ -205,7 +205,7 @@ KBD_PUTDATA0:
RET
KBD_PUTDATA1:
LD A,E ; RECOVER VALUE TO WRITE
#IFDEF KBD_DEBUG
#IF (KBDTRACE >= 2)
CALL PC_SPACE
CALL PC_GT
CALL PRTHEXBYTE
@ -229,7 +229,7 @@ KBD_GETDATA0:
RET
KBD_GETDATA1:
IN A,(KBD_DATA) ; GET THE DATA VALUE
#IFDEF KBD_DEBUG
#IF (KBDTRACE >= 2)
PUSH AF
CALL PC_SPACE
CALL PC_LT

4
Source/ppk.asm

@ -184,7 +184,7 @@ PPK_GETDATA2:
CALL PPK_CLKLO ; SUPPRESS KEYBOARD XMIT
LD A,E ; RETURN WITH RAW SCANCODE BYTE IN A
#IFDEF PPK_DEBUG
#IF (PPKTRACE >= 2)
CALL PC_SPACE
CALL PC_LT
CALL PRTHEXBYTE
@ -200,7 +200,7 @@ PPK_PUTDATA:
;
LD E,A ; STASH INCOMING BYTE VALUE IN E
#IFDEF PPK_DEBUG
#IF (PPKTRACE >= 2)
CALL PC_SPACE
CALL PC_GT
CALL PRTHEXBYTE

21
Source/std.asm

@ -33,6 +33,7 @@ BIOSSIZE .EQU 0100H ; DEPRECATED!!!
PLT_N8VEM .EQU 1 ; N8VEM ECB Z80 SBC
PLT_ZETA .EQU 2 ; ZETA Z80 SBC
PLT_N8 .EQU 3 ; N8 (HOME COMPUTER) Z180 SBC
PLT_S2I .EQU 4 ; SCSI2IDE
;
; BOOT STYLE
;
@ -199,14 +200,23 @@ RTC .EQU 70H ; ADDRESS OF RTC LATCH AND INPUT PORT
;
; PPI 82C55 I/O IS DECODED TO PORT 60-67
;
PPIA .EQU 60H ; PORT A
PPIB .EQU 61H ; PORT B
PPIC .EQU 62H ; PORT C
PPIX .EQU 63H ; PPI CONTROL PORT
#IF (PLATFORM == PLT_S2I)
PPIBASE .EQU 80H
#ELSE
PPIBASE .EQU 60H
#ENDIF
PPIA .EQU PPIBASE + 0 ; PORT A
PPIB .EQU PPIBASE + 1 ; PORT B
PPIC .EQU PPIBASE + 2 ; PORT C
PPIX .EQU PPIBASE + 3 ; PPI CONTROL PORT
;
; 16C550 SERIAL LINE UART
;
#IF (PLATFORM == PLT_S2I)
SIO_BASE .EQU 90H
#ELSE
SIO_BASE .EQU 68H
#ENDIF
SIO_RBR .EQU SIO_BASE + 0 ; DLAB=0: RCVR BUFFER REG (READ ONLY)
SIO_THR .EQU SIO_BASE + 0 ; DLAB=0: XMIT HOLDING REG (WRITE ONLY)
SIO_IER .EQU SIO_BASE + 1 ; DLAB=0: INT ENABLE REG
@ -488,6 +498,9 @@ CCPSIZ: .EQU 00800H
#IF (PLATFORM == PLT_N8)
#DEFINE PLATFORM_NAME "N8 Z180 SBC"
#ENDIF
#IF (PLATFORM == PLT_S2I)
#DEFINE PLATFORM_NAME "SCSI2IDE"
#ENDIF
;
#IF (DSKYENABLE)
#DEFINE DSKYLBL ", DSKY"

117
Source/util.asm

@ -93,12 +93,11 @@ NEWLINE:
PRTHEXBYTE:
PUSH AF
PUSH DE
LD DE,HEXSTRBUF
CALL HEXSTRBYTE
LD A,'$'
LD (DE),A
LD DE,HEXSTRBUF
CALL WRITESTR
CALL HEXASCII
LD A,D
CALL COUT
LD A,E
CALL COUT
POP DE
POP AF
RET
@ -114,50 +113,30 @@ PRTHEXWORD:
POP AF
RET
;
; CONVERT VALUE IN A TO A 2 CHARACTER HEX STRING AT DE
;
HEXCHR .TEXT "0123456789ABCDEF"
; CONVERT BINARY VALUE IN A TO ASCII HEX CHARACTERS IN DE
;
HEXSTRBYTE:
PUSH BC
PUSH HL
PUSH AF
LD BC,0
RRA
RRA
RRA
RRA
AND 0FH
LD C,A
LD HL,HEXCHR
ADD HL,BC
LD A,(HL)
LD (DE),A
INC DE
POP AF
PUSH AF
LD BC,0
AND 0FH
LD C,A
LD HL,HEXCHR
ADD HL,BC
LD A,(HL)
LD (DE),A
INC DE
POP AF
POP HL
POP BC
HEXASCII:
LD D,A
CALL HEXCONV
LD E,A
LD A,D
RLCA
RLCA
RLCA
RLCA
CALL HEXCONV
LD D,A
RET
;
; CONVERT VALUE IN BC TO A 4 CHARACTER HEX STRING AT DE
; CONVERT LOW NIBBLE OF A TO ASCII HEX
;
HEXSTRWORD:
LD A,B
CALL HEXSTRBYTE
LD A,C
CALL HEXSTRBYTE
RET
HEXCONV:
AND 0FH ;LOW NIBBLE ONLY
ADD A,90H
DAA
ADC A,40H
DAA
RET
;
; PRINT A BYTE BUFFER IN HEX POINTED TO BY DE
; REGISTER A HAS SIZE OF BUFFER
@ -209,29 +188,34 @@ PANIC:
CALL WRITESTR
LD DE,STR_AF
CALL WRITESTR
POP BC
POP BC ; AF
CALL PRTHEXWORD
LD DE,STR_BC
CALL WRITESTR
POP BC
POP BC ; BC
CALL PRTHEXWORD
LD DE,STR_DE
CALL WRITESTR
POP BC
POP BC ; DE
CALL PRTHEXWORD
LD DE,STR_HL
CALL WRITESTR
POP BC
POP BC ; HL
CALL PRTHEXWORD
LD DE,STR_PC
CALL WRITESTR
POP BC
POP BC ; PC
CALL PRTHEXWORD
LD DE,STR_SP
CALL WRITESTR
LD (PANIC_SP),SP
LD BC,(PANIC_SP)
LD HL,0
ADD HL,SP ; SP
LD B,H
LD C,L
CALL PRTHEXWORD
RST 38
JP 0
;
;==================================================================================================
@ -252,6 +236,14 @@ COUT:
LD B,BF_CIOOUT
CALL BIOS_DISPATCH
#ENDIF
#IFDEF CIOMODE_HBIOS
#DEFINE CIOMODE_NONDOS
LD E,A
LD A,DEFCON
LD C,A
LD B,BF_CIOOUT
RST 08
#ENDIF
#IFDEF CIOMODE_CBIOS
#DEFINE CIOMODE_NONDOS
LD C,A
@ -282,6 +274,14 @@ CIN:
CALL BIOS_DISPATCH
LD A,E
#ENDIF
#IFDEF CIOMODE_HBIOS
#DEFINE CIOMODE_NONDOS
LD A,DEFCON
LD C,A
LD B,BF_CIOIN
RST 08
LD A,E
#ENDIF
#IFDEF CIOMODE_CBIOS
#DEFINE CIOMODE_NONDOS
CALL CBIOS_CONIN
@ -308,6 +308,13 @@ CST:
LD C,A
CALL BIOS_DISPATCH
#ENDIF
#IFDEF CIOMODE_HBIOS
#DEFINE CIOMODE_NONDOS
LD B,BF_CIOIST
LD A,DEFCON
LD C,A
RST 08
#ENDIF
#IFDEF CIOMODE_CBIOS
#DEFINE CIOMODE_NONDOS
CALL CBIOS_CONST
@ -631,12 +638,8 @@ DSKY_COFF
;
STR_EMPTY .TEXT "<EMPTY>$"
;
HEXSTRBUF .TEXT "XX$"
;
KY_BUF .DB 0
DSKY_BUF: .FILL 8,0
DSKY_BUFLEN .EQU $ - DSKY_BUF
DSKY_HEXBUF .FILL 4,0
DSKY_HEXBUFLEN .EQU $ - DSKY_HEXBUF
;
PANIC_SP .DW 0

Loading…
Cancel
Save