mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-07 06:53:13 -06:00
Compare commits
6 Commits
v3.3.0-dev
...
v3.3.0-dev
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6e316b46f0 | ||
|
|
3f23396536 | ||
|
|
c628ba10f2 | ||
|
|
9358299f14 | ||
|
|
d445c4a015 | ||
|
|
e32002545b |
@@ -5,6 +5,8 @@ Version 3.3
|
||||
- A?C: Support for SD PIO
|
||||
- A?C: Support for Z80-Retro SD interface
|
||||
- WBW: Support per-drive floppy configuration
|
||||
- WBW: Support for Bill Shen's VGARC
|
||||
- WBW: Support for MG014 Parallel Port module + printer
|
||||
|
||||
Version 3.2.1
|
||||
-------------
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -3,7 +3,7 @@
|
||||
**RomWBW ReadMe** \
|
||||
Version 3.3 \
|
||||
Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \
|
||||
02 May 2023
|
||||
03 May 2023
|
||||
|
||||
# Overview
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
RomWBW ReadMe
|
||||
Wayne Warthen (wwarthen@gmail.com)
|
||||
02 May 2023
|
||||
03 May 2023
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -2221,7 +2221,7 @@ rate of the ASCI port(s) will be affected.
|
||||
|
||||
| **Entry Parameters** | **Returned Values** |
|
||||
|----------------------------------------|----------------------------------------|
|
||||
| B: 0xF8 | A: Status |
|
||||
| B: 0xF9 | A: Status |
|
||||
| C: 0xF4 | |
|
||||
| L: LEDs | |
|
||||
|
||||
|
||||
@@ -3808,6 +3808,7 @@ the RomWBW HBIOS configuration.
|
||||
- WDC Floppy Disk Controller w/ 3.5" HD Drives
|
||||
- Onboard IDE Hard Disk Interface Module
|
||||
- PPIDE Hard Disk Interface Module
|
||||
- VGARC Video & Keyboard Module
|
||||
- Serial baud rate is usually determined by hardware for ACIA and
|
||||
SIO interfaces
|
||||
|
||||
@@ -3831,6 +3832,7 @@ the RomWBW HBIOS configuration.
|
||||
- WDC Floppy Disk Controller w/ 3.5" HD Drives
|
||||
- Onboard IDE Hard Disk Interface Module
|
||||
- PPIDE Hard Disk Interface Module
|
||||
- VGARC Video & Keyboard Module
|
||||
- Serial baud rate is usually determined by hardware for ACIA and
|
||||
SIO interfaces
|
||||
|
||||
@@ -3854,6 +3856,7 @@ the RomWBW HBIOS configuration.
|
||||
- WDC Floppy Disk Controller w/ 3.5" HD Drives
|
||||
- Onboard IDE Hard Disk Interface Module
|
||||
- PPIDE Hard Disk Interface Module
|
||||
- VGARC Video & Keyboard Module
|
||||
- Serial baud rate is usually determined by hardware for ACIA and
|
||||
SIO interfaces
|
||||
|
||||
@@ -3923,6 +3926,6 @@ may be discovered by RomWBW in your system.
|
||||
| USB-FIFO | Char | FT232H-based ECB USB FIFO |
|
||||
| VDU | Video | MC6845 Family Video Display Controller |
|
||||
| VGA | Video | HD6445CP4-based Video Display Controller |
|
||||
| VRC | Video | VGARC Video Display Controller s |
|
||||
| VRC | Video | VGARC Video Display Controller |
|
||||
| YM | Audio | YM2612 Programmable Sound Generator |
|
||||
| Z2U | Char | Zilog Z280 CPU Built-in Serial Ports |
|
||||
|
||||
@@ -11,8 +11,8 @@ echo Preparing compressed font files...
|
||||
lzsa -f2 -r font8x8u.bin font8x8c.bin || exit /b
|
||||
lzsa -f2 -r font8x11u.bin font8x11c.bin || exit /b
|
||||
lzsa -f2 -r font8x16u.bin font8x16c.bin || exit /b
|
||||
|
||||
lzsa -f2 -r fontcgau.bin fontcgac.bin || exit /b
|
||||
lzsa -f2 -r fontvgarcu.bin fontvgarcc.bin || exit /b
|
||||
|
||||
fonttool font8x8u.bin > font8x8u.asm || exit /b
|
||||
fonttool font8x11u.bin > font8x11u.asm || exit /b
|
||||
@@ -20,6 +20,7 @@ fonttool font8x16u.bin > font8x16u.asm || exit /b
|
||||
fonttool font8x8c.bin > font8x8c.asm || exit /b
|
||||
fonttool font8x11c.bin > font8x11c.asm || exit /b
|
||||
fonttool font8x16c.bin > font8x16c.asm || exit /b
|
||||
|
||||
fonttool fontcgau.bin > fontcgau.asm || exit /b
|
||||
fonttool fontcgac.bin > fontcgac.asm || exit /b
|
||||
fonttool fontvgarcu.bin > fontvgarcu.asm || exit /b
|
||||
fonttool fontvgarcc.bin > fontvgarcc.asm || exit /b
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
OBJECTS = \
|
||||
font8x8u.asm font8x11u.asm font8x16u.asm fontcgau.asm \
|
||||
font8x8c.asm font8x11c.asm font8x16c.asm fontcgac.asm
|
||||
font8x8u.asm font8x11u.asm font8x16u.asm fontcgau.asm fontvgarcu.asm \
|
||||
font8x8c.asm font8x11c.asm font8x16c.asm fontcgac.asm fontvgarcc.asm
|
||||
|
||||
OTHERS = font8x8c.bin font8x11c.bin font8x16c.bin fontcgac.bin
|
||||
OTHERS = font8x8c.bin font8x11c.bin font8x16c.bin fontcgac.bin fontvgarcc.bin
|
||||
|
||||
TOOLS = ../../Tools
|
||||
|
||||
@@ -26,5 +26,8 @@ font8x16c.bin: font8x16u.bin
|
||||
fontcgac.bin: fontcgau.bin
|
||||
$(BINDIR)/lzsa -f2 -r $< $@
|
||||
|
||||
fontvgarcc.bin: fontvgarcu.bin
|
||||
$(BINDIR)/lzsa -f2 -r $< $@
|
||||
|
||||
%.asm: %.bin
|
||||
$(BINDIR)/bin2asm $< > $@
|
||||
|
||||
BIN
Source/Fonts/fontvgarcu.bin
Normal file
BIN
Source/Fonts/fontvgarcu.bin
Normal file
Binary file not shown.
@@ -48,6 +48,8 @@ DSKYMODE .SET DSKYMODE_NG ; DSKY VERSION: DSKYMODE_[V1|NG]
|
||||
UARTINTS .SET FALSE ; UART: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
;UARTCFG .SET UARTCFG | SER_RTS
|
||||
;
|
||||
LPTENABLE .SET TRUE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
;
|
||||
CVDUMON .SET CVDUMON_CGA ; CVDU: CVDU MONITOR SETUP: CVDUMON_[NONE|CGA|EGA]
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
|
||||
@@ -29,8 +29,8 @@
|
||||
CPUOSC .SET 18432000 ; CPU OSC FREQ IN MHZ
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
;
|
||||
FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES
|
||||
DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
;
|
||||
MEMMGR .SET MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180]
|
||||
;
|
||||
|
||||
@@ -29,8 +29,8 @@
|
||||
CPUOSC .SET 18432000 ; CPU OSC FREQ IN MHZ
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
;
|
||||
FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES
|
||||
DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
;
|
||||
MEMMGR .SET MM_Z180 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180]
|
||||
;
|
||||
|
||||
@@ -30,8 +30,8 @@ CPUOSC .SET 12000000 ; CPU OSC FREQ IN MHZ
|
||||
INTMODE .SET 1 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
;
|
||||
FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES
|
||||
DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
;
|
||||
MEMMGR .SET MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180]
|
||||
;
|
||||
|
||||
@@ -30,8 +30,8 @@ CPUOSC .SET 12000000 ; CPU OSC FREQ IN MHZ
|
||||
INTMODE .SET 3 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
;
|
||||
FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES
|
||||
DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
;
|
||||
MEMMGR .SET MM_Z280 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280]
|
||||
;
|
||||
|
||||
@@ -32,8 +32,8 @@ CPUOSC .SET 12000000 ; CPU OSC FREQ IN MHZ
|
||||
INTMODE .SET 3 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
;
|
||||
FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES
|
||||
DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
;
|
||||
MEMMGR .SET MM_Z280 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280]
|
||||
;
|
||||
@@ -54,8 +54,8 @@ SIOENABLE .SET TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
|
||||
TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|MSX|MSX9958|MSXKBD|COLECO]
|
||||
MKYENABLE .SET FALSE ; MSX 5255 PPI KEYBOARD COMPATIBLE DRIVER (REQUIRES TMS VDA DRIVER)
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
|
||||
VRCENABLE .SET TRUE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
|
||||
;
|
||||
AY38910ENABLE .SET FALSE ; AY: AY-3-8910 / YM2149 SOUND DRIVER
|
||||
AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC]
|
||||
|
||||
@@ -32,8 +32,8 @@ CPUOSC .SET 14745600 ; CPU OSC FREQ IN MHZ
|
||||
INTMODE .SET 3 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
;
|
||||
FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES
|
||||
DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
;
|
||||
MEMMGR .SET MM_Z280 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280]
|
||||
;
|
||||
@@ -62,8 +62,8 @@ SIOENABLE .SET TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
|
||||
TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|MSX|MSX9958|MSXKBD|COLECO]
|
||||
MKYENABLE .SET FALSE ; MSX 5255 PPI KEYBOARD COMPATIBLE DRIVER (REQUIRES TMS VDA DRIVER)
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
|
||||
VRCENABLE .SET TRUE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
|
||||
;
|
||||
AY38910ENABLE .SET FALSE ; AY: AY-3-8910 / YM2149 SOUND DRIVER
|
||||
AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC]
|
||||
|
||||
@@ -33,14 +33,12 @@ CPUOSC .SET 10000000 ; CPU OSC FREQ IN MHZ
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
INTMODE .SET 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
|
||||
;
|
||||
FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES
|
||||
DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
;
|
||||
WDOGMODE .SET WDOG_EZZ80 ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ]
|
||||
WDOGIO .SET $6F ; WATCHDOG REGISTER ADR
|
||||
;
|
||||
DIAGENABLE .SET FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
;
|
||||
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
|
||||
RP5RTCENABLE .SET FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
|
||||
;
|
||||
|
||||
@@ -30,8 +30,8 @@ CPUOSC .SET 7372800 ; CPU OSC FREQ IN MHZ
|
||||
INTMODE .SET 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
;
|
||||
FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES
|
||||
DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
;
|
||||
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
|
||||
RP5RTCENABLE .SET FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
|
||||
|
||||
@@ -29,13 +29,13 @@
|
||||
CPUOSC .SET 7372800 ; CPU OSC FREQ IN MHZ
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
;
|
||||
FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES
|
||||
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
;
|
||||
SKZENABLE .SET TRUE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
SKZDIV .SET DIV_12 ; UART CLK (CLK2) DIVIDER FOR Z80-512K
|
||||
WDOGMODE .SET WDOG_SKZ ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ]
|
||||
;
|
||||
DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
LEDENABLE .SET TRUE ; ENABLES STATUS LED (SINGLE LED)
|
||||
LEDPORT .SET $6E ; STATUS LED PORT ADDRESS
|
||||
;
|
||||
|
||||
@@ -29,8 +29,8 @@
|
||||
CPUOSC .SET 7372800 ; CPU OSC FREQ IN MHZ
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
;
|
||||
FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES
|
||||
DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
;
|
||||
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
|
||||
RP5RTCENABLE .SET FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
|
||||
@@ -40,6 +40,8 @@ ACIAENABLE .SET TRUE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
|
||||
SIOENABLE .SET TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
|
||||
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
;
|
||||
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
;
|
||||
TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|MSX|MSX9958|MSXKBD|COLECO]
|
||||
|
||||
@@ -33,14 +33,13 @@ CPUOSC .SET 16000000 ; CPU OSC FREQ IN MHZ
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
INTMODE .SET 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
|
||||
;
|
||||
FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES
|
||||
DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
;
|
||||
EIPCENABLE .SET TRUE ; EIPC: ENABLE Z80 EIPC (Z84C15) INITIALIZATION
|
||||
WDOGMODE .SET WDOG_EZZ80 ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ]
|
||||
WDOGIO .SET $6F ; WATCHDOG REGISTER ADR
|
||||
;
|
||||
DIAGENABLE .SET FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
LEDENABLE .SET TRUE ; ENABLES STATUS LED (SINGLE LED)
|
||||
LEDPORT .SET $6E ; STATUS LED PORT ADDRESS
|
||||
;
|
||||
|
||||
@@ -30,8 +30,8 @@
|
||||
CPUOSC .SET 14745600 ; CPU OSC FREQ IN MHZ
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
;
|
||||
FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES
|
||||
DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
;
|
||||
RAMSIZE .SET 1536 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
MEMMGR .SET MM_ZRC ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180]
|
||||
@@ -45,8 +45,8 @@ TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|MSX|MSX9958|MSXKBD|COLECO]
|
||||
MKYENABLE .SET FALSE ; MSX 5255 PPI KEYBOARD COMPATIBLE DRIVER (REQUIRES TMS VDA DRIVER)
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
|
||||
VRCENABLE .SET TRUE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
|
||||
;
|
||||
AY38910ENABLE .SET FALSE ; AY: AY-3-8910 / YM2149 SOUND DRIVER
|
||||
AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC]
|
||||
|
||||
@@ -31,8 +31,8 @@
|
||||
CPUOSC .SET 7372800 ; CPU OSC FREQ IN MHZ
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
;
|
||||
FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES
|
||||
DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
;
|
||||
RAMSIZE .SET 2048 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE .SET 0 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
@@ -49,7 +49,7 @@ TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|MSX|MSX9958|MSXKBD|COLECO]
|
||||
MKYENABLE .SET FALSE ; MSX 5255 PPI KEYBOARD COMPATIBLE DRIVER (REQUIRES TMS VDA DRIVER)
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
VRCENABLE .SET TRUE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
|
||||
;
|
||||
AY38910ENABLE .SET FALSE ; AY: AY-3-8910 / YM2149 SOUND DRIVER
|
||||
|
||||
@@ -35,7 +35,8 @@ USELZSA2 .SET TRUE ; ENABLE FONT COMPRESSION
|
||||
;
|
||||
KIOENABLE .SET TRUE ; ENABLE ZILOG KIO SUPPORT
|
||||
;
|
||||
DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
;
|
||||
DSKYENABLE .SET TRUE ; ENABLES DSKY (DO NOT COMBINE WITH PPIDE)
|
||||
;
|
||||
|
||||
@@ -35,9 +35,9 @@ Z180_CLKDIV .SET 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2
|
||||
Z180_MEMWAIT .SET 0 ; Z180: MEMORY WAIT STATES (0-3)
|
||||
Z180_IOWAIT .SET 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3)
|
||||
;
|
||||
FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES
|
||||
DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
DIAGPORT .SET $0D ; DIAGNOSTIC PORT ADDRESS
|
||||
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
FPLED_IO .SET $0D ; FP: PORT ADDRESS FOR FP LEDS
|
||||
;
|
||||
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
|
||||
INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
|
||||
|
||||
@@ -35,9 +35,9 @@ Z180_CLKDIV .SET 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2
|
||||
Z180_MEMWAIT .SET 0 ; Z180: MEMORY WAIT STATES (0-3)
|
||||
Z180_IOWAIT .SET 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3)
|
||||
;
|
||||
FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES
|
||||
DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
DIAGPORT .SET $00 ; DIAGNOSTIC PORT ADDRESS
|
||||
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
;
|
||||
LEDENABLE .SET TRUE ; ENABLE STATUS LED (SINGLE LED)
|
||||
;
|
||||
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
|
||||
|
||||
@@ -34,8 +34,10 @@ Z180_CLKDIV .SET 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2
|
||||
Z180_MEMWAIT .SET 0 ; Z180: MEMORY WAIT STATES (0-3)
|
||||
Z180_IOWAIT .SET 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3)
|
||||
;
|
||||
FPLED_ENABLE .SET FALSE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPSW_ENABLE .SET FALSE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
;
|
||||
LEDENABLE .SET TRUE ; ENABLE STATUS LED (SINGLE LED)
|
||||
DIAGENABLE .SET FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
;
|
||||
DSRTCENABLE .SET FALSE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
|
||||
INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
|
||||
|
||||
@@ -34,11 +34,10 @@ Z180_CLKDIV .SET 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2
|
||||
Z180_MEMWAIT .SET 0 ; Z180: MEMORY WAIT STATES (0-3)
|
||||
Z180_IOWAIT .SET 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3)
|
||||
;
|
||||
FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES
|
||||
FPBASE .SET $00 ; FRONT PANEL I/O PORT BASE ADDRESS
|
||||
FPLED_ENABLE .SET FALSE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPSW_ENABLE .SET FALSE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
;
|
||||
LEDENABLE .SET TRUE ; ENABLE STATUS LED (SINGLE LED)
|
||||
DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
DIAGPORT .SET $00 ; DIAGNOSTIC PORT ADDRESS
|
||||
;
|
||||
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
|
||||
INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
|
||||
|
||||
@@ -34,11 +34,10 @@ Z180_CLKDIV .SET 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2
|
||||
Z180_MEMWAIT .SET 0 ; Z180: MEMORY WAIT STATES (0-3)
|
||||
Z180_IOWAIT .SET 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3)
|
||||
;
|
||||
FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES
|
||||
FPBASE .SET $00 ; FRONT PANEL I/O PORT BASE ADDRESS
|
||||
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
;
|
||||
LEDENABLE .SET TRUE ; ENABLE STATUS LED (SINGLE LED)
|
||||
DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
DIAGPORT .SET $00 ; DIAGNOSTIC PORT ADDRESS
|
||||
;
|
||||
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
|
||||
INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
|
||||
|
||||
@@ -24,7 +24,8 @@ endif
|
||||
|
||||
include $(TOOLS)/Makefile.inc
|
||||
|
||||
FONTS := font8x11c.asm font8x11u.asm font8x16c.asm font8x16u.asm font8x8c.asm font8x8u.asm fontcgac.asm fontcgau.asm
|
||||
FONTS := font8x11c.asm font8x11u.asm font8x16c.asm font8x16u.asm font8x8c.asm font8x8u.asm \
|
||||
fontcgac.asm fontcgau.asm fontvgarcc.asm fontvgarcu.asm
|
||||
|
||||
ifeq ($(CPUFAM),2)
|
||||
TASM=$(BINDIR)/uz80as -t hd64180
|
||||
|
||||
@@ -634,7 +634,6 @@ ANSI_BEL:
|
||||
ANSI_BS:
|
||||
LD A,(ANSI_COL) ; GET CURRENT COLUMN
|
||||
DEC A ; BACK IT UP BY ONE
|
||||
;RET C ; IF CARRY, MARGIN EXCEEDED, ABORT
|
||||
RET M ; IF CARRY, MARGIN EXCEEDED, ABORT
|
||||
LD (ANSI_COL),A ; SAVE NEW COLUMN
|
||||
JP ANSI_XY ; UDPATE CURSOR AND RETURN
|
||||
|
||||
@@ -66,11 +66,12 @@ SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
;
|
||||
WDOGMODE .EQU WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ]
|
||||
;
|
||||
FPENABLE .EQU FALSE ; ENABLES FRONT PANEL SWITCHES
|
||||
FPBASE .EQU $00 ; FRONT PANEL I/O PORT BASE ADDRESS
|
||||
DIAGENABLE .EQU FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS
|
||||
DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS
|
||||
FPLED_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPLED_IO .EQU $00 ; FP: PORT ADDRESS FOR FP LEDS
|
||||
FPLED_DSKACT .EQU TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS
|
||||
FPSW_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
FPSW_IO .EQU $00 ; FP: PORT ADDRESS FOR FP SWITCHES
|
||||
;
|
||||
DIAGLVL .EQU DL_CRITICAL ; ERROR LEVEL REPORTING
|
||||
;
|
||||
LEDENABLE .EQU FALSE ; ENABLES STATUS LED (SINGLE LED)
|
||||
|
||||
@@ -95,11 +95,12 @@ SKZDIV .EQU DIV_1 ; UART CLK (CLK2) DIVIDER FOR Z80-512K
|
||||
WDOGMODE .EQU WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ]
|
||||
WDOGIO .EQU $6F ; WATCHDOG REGISTER ADR
|
||||
;
|
||||
FPENABLE .EQU FALSE ; ENABLES FRONT PANEL SWITCHES
|
||||
FPBASE .EQU $00 ; FRONT PANEL I/O PORT BASE ADDRESS
|
||||
DIAGENABLE .EQU FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS
|
||||
DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS
|
||||
FPLED_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPLED_IO .EQU $00 ; FP: PORT ADDRESS FOR FP LEDS
|
||||
FPLED_DSKACT .EQU TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS
|
||||
FPSW_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
FPSW_IO .EQU $00 ; FP: PORT ADDRESS FOR FP SWITCHES
|
||||
;
|
||||
DIAGLVL .EQU DL_CRITICAL ; ERROR LEVEL REPORTING
|
||||
;
|
||||
LEDENABLE .EQU FALSE ; ENABLES STATUS LED (SINGLE LED)
|
||||
@@ -310,7 +311,9 @@ PIO0BASE .EQU $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .EQU $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .EQU FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTMODE .EQU LPTMODE_NONE ; LPT: DRIVER MODE: LPTMODE_[NONE|IBM|MG014]
|
||||
LPTCNT .EQU 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPTTRACE .EQU 1 ; LPT: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
LPT0BASE .EQU $E8 ; LPT 0: REGISTERS BASE ADR
|
||||
LPT1BASE .EQU $EC ; LPT 1: REGISTERS BASE ADR
|
||||
;
|
||||
|
||||
@@ -60,11 +60,12 @@ SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
;
|
||||
WDOGMODE .EQU WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ]
|
||||
;
|
||||
FPENABLE .EQU FALSE ; ENABLES FRONT PANEL SWITCHES
|
||||
FPBASE .EQU $00 ; FRONT PANEL I/O PORT BASE ADDRESS
|
||||
DIAGENABLE .EQU FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS
|
||||
DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS
|
||||
FPLED_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPLED_IO .EQU $00 ; FP: PORT ADDRESS FOR FP LEDS
|
||||
FPLED_DSKACT .EQU TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS
|
||||
FPSW_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
FPSW_IO .EQU $00 ; FP: PORT ADDRESS FOR FP SWITCHES
|
||||
;
|
||||
DIAGLVL .EQU DL_CRITICAL ; ERROR LEVEL REPORTING
|
||||
;
|
||||
LEDENABLE .EQU TRUE ; ENABLES STATUS LED
|
||||
@@ -233,8 +234,10 @@ PIOCNT .EQU 2 ; PIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
|
||||
PIO0BASE .EQU $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .EQU $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .EQU TRUE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTENABLE .EQU FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTMODE .EQU LPTMODE_IBM ; LPT: DRIVER MODE: LPTMODE_[NONE|IBM|MG014]
|
||||
LPTCNT .EQU 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPTTRACE .EQU 1 ; LPT: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
LPT0BASE .EQU $E8 ; LPT 0: REGISTERS BASE ADR
|
||||
LPT1BASE .EQU $EC ; LPT 1: REGISTERS BASE ADR
|
||||
;
|
||||
|
||||
@@ -66,11 +66,12 @@ SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
;
|
||||
WDOGMODE .EQU WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ]
|
||||
;
|
||||
FPENABLE .EQU FALSE ; ENABLES FRONT PANEL SWITCHES
|
||||
FPBASE .EQU $00 ; FRONT PANEL I/O PORT BASE ADDRESS
|
||||
DIAGENABLE .EQU FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS
|
||||
DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS
|
||||
FPLED_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPLED_IO .EQU $00 ; FP: PORT ADDRESS FOR FP LEDS
|
||||
FPLED_DSKACT .EQU TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS
|
||||
FPSW_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
FPSW_IO .EQU $00 ; FP: PORT ADDRESS FOR FP SWITCHES
|
||||
;
|
||||
DIAGLVL .EQU DL_CRITICAL ; ERROR LEVEL REPORTING
|
||||
;
|
||||
LEDENABLE .EQU FALSE ; ENABLES STATUS LED (SINGLE LED)
|
||||
@@ -247,7 +248,9 @@ PIO0BASE .EQU $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .EQU $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .EQU FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTMODE .EQU LPTMODE_NONE ; LPT: DRIVER MODE: LPTMODE_[NONE|IBM|MG014]
|
||||
LPTCNT .EQU 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPTTRACE .EQU 1 ; LPT: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
LPT0BASE .EQU $E8 ; LPT 0: REGISTERS BASE ADR
|
||||
LPT1BASE .EQU $EC ; LPT 1: REGISTERS BASE ADR
|
||||
;
|
||||
|
||||
@@ -68,11 +68,12 @@ SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
;
|
||||
WDOGMODE .EQU WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ]
|
||||
;
|
||||
FPENABLE .EQU FALSE ; ENABLES FRONT PANEL SWITCHES
|
||||
FPBASE .EQU $00 ; FRONT PANEL I/O PORT BASE ADDRESS
|
||||
DIAGENABLE .EQU FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS
|
||||
DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS
|
||||
FPLED_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPLED_IO .EQU $00 ; FP: PORT ADDRESS FOR FP LEDS
|
||||
FPLED_DSKACT .EQU TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS
|
||||
FPSW_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
FPSW_IO .EQU $00 ; FP: PORT ADDRESS FOR FP SWITCHES
|
||||
;
|
||||
DIAGLVL .EQU DL_CRITICAL ; ERROR LEVEL REPORTING
|
||||
;
|
||||
LEDENABLE .EQU FALSE ; ENABLES STATUS LED
|
||||
|
||||
@@ -71,6 +71,13 @@ FPBASE .EQU $00 ; FRONT PANEL I/O PORT BASE ADDRESS
|
||||
DIAGENABLE .EQU TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS
|
||||
DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS
|
||||
;
|
||||
FPLED_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPLED_IO .EQU $00 ; FP: PORT ADDRESS FOR FP LEDS
|
||||
FPLED_DSKACT .EQU TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS
|
||||
FPSW_ENABLE .EQU TRUE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
FPSW_IO .EQU $00 ; FP: PORT ADDRESS FOR FP SWITCHES
|
||||
;
|
||||
DIAGLVL .EQU DL_CRITICAL ; ERROR LEVEL REPORTING
|
||||
;
|
||||
LEDENABLE .EQU FALSE ; ENABLES STATUS LED (SINGLE LED)
|
||||
@@ -250,6 +257,11 @@ PIO0BASE .EQU $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .EQU $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .EQU FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTMODE .EQU LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|IBM|MG014]
|
||||
LPTCNT .EQU 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPTTRACE .EQU 1 ; LPT: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
LPT0BASE .EQU $18 ; LPT 0: REGISTERS BASE ADR
|
||||
LPT1BASE .EQU $00 ; LPT 1: REGISTERS BASE ADR
|
||||
;
|
||||
PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
|
||||
@@ -66,11 +66,12 @@ SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
;
|
||||
WDOGMODE .EQU WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ]
|
||||
;
|
||||
FPENABLE .EQU FALSE ; ENABLES FRONT PANEL SWITCHES
|
||||
FPBASE .EQU $00 ; FRONT PANEL I/O PORT BASE ADDRESS
|
||||
DIAGENABLE .EQU TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS
|
||||
DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS
|
||||
FPLED_ENABLE .EQU TRUE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPLED_IO .EQU $00 ; FP: PORT ADDRESS FOR FP LEDS
|
||||
FPLED_DSKACT .EQU TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS
|
||||
FPSW_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
FPSW_IO .EQU $00 ; FP: PORT ADDRESS FOR FP SWITCHES
|
||||
;
|
||||
DIAGLVL .EQU DL_CRITICAL ; ERROR LEVEL REPORTING
|
||||
;
|
||||
LEDENABLE .EQU FALSE ; ENABLES STATUS LED (SINGLE LED)
|
||||
@@ -260,6 +261,11 @@ PIO0BASE .EQU $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .EQU $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .EQU FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTMODE .EQU LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|IBM|MG014]
|
||||
LPTCNT .EQU 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPTTRACE .EQU 1 ; LPT: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
LPT0BASE .EQU $18 ; LPT 0: REGISTERS BASE ADR
|
||||
LPT1BASE .EQU $00 ; LPT 1: REGISTERS BASE ADR
|
||||
;
|
||||
PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
|
||||
@@ -65,11 +65,12 @@ SKZDIV .EQU DIV_1 ; UART CLK (CLK2) DIVIDER FOR Z80-512K
|
||||
WDOGMODE .EQU WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ]
|
||||
WDOGIO .EQU $6E ; WATCHDOG REGISTER ADR
|
||||
;
|
||||
FPENABLE .EQU FALSE ; ENABLES FRONT PANEL SWITCHES
|
||||
FPBASE .EQU $00 ; FRONT PANEL I/O PORT BASE ADDRESS
|
||||
DIAGENABLE .EQU TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS
|
||||
DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS
|
||||
FPLED_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPLED_IO .EQU $00 ; FP: PORT ADDRESS FOR FP LEDS
|
||||
FPLED_DSKACT .EQU TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS
|
||||
FPSW_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
FPSW_IO .EQU $00 ; FP: PORT ADDRESS FOR FP SWITCHES
|
||||
;
|
||||
DIAGLVL .EQU DL_CRITICAL ; ERROR LEVEL REPORTING
|
||||
;
|
||||
LEDENABLE .EQU FALSE ; ENABLES STATUS LED (SINGLE LED)
|
||||
@@ -254,6 +255,11 @@ PIO0BASE .EQU $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .EQU $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .EQU FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTMODE .EQU LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|IBM|MG014]
|
||||
LPTCNT .EQU 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPTTRACE .EQU 1 ; LPT: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
LPT0BASE .EQU $18 ; LPT 0: REGISTERS BASE ADR
|
||||
LPT1BASE .EQU $00 ; LPT 1: REGISTERS BASE ADR
|
||||
;
|
||||
PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
|
||||
@@ -66,11 +66,12 @@ SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
;
|
||||
WDOGMODE .EQU WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ]
|
||||
;
|
||||
FPENABLE .EQU FALSE ; ENABLES FRONT PANEL SWITCHES
|
||||
FPBASE .EQU $00 ; FRONT PANEL I/O PORT BASE ADDRESS
|
||||
DIAGENABLE .EQU FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS
|
||||
DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS
|
||||
FPLED_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPLED_IO .EQU $00 ; FP: PORT ADDRESS FOR FP LEDS
|
||||
FPLED_DSKACT .EQU TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS
|
||||
FPSW_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
FPSW_IO .EQU $00 ; FP: PORT ADDRESS FOR FP SWITCHES
|
||||
;
|
||||
DIAGLVL .EQU DL_CRITICAL ; ERROR LEVEL REPORTING
|
||||
;
|
||||
LEDENABLE .EQU FALSE ; ENABLES STATUS LED
|
||||
|
||||
@@ -60,11 +60,12 @@ SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
;
|
||||
WDOGMODE .EQU WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ]
|
||||
;
|
||||
FPENABLE .EQU FALSE ; ENABLES FRONT PANEL SWITCHES
|
||||
FPBASE .EQU $00 ; FRONT PANEL I/O PORT BASE ADDRESS
|
||||
DIAGENABLE .EQU FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS
|
||||
DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS
|
||||
FPLED_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPLED_IO .EQU $00 ; FP: PORT ADDRESS FOR FP LEDS
|
||||
FPLED_DSKACT .EQU TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS
|
||||
FPSW_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
FPSW_IO .EQU $00 ; FP: PORT ADDRESS FOR FP SWITCHES
|
||||
;
|
||||
DIAGLVL .EQU DL_CRITICAL ; ERROR LEVEL REPORTING
|
||||
;
|
||||
LEDENABLE .EQU FALSE ; ENABLES STATUS LED
|
||||
@@ -233,7 +234,9 @@ PIO0BASE .EQU $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .EQU $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .EQU FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTMODE .EQU LPTMODE_NONE ; LPT: DRIVER MODE: LPTMODE_[NONE|IBM|MG014]
|
||||
LPTCNT .EQU 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPTTRACE .EQU 1 ; LPT: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
LPT0BASE .EQU $E8 ; LPT 0: REGISTERS BASE ADR
|
||||
LPT1BASE .EQU $EC ; LPT 1: REGISTERS BASE ADR
|
||||
;
|
||||
|
||||
@@ -66,11 +66,12 @@ SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
;
|
||||
WDOGMODE .EQU WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ]
|
||||
;
|
||||
FPENABLE .EQU FALSE ; ENABLES FRONT PANEL SWITCHES
|
||||
FPBASE .EQU $00 ; FRONT PANEL I/O PORT BASE ADDRESS
|
||||
DIAGENABLE .EQU TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
DIAGPORT .EQU $0D ; DIAGNOSTIC PORT ADDRESS
|
||||
DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS
|
||||
FPLED_ENABLE .EQU TRUE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPLED_IO .EQU $0D ; FP: PORT ADDRESS FOR FP LEDS
|
||||
FPLED_DSKACT .EQU TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS
|
||||
FPSW_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
FPSW_IO .EQU $00 ; FP: PORT ADDRESS FOR FP SWITCHES
|
||||
;
|
||||
DIAGLVL .EQU DL_CRITICAL ; ERROR LEVEL REPORTING
|
||||
;
|
||||
LEDENABLE .EQU FALSE ; ENABLES STATUS LED (SINGLE LED)
|
||||
@@ -250,6 +251,11 @@ PIO0BASE .EQU $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .EQU $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .EQU FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTMODE .EQU LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|IBM|MG014]
|
||||
LPTCNT .EQU 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPTTRACE .EQU 1 ; LPT: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
LPT0BASE .EQU $18 ; LPT 0: REGISTERS BASE ADR
|
||||
LPT1BASE .EQU $00 ; LPT 1: REGISTERS BASE ADR
|
||||
;
|
||||
PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
|
||||
@@ -19,7 +19,9 @@
|
||||
CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_UNA ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
;
|
||||
FPENABLE .EQU FALSE ; ENABLES FRONT PANEL SWITCHES
|
||||
FPSW_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
;
|
||||
DIAGLVL .EQU DL_CRITICAL ; ERROR LEVEL REPORTING
|
||||
;
|
||||
BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
|
||||
;
|
||||
@@ -34,5 +36,3 @@ ROMSIZE .EQU 512 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
RTCIO .EQU $70 ; RTC LATCH REGISTER ADR
|
||||
;
|
||||
DSKYENABLE .EQU FALSE ; ENABLES DSKY (DO NOT COMBINE WITH PPIDE)
|
||||
|
||||
DIAGLVL .EQU DL_CRITICAL ; ERROR LEVEL REPORTING
|
||||
|
||||
@@ -63,11 +63,12 @@ SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
;
|
||||
WDOGMODE .EQU WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ]
|
||||
;
|
||||
FPENABLE .EQU FALSE ; ENABLES FRONT PANEL SWITCHES
|
||||
FPBASE .EQU $00 ; FRONT PANEL I/O PORT BASE ADDRESS
|
||||
DIAGENABLE .EQU FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS
|
||||
DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS
|
||||
FPLED_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPLED_IO .EQU $00 ; FP: PORT ADDRESS FOR FP LEDS
|
||||
FPLED_DSKACT .EQU TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS
|
||||
FPSW_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
FPSW_IO .EQU $00 ; FP: PORT ADDRESS FOR FP SWITCHES
|
||||
;
|
||||
DIAGLVL .EQU DL_CRITICAL ; ERROR LEVEL REPORTING
|
||||
;
|
||||
LEDENABLE .EQU FALSE ; ENABLES STATUS LED
|
||||
|
||||
@@ -52,11 +52,12 @@ SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
;
|
||||
WDOGMODE .EQU WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ]
|
||||
;
|
||||
FPENABLE .EQU FALSE ; ENABLES FRONT PANEL SWITCHES
|
||||
FPBASE .EQU $00 ; FRONT PANEL I/O PORT BASE ADDRESS
|
||||
DIAGENABLE .EQU FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS
|
||||
DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS
|
||||
FPLED_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPLED_IO .EQU $00 ; FP: PORT ADDRESS FOR FP LEDS
|
||||
FPLED_DSKACT .EQU TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS
|
||||
FPSW_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
FPSW_IO .EQU $00 ; FP: PORT ADDRESS FOR FP SWITCHES
|
||||
;
|
||||
DIAGLVL .EQU DL_CRITICAL ; ERROR LEVEL REPORTING
|
||||
;
|
||||
LEDENABLE .EQU FALSE ; ENABLES STATUS LED
|
||||
|
||||
@@ -63,11 +63,12 @@ SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
;
|
||||
WDOGMODE .EQU WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ]
|
||||
;
|
||||
FPENABLE .EQU FALSE ; ENABLES FRONT PANEL SWITCHES
|
||||
FPBASE .EQU $00 ; FRONT PANEL I/O PORT BASE ADDRESS
|
||||
DIAGENABLE .EQU FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS
|
||||
DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS
|
||||
FPLED_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPLED_IO .EQU $00 ; FP: PORT ADDRESS FOR FP LEDS
|
||||
FPLED_DSKACT .EQU TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS
|
||||
FPSW_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
FPSW_IO .EQU $00 ; FP: PORT ADDRESS FOR FP SWITCHES
|
||||
;
|
||||
DIAGLVL .EQU DL_CRITICAL ; ERROR LEVEL REPORTING
|
||||
;
|
||||
LEDENABLE .EQU FALSE ; ENABLES STATUS LED
|
||||
|
||||
@@ -105,10 +105,11 @@ MODCNT .SET MODCNT + 1
|
||||
;
|
||||
;
|
||||
;
|
||||
#IF (DIAGENABLE)
|
||||
#IF (FPLED_ENABLE)
|
||||
#DEFINE DIAG(N) PUSH AF
|
||||
#DEFCONT \ LD A,N
|
||||
#DEFCONT \ OUT (DIAGPORT),A
|
||||
; #DEFCONT \ OUT (DIAGPORT),A
|
||||
#DEFCONT \ CALL FP_SETLEDS
|
||||
#DEFCONT \ POP AF
|
||||
#ELSE
|
||||
#DEFINE DIAG(N) \;
|
||||
@@ -1109,16 +1110,9 @@ HB_START:
|
||||
;
|
||||
#IFDEF APPBOOT
|
||||
#IF (MEMMGR == MM_Z280)
|
||||
LD A,DIAG_01
|
||||
OUT (DIAGPORT),A
|
||||
LD DE,Z280_BOOTERR
|
||||
LD C,9
|
||||
LD A,DIAG_02
|
||||
OUT (DIAGPORT),A
|
||||
CALL $0005
|
||||
LD A,DIAG_04
|
||||
OUT (DIAGPORT),A
|
||||
RET
|
||||
LD DE,Z280_BOOTERR ; POINT TO ERROR MESSAGE
|
||||
LD C,9 ; BDOS FUNC 9: WRITE STR
|
||||
JP $0005 ; DO IT AND RETURN TO OS
|
||||
;
|
||||
Z280_BOOTERR .TEXT "\r\n\r\n*** Application mode boot not supported under Z280 native memory management!!!\r\n\r\n$"
|
||||
#ENDIF
|
||||
@@ -1144,9 +1138,10 @@ Z280_BOOTERR .TEXT "\r\n\r\n*** Application mode boot not supported under Z280 n
|
||||
OUT0 (RPH_ACR),A ; ... REGISTER IS INITIALIZED
|
||||
#ENDIF
|
||||
;
|
||||
#IF (DIAGENABLE)
|
||||
#IF (FPLED_ENABLE)
|
||||
; NO STACK YET, SO CAN'T USE DIAG() MACRO
|
||||
LD A,DIAG_01
|
||||
OUT (DIAGPORT),A
|
||||
OUT (FPLED_IO),A
|
||||
#ENDIF
|
||||
#IF (LEDENABLE)
|
||||
#IF (LEDMODE == LEDMODE_STD)
|
||||
@@ -1255,8 +1250,6 @@ Z280_INITZ:
|
||||
LD A,Z180_BASE
|
||||
OUT0 ($3F),A ; AT RESET, ICR IS AT $3F
|
||||
|
||||
DIAG(DIAG_02)
|
||||
|
||||
; DISABLE REFRESH
|
||||
XOR A
|
||||
OUT0 (Z180_RCR),A
|
||||
@@ -1349,10 +1342,12 @@ Z280_INITZ:
|
||||
; NOT WANT TO EFFECT RAM UNTIL AFTER THE BACKUP BATTERY STATUS CHECK
|
||||
; IS PERFORMED NEXT.
|
||||
;
|
||||
#IF (DIAGENABLE)
|
||||
#IF (FPLED_ENABLE)
|
||||
; NO STACK YET, SO CAN'T USE DIAG() MACRO
|
||||
LD A,DIAG_02
|
||||
OUT (DIAGPORT),A
|
||||
OUT (FPLED_IO),A
|
||||
#ENDIF
|
||||
|
||||
;
|
||||
; WE USE THE TWO BYTES IMMEDIATELY BELOW THE PROXY TO STORE A COUPLE
|
||||
; VALUES TEMPORARILY BECAUSE WE MAY BE OPERATING IN ROM AT THIS POINT.
|
||||
@@ -2232,29 +2227,6 @@ NOT_REC_M0:
|
||||
CALL DSKY_SHOW
|
||||
#ENDIF
|
||||
;
|
||||
#IF FPENABLE
|
||||
;
|
||||
; IF FRONT PANEL IS ENABLED IN CONFIG, WE NEED TO CHECK TO SEE IF THE
|
||||
; HARDWARE REALLY EXISTS. THE ONLY WAY TO DO THAT IS TO SEE IF THE
|
||||
; FRONT PANEL PORT SEEMS TO BE VALID (NOT FLOATING). HERE WE JUST
|
||||
; DO THE CHECKING AND RECORD WHETHER THE FP SWITCHES ARE USEABLE.
|
||||
;
|
||||
; THE SWITCH HARDWARE MAY OR MAY NOT BE INSTALLED. SO, HERE WE
|
||||
; ATTEMPT TO CONFIRM WE HAVE A VALID PORT. CREDIT TO STEPHEN
|
||||
; COUSINS FOR THIS APPROACH.
|
||||
LD C,FPBASE ; ADR OF SWITCH PORT
|
||||
IN C,(C) ; READ IT USING IN (C)
|
||||
IN A,(FPBASE) ; READ IT USING IN (PORT)
|
||||
CP C ; PORT FLOATING ON MISMATCH
|
||||
JR NZ,HB_SWZ ; ABORT IF FLOATING
|
||||
CP $FF ; $FF ALSO MEANS PORT INACTIVE
|
||||
JR Z,HB_SWZ ; ABORT IF SO
|
||||
OR $FF ; SIGNAL FP EXISTS
|
||||
LD (HB_HASFP),A ; AND SAVE IT
|
||||
HB_SWZ:
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
#IF FALSE
|
||||
;
|
||||
; TEST DEBUG ***************************************************************************************
|
||||
@@ -2792,7 +2764,12 @@ HB_WDZ:
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
#IF FPENABLE
|
||||
; THIS IS A GOOD PLACE TO DETERMINE IF FRONT PANEL HARDWARE REALLY
|
||||
; EXISTS.
|
||||
;
|
||||
CALL FP_DETECT
|
||||
;
|
||||
#IF (FPSW_ENABLE)
|
||||
;
|
||||
; IF WE HAVE FRONT PANEL SWITCHES, THIS IS THE RIGHT PLACE TO HANDLE
|
||||
; ANY CONSOLE CHANGE REQUESTS. THE FRONT PANEL HAS TWO SWITCHES
|
||||
@@ -2802,12 +2779,12 @@ HB_WDZ:
|
||||
; DEVICE.
|
||||
;
|
||||
PRTS("\r\nFP: IO=0x$")
|
||||
LD A,FPBASE
|
||||
LD A,FPSW_IO
|
||||
CALL PRTHEXBYTE
|
||||
;
|
||||
; THE EXISTENCE OF THE FP WAS TESTED EARLIER. IF IT DOESN'T
|
||||
; EXIST, BAIL OUT.
|
||||
LD A,(HB_HASFP) ; GET FP EXISTENCE FLAG
|
||||
LD A,(FPSW_ACTIVE) ; GET FP EXISTENCE FLAG
|
||||
OR A ; SET FLAGS
|
||||
JR NZ,HB_FP1 ; IF WE HAVE ONE, CONTINUE
|
||||
;
|
||||
@@ -2823,7 +2800,7 @@ HB_FP1:
|
||||
; OF A CRT DEVICE -- IT WILL JUST FAILBACK TO FIRST SERIAL
|
||||
; PORT.
|
||||
PRTS(" SWITCHES=0x$") ; TAG
|
||||
IN A,(FPBASE) ; GET SWITCH SETTINGS
|
||||
CALL FP_GETSWITCHES ; GET SWITCH SETTINGS
|
||||
CALL PRTHEXBYTE ; DISPLAY VALUE
|
||||
LD B,A ; SAVE IN REG B
|
||||
AND SW_CRT ; TEST CRT BIT
|
||||
@@ -3491,7 +3468,7 @@ HB_DSKREAD:
|
||||
;
|
||||
LD (HB_DSKCMD),BC ; SAVE HBIOS FUNC & UNIT
|
||||
;
|
||||
#IF (DIAGENABLE)
|
||||
#IF (FPLED_ENABLE & FPLED_DSKACT)
|
||||
; SAVE DISK UNIT NUMBER BIT MASK
|
||||
LD A,C ; GET DISK UNIT NUMBER
|
||||
LD B,A ; PUT IN B FOR LOOP COUNTER
|
||||
@@ -3581,7 +3558,7 @@ HB_DSKWRITE:
|
||||
;
|
||||
LD (HB_DSKCMD),BC ; SAVE HBIOS FUNC & UNIT
|
||||
;
|
||||
#IF (DIAGENABLE)
|
||||
#IF (FPLED_ENABLE & FPLED_DSKACT)
|
||||
; SAVE DISK UNIT NUMBER BIT MASK
|
||||
LD A,C ; GET DISK UNIT NUMBER
|
||||
LD B,A ; PUT IN B FOR LOOP COUNTER
|
||||
@@ -3678,9 +3655,9 @@ HB_DSKIOX:
|
||||
;
|
||||
HB_DSKFN:
|
||||
PUSH BC ; SAVE COUNTERS
|
||||
#IF (DIAGENABLE & DIAGDISKIO)
|
||||
#IF (FPLED_ENABLE & FPLED_DSKACT)
|
||||
LD A,(HB_DSKBIT) ; LOAD UNIT DISK BIT MASK
|
||||
OUT (DIAGPORT),A ; DISPLAY ON DIAG LEDS
|
||||
CALL FP_SETLEDS ; DISPLAY ON DIAG LEDS
|
||||
#ENDIF
|
||||
#IF (LEDENABLE & LEDDISKIO)
|
||||
LED(%00000101) ; BIT 0 FOR TINY Z80 & MBC, BIT 2 FOR SCXXX
|
||||
@@ -3688,8 +3665,8 @@ HB_DSKFN:
|
||||
LD E,1 ; ONE SECTOR
|
||||
HB_DSKFNADR .EQU $+1
|
||||
CALL PANIC ; READ ONE SECTOR
|
||||
#IF (DIAGENABLE & DIAGDISKIO)
|
||||
DIAG(DIAG_00) ; CLEAR DIAG LEDS
|
||||
#IF (FPLED_ENABLE & FPLED_DSKACT)
|
||||
DIAG($00) ; CLEAR DIAG LEDS
|
||||
#ENDIF
|
||||
#IF (LEDENABLE & LEDDISKIO)
|
||||
LED($00)
|
||||
@@ -4539,11 +4516,11 @@ SYS_GETCPUSPD1:
|
||||
;
|
||||
SYS_GETPANEL:
|
||||
;
|
||||
#IF FPENABLE
|
||||
LD A,(HB_HASFP) ; GET FP EXISTS FLAG
|
||||
#IF (FPSW_ENABLE)
|
||||
LD A,(FPSW_ACTIVE) ; FP SWITCHES ACTIVE?
|
||||
OR A ; SET FLAGS
|
||||
JR Z,SYS_GETPANEL1 ; HANDLE NOT EXISTS
|
||||
IN A,(FPBASE) ; READ SWITCHES
|
||||
CALL FP_GETSWITCHES ; READ SWITCHES
|
||||
LD H,0 ; FOR FUTURE
|
||||
LD L,A ; PUT SWITCHES VALUE IN L
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
@@ -4851,9 +4828,9 @@ SYS_SETCPUSPD_ERR:
|
||||
;
|
||||
SYS_SETPANEL:
|
||||
;
|
||||
#IF DIAGENABLE
|
||||
#IF (FPLED_ENABLE)
|
||||
LD A,L
|
||||
OUT (DIAGPORT),A
|
||||
CALL FP_SETLEDS
|
||||
XOR A
|
||||
RET
|
||||
#ELSE
|
||||
@@ -6248,6 +6225,16 @@ FONTCGA:
|
||||
.ECHO " CGA"
|
||||
#ENDIF
|
||||
;
|
||||
#IFDEF USEFONTVGARC
|
||||
FONTVGARC:
|
||||
#IF USELZSA2
|
||||
#INCLUDE "fontvgarcc.asm"
|
||||
#ELSE
|
||||
#INCLUDE "fontvgarcu.asm"
|
||||
#ENDIF
|
||||
.ECHO " VGARC"
|
||||
#ENDIF
|
||||
;
|
||||
SIZ_FONTS .EQU $ - ORG_FONTS
|
||||
.ECHO " occupy "
|
||||
.ECHO SIZ_FONTS
|
||||
@@ -6454,7 +6441,97 @@ SIZ_YM2612 .EQU $ - ORG_YM2612
|
||||
#INCLUDE "unlzsa2s.asm"
|
||||
#ENDIF
|
||||
;
|
||||
; DETECT CPU SPEED USING DS-1302 RTC
|
||||
;==================================================================================================
|
||||
; FRONT PANEL SUPPORT
|
||||
;==================================================================================================
|
||||
;
|
||||
; FRONT PANEL HARDWARE DETECTION
|
||||
;
|
||||
; WE ARE REALLY JUST CHECKING FOR SWITCHES. NO WAY TO QUERY FOR
|
||||
; LEDS. WE CHECK FOR I/O CONFLICT WITH VGARC IF ACTIVE.
|
||||
;
|
||||
FP_DETECT:
|
||||
; D: LEDS ACTIVE, E: SWITCHES ACTIVE
|
||||
LD D,TRUE ; ASSUME ACTIVE FOR NOW
|
||||
LD E,TRUE ; ASSUME ACTIVE FOR NOW
|
||||
;
|
||||
; IF VGARC IS ENABLED, CHECK IF IT IS ACTIVE. IF SO AND THE
|
||||
; I/O PORTS CONFLICT, DEACTIVATE FRONT PANEL.
|
||||
;
|
||||
#IF (VRCENABLE)
|
||||
LD A,(VRC_ACTIVE) ; GET VGARC ACTIVE STATUS
|
||||
OR A ; SET FLAGS
|
||||
JR Z,FP_DETECT1 ; IF NO, CONTINUE
|
||||
#IF ((FPLED_IO >= $00) & (FPLED_IO <= $0F))
|
||||
; CONFLICT, DEACTIVATE LEDS
|
||||
LD D,FALSE ; FP LEDS NOT ACTIVE
|
||||
#ENDIF
|
||||
#IF ((FPSW_IO >= $00) & (FPSW_IO <= $0F))
|
||||
; CONFLICT, DEACTIVATE SWITCHES
|
||||
LD E,FALSE ; FP SWITCHES NOT ACTIVE
|
||||
#ENDIF
|
||||
#ENDIF
|
||||
;
|
||||
FP_DETECT1:
|
||||
; THE SWITCH HARDWARE MAY OR MAY NOT BE INSTALLED. SO, HERE WE
|
||||
; ATTEMPT TO CONFIRM WE HAVE A VALID PORT. CREDIT TO STEPHEN
|
||||
; COUSINS FOR THIS APPROACH.
|
||||
LD C,FPSW_IO ; ADR OF SWITCH PORT
|
||||
IN C,(C) ; READ IT USING IN (C)
|
||||
IN A,(FPSW_IO) ; READ IT USING IN (PORT)
|
||||
CP C ; PORT FLOATING ON MISMATCH
|
||||
JR NZ,FP_DETECT2 ; NO H/W, SET FLAG
|
||||
CP $FF ; PORT FLOATING ON $FF
|
||||
JR Z,FP_DETECT2 ; NO H/W, SET FLAG
|
||||
JR FP_DETECTZ ; H/W EXISTS, DONE
|
||||
;
|
||||
FP_DETECT2:
|
||||
LD E,FALSE ; RECORD NOT PRESENT
|
||||
;
|
||||
FP_DETECTZ:
|
||||
LD (FP_ACTIVE),DE ; RECORD RESULTS
|
||||
RET ; DONE
|
||||
;
|
||||
#IF (FPLED_ENABLE)
|
||||
;
|
||||
; SET FRONT PANEL LEDS FROM VALUE IN A
|
||||
;
|
||||
FP_SETLEDS:
|
||||
PUSH HL ; SAVE HL
|
||||
LD L,A ; LED VALUE TO L
|
||||
LD A,(FPLED_ACTIVE) ; LEDS ACTIVE?
|
||||
OR A ; SET FLAGS
|
||||
LD A,L ; RESTORE REG A
|
||||
JR Z,FP_SETLEDS1 ; BAIL OUT IF NOT ACTIVE
|
||||
OUT (FPLED_IO),A ; WRITE
|
||||
FP_SETLEDS1:
|
||||
POP HL ; RESTORE HL
|
||||
RET ; DONE
|
||||
;
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
#IF (FPSW_ENABLE)
|
||||
;
|
||||
; GET FRONT PANEL SWITCH SETTINGS
|
||||
;
|
||||
FP_GETSWITCHES:
|
||||
LD A,(FPSW_ACTIVE) ; SWITCHES ACTIVE?
|
||||
OR A ; SET FLAGS
|
||||
RET Z ; BAIL OUT IF NOT ACTIVE
|
||||
IN A,(FPSW_IO) ; READ SWITCHES
|
||||
RET ; DONE
|
||||
;
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
FP_ACTIVE:
|
||||
FPSW_ACTIVE .DB TRUE
|
||||
FPLED_ACTIVE .DB TRUE
|
||||
;
|
||||
;==================================================================================================
|
||||
; CPU SPEED DETECTION USING DS-1302 RTC
|
||||
;==================================================================================================
|
||||
;
|
||||
HB_CPUSPD:
|
||||
;
|
||||
@@ -6570,116 +6647,6 @@ HB_CPUSPD2:
|
||||
OR $FF ; SIGNAL ERROR
|
||||
RET ; AND DONE
|
||||
;
|
||||
; SYSTEM CHECK: DUMP MACHINE STATE AND CONTINUE?
|
||||
;
|
||||
SYSCHKA:
|
||||
; CHECK DIAG LEVEL TO SEE IF WE SHOULD DISPLAY
|
||||
PUSH AF ; PRESERVE INCOMING AF VALUE
|
||||
LD A,(CB_DIAGLVL) ; GET DIAGNOSTIC LEVEL
|
||||
CP DL_ERROR ; >= ERROR LEVEL
|
||||
JR C,SYSCHK1 ; IF NOT, GO HOME
|
||||
POP AF ; RESTORE INCOMING AF VALUE
|
||||
;
|
||||
; DISPLAY SYSCHK MESSAGE
|
||||
PUSH DE ; PRESERVE DE VALUE
|
||||
LD DE,STR_SYSCHK ; POINT TO PREFIX STRING
|
||||
CALL WRITESTR ; PRINT IT
|
||||
POP DE ; RESTORE DE VALUE
|
||||
CALL XREGDMP ; DUMP REGISTERS
|
||||
|
||||
; DISPLAY ERROR CODE. IT IS AT RETURN ADDRESS+1 .. LD A,XX
|
||||
EX (SP),HL ; GET RETURN ADDRESS
|
||||
INC HL ; POINT TO THE ERROR CODE
|
||||
PUSH AF
|
||||
LD A,(HL) ; DISPLAY
|
||||
CALL PRTHEXBYTE
|
||||
POP AF
|
||||
DEC HL ; RESTORE RETURN ADDRESS
|
||||
EX (SP),HL
|
||||
;
|
||||
JR CONTINUE ; CHECK W/ USER
|
||||
;
|
||||
SYSCHK1:
|
||||
; RETURN IF MESSAGING BYPASSED BY DIAG LEVEL
|
||||
POP AF
|
||||
RET
|
||||
;
|
||||
; PANIC: DUMP MACHINE STATE AND HALT
|
||||
;
|
||||
PANIC:
|
||||
PUSH DE
|
||||
LD DE,STR_PANIC
|
||||
CALL WRITESTR
|
||||
POP DE
|
||||
CALL XREGDMP ; DUMP REGISTERS
|
||||
JR SYSHALT ; FULL STOP
|
||||
;
|
||||
;
|
||||
;
|
||||
CONTINUE:
|
||||
PUSH AF
|
||||
CONTINUE1:
|
||||
PUSH DE
|
||||
LD DE,STR_CONTINUE
|
||||
CALL WRITESTR
|
||||
POP DE
|
||||
CALL CIN
|
||||
RES 5,A ; FORCE UPPERCASE (IMPERFECTLY)
|
||||
CALL COUT ; ECHO
|
||||
CP 'Y'
|
||||
JR Z,CONTINUE3
|
||||
CP 'N'
|
||||
JR Z,SYSHALT
|
||||
JR CONTINUE1
|
||||
CONTINUE3:
|
||||
CALL NEWLINE
|
||||
POP AF
|
||||
RET
|
||||
;
|
||||
;
|
||||
;
|
||||
SYSHALT:
|
||||
LD DE,STR_HALT
|
||||
CALL WRITESTR
|
||||
DI
|
||||
HALT
|
||||
;
|
||||
; PRINT VALUE OF HL AS THOUSANDTHS, IE. 0.000
|
||||
;
|
||||
PRTD3M:
|
||||
PUSH BC
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
LD E,'0'
|
||||
LD BC,-10000
|
||||
CALL PRTD3M1
|
||||
LD E,0
|
||||
LD BC,-1000
|
||||
CALL PRTD3M1
|
||||
CALL PC_PERIOD
|
||||
LD BC,-100
|
||||
CALL PRTD3M1
|
||||
LD C,-10
|
||||
CALL PRTD3M1
|
||||
LD C,-1
|
||||
CALL PRTD3M1
|
||||
POP HL
|
||||
POP DE
|
||||
POP BC
|
||||
RET
|
||||
PRTD3M1:
|
||||
LD A,'0' - 1
|
||||
PRTD3M2:
|
||||
INC A
|
||||
ADD HL,BC
|
||||
JR C,PRTD3M2
|
||||
SBC HL,BC
|
||||
CP E
|
||||
JR Z,PRTD3M3
|
||||
LD E,0
|
||||
CALL COUT
|
||||
PRTD3M3:
|
||||
RET
|
||||
;==================================================================================================
|
||||
; DISPLAY SUMMARY OF ATTACHED UNITS/DEVICES
|
||||
;==================================================================================================
|
||||
@@ -7373,7 +7340,7 @@ CST2:
|
||||
RET
|
||||
;
|
||||
;==================================================================================================
|
||||
; MISCELLANEOUS UTILITY FUNCTIONS
|
||||
; INTERNAL UTILITY FUNCTIONS
|
||||
;==================================================================================================
|
||||
;
|
||||
; SET HL TO IY+A, A IS TRASHED
|
||||
@@ -7410,6 +7377,117 @@ HB_CHS2LBA:
|
||||
XOR A
|
||||
RET
|
||||
;
|
||||
; SYSTEM CHECK: DUMP MACHINE STATE AND CONTINUE?
|
||||
;
|
||||
SYSCHKA:
|
||||
; CHECK DIAG LEVEL TO SEE IF WE SHOULD DISPLAY
|
||||
PUSH AF ; PRESERVE INCOMING AF VALUE
|
||||
LD A,(CB_DIAGLVL) ; GET DIAGNOSTIC LEVEL
|
||||
CP DL_ERROR ; >= ERROR LEVEL
|
||||
JR C,SYSCHK1 ; IF NOT, GO HOME
|
||||
POP AF ; RESTORE INCOMING AF VALUE
|
||||
;
|
||||
; DISPLAY SYSCHK MESSAGE
|
||||
PUSH DE ; PRESERVE DE VALUE
|
||||
LD DE,STR_SYSCHK ; POINT TO PREFIX STRING
|
||||
CALL WRITESTR ; PRINT IT
|
||||
POP DE ; RESTORE DE VALUE
|
||||
CALL XREGDMP ; DUMP REGISTERS
|
||||
|
||||
; DISPLAY ERROR CODE. IT IS AT RETURN ADDRESS+1 .. LD A,XX
|
||||
EX (SP),HL ; GET RETURN ADDRESS
|
||||
INC HL ; POINT TO THE ERROR CODE
|
||||
PUSH AF
|
||||
LD A,(HL) ; DISPLAY
|
||||
CALL PRTHEXBYTE
|
||||
POP AF
|
||||
DEC HL ; RESTORE RETURN ADDRESS
|
||||
EX (SP),HL
|
||||
;
|
||||
JR CONTINUE ; CHECK W/ USER
|
||||
;
|
||||
SYSCHK1:
|
||||
; RETURN IF MESSAGING BYPASSED BY DIAG LEVEL
|
||||
POP AF
|
||||
RET
|
||||
;
|
||||
; PANIC: DUMP MACHINE STATE AND HALT
|
||||
;
|
||||
PANIC:
|
||||
PUSH DE
|
||||
LD DE,STR_PANIC
|
||||
CALL WRITESTR
|
||||
POP DE
|
||||
CALL XREGDMP ; DUMP REGISTERS
|
||||
JR SYSHALT ; FULL STOP
|
||||
;
|
||||
;
|
||||
;
|
||||
CONTINUE:
|
||||
PUSH AF
|
||||
CONTINUE1:
|
||||
PUSH DE
|
||||
LD DE,STR_CONTINUE
|
||||
CALL WRITESTR
|
||||
POP DE
|
||||
CALL CIN
|
||||
RES 5,A ; FORCE UPPERCASE (IMPERFECTLY)
|
||||
CALL COUT ; ECHO
|
||||
CP 'Y'
|
||||
JR Z,CONTINUE3
|
||||
CP 'N'
|
||||
JR Z,SYSHALT
|
||||
JR CONTINUE1
|
||||
CONTINUE3:
|
||||
CALL NEWLINE
|
||||
POP AF
|
||||
RET
|
||||
;
|
||||
;
|
||||
;
|
||||
SYSHALT:
|
||||
LD DE,STR_HALT
|
||||
CALL WRITESTR
|
||||
DI
|
||||
HALT
|
||||
;
|
||||
; PRINT VALUE OF HL AS THOUSANDTHS, IE. 0.000
|
||||
;
|
||||
PRTD3M:
|
||||
PUSH BC
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
LD E,'0'
|
||||
LD BC,-10000
|
||||
CALL PRTD3M1
|
||||
LD E,0
|
||||
LD BC,-1000
|
||||
CALL PRTD3M1
|
||||
CALL PC_PERIOD
|
||||
LD BC,-100
|
||||
CALL PRTD3M1
|
||||
LD C,-10
|
||||
CALL PRTD3M1
|
||||
LD C,-1
|
||||
CALL PRTD3M1
|
||||
POP HL
|
||||
POP DE
|
||||
POP BC
|
||||
RET
|
||||
PRTD3M1:
|
||||
LD A,'0' - 1
|
||||
PRTD3M2:
|
||||
INC A
|
||||
ADD HL,BC
|
||||
JR C,PRTD3M2
|
||||
SBC HL,BC
|
||||
CP E
|
||||
JR Z,PRTD3M3
|
||||
LD E,0
|
||||
CALL COUT
|
||||
PRTD3M3:
|
||||
RET
|
||||
;
|
||||
;==================================================================================================
|
||||
; HBIOS GLOBAL DATA
|
||||
;==================================================================================================
|
||||
|
||||
@@ -70,17 +70,33 @@ KBD_INIT:
|
||||
LD (KBD_REPEAT),A ; SAVE IT
|
||||
LD A,KBD_DEFSTATE ; GET DEFAULT STATE
|
||||
LD (KBD_STATE),A ; SAVE IT
|
||||
|
||||
;
|
||||
LD A,(IY+KBD_MODE) ; GET KBD MODE BYTE
|
||||
CP KBDMODE_VRC ; VRC?
|
||||
JR Z,KBD_INIT1 ; IF SO, MUST ASSUME PRESENT
|
||||
;
|
||||
LD A,$AA ; CONTROLLER SELF TEST
|
||||
CALL KBD_PUTCMD ; SEND IT
|
||||
CALL KBD_GETDATA ; CONTROLLER SHOULD RESPOND WITH $55 (ACK)
|
||||
|
||||
;
|
||||
CP $55 ; IS IT THERE?
|
||||
JR Z,KBD_INIT1 ; IF SO, CONTINUE
|
||||
PRTS(" NOT PRESENT$") ; DIAGNOSE PROBLEM
|
||||
RET ; BAIL OUT
|
||||
|
||||
;
|
||||
KBD_INIT1:
|
||||
PRTS(" MODE=$") ; TAG
|
||||
LD A,(IY+KBD_MODE) ; GET MODE VALUE
|
||||
LD DE,KBD_STR_MODEPS2
|
||||
CP KBDMODE_PS2
|
||||
JR Z,KBD_INIT2
|
||||
LD DE,KBD_STR_MODEVRC
|
||||
CP KBDMODE_VRC
|
||||
JR Z,KBD_INIT2
|
||||
LD DE,KBD_STR_MODEUNK
|
||||
KBD_INIT2:
|
||||
CALL WRITESTR
|
||||
;
|
||||
LD A,$60 ; SET COMMAND REGISTER
|
||||
CALL KBD_PUTCMD ; SEND IT
|
||||
; LD A,$60 ; XLAT ENABLED, MOUSE DISABLED, NO INTS
|
||||
@@ -89,11 +105,6 @@ KBD_INIT1:
|
||||
|
||||
CALL KBD_GETDATA ; GOBBLE UP $AA FROM POWER UP, AS NEEDED
|
||||
|
||||
; LD A,$AE ; COMMAND = ENABLE KEYBOARD
|
||||
; CALL KBD_PUTCMD ; SEND IT
|
||||
; LD A,$A7 ; COMMAND = DISABLE MOUSE
|
||||
; CALL KBD_PUTCMD ; SEND IT
|
||||
|
||||
CALL KBD_RESET ; RESET THE KEYBOARD
|
||||
CALL KBD_SETLEDS ; UPDATE LEDS BASED ON CURRENT TOGGLE STATE BITS
|
||||
CALL KBD_SETRPT ; UPDATE REPEAT RATE BASED ON CURRENT SETTING
|
||||
@@ -178,7 +189,7 @@ KBD_PUTCMD:
|
||||
; PUT A CMD BYTE FROM A TO THE KEYBOARD INTERFACE WITH TIMEOUT
|
||||
;
|
||||
LD E,A ; SAVE INCOMING VALUE IN E
|
||||
LD A,(KBD_MODE) ; GET MODE BYTE
|
||||
LD A,(IY+KBD_MODE) ; GET MODE BYTE
|
||||
CP KBDMODE_VRC ; VGARC KEYBOARD?
|
||||
JR Z,KBD_PUTCMD2 ; BAIL OUT
|
||||
LD B,KBD_WAITTO ; SETUP TO LOOP
|
||||
@@ -208,7 +219,7 @@ KBD_PUTDATA:
|
||||
; PUT A DATA BYTE FROM A TO THE KEYBOARD INTERFACE WITH TIMEOUT
|
||||
;
|
||||
LD E,A ; SAVE INCOMING VALUE IN E
|
||||
LD A,(KBD_MODE) ; GET MODE BYTE
|
||||
LD A,(IY+KBD_MODE) ; GET MODE BYTE
|
||||
CP KBDMODE_VRC ; VGARC KEYBOARD?
|
||||
JR Z,KBD_PUTDATA2 ; BAIL OUT
|
||||
LD B,KBD_WAITTO ; SETUP TO LOOP
|
||||
@@ -690,11 +701,21 @@ KBD_DECNEW: ; START NEW KEYPRESS (CLEAR ALL STATUS BITS)
|
||||
LD (KBD_STATUS),A ; CLEAR STATUS
|
||||
JP KBD_DEC1 ; RESTART THE ENGINE
|
||||
;
|
||||
; DRIVER DATA
|
||||
;
|
||||
KBD_STR_MODEPS2 .TEXT "PS2$"
|
||||
KBD_STR_MODEVRC .TEXT "VRC$"
|
||||
KBD_STR_MODEUNK .TEXT "???$"
|
||||
;
|
||||
;
|
||||
;
|
||||
#IF (KBDKBLOUT == KBD_US)
|
||||
;
|
||||
;__________________________________________________________________________________________________
|
||||
;
|
||||
; MAPPING TABLES US/ENGLISH
|
||||
;__________________________________________________________________________________________________
|
||||
;
|
||||
KBD_MAPSTD: ; SCANCODE IS INDEX INTO TABLE TO RESULTANT LOOKUP KEYCODE
|
||||
.DB $FF,$E8,$FF,$E4,$E2,$E0,$E1,$EB,$FF,$E9,$E7,$E5,$E3,$09,'`',$FF
|
||||
.DB $FF,$B4,$B0,$FF,$B2,'q','1',$FF,$FF,$FF,'z','s','a','w','2',$FF
|
||||
@@ -731,7 +752,9 @@ KBD_MAPNUMPAD: ; KEYCODE TRANSLATION FROM NUMPAD RANGE TO STD ASCII/KEYCODES
|
||||
.DB $F3,$F7,$F5,$F8,$FF,$F9,$F2,$F6,$F4,$F0,$F1,$2F,$2A,$2D,$2B,$0D
|
||||
.DB $31,$32,$33,$34,$35,$36,$37,$38,$39,$30,$2E,$2F,$2A,$2D,$2B,$0D
|
||||
#ENDIF
|
||||
;
|
||||
#IF (KBDKBLOUT == KBD_DE)
|
||||
;
|
||||
;__________________________________________________________________________________________________
|
||||
;
|
||||
; MAPPING TABLES GERMAN
|
||||
|
||||
@@ -3,12 +3,15 @@
|
||||
; CENTRONICS (LPT) INTERFACE DRIVER
|
||||
;==================================================================================================
|
||||
;
|
||||
; CENTRONICS-STYLE PARALLEL PRINTER DRIVER. ASSUMES IBM STYLE
|
||||
; HARDWARE INTERFACE AS DESCRIBED BELOW.
|
||||
; CENTRONICS-STYLE PARALLEL PRINTER DRIVER.
|
||||
;
|
||||
; IMPLEMENTED AS A ROMWBW CHARACTER DEVICE. CURRENTLY HANDLES OUPUT
|
||||
; ONLY.
|
||||
;
|
||||
;==================================================================================================
|
||||
;
|
||||
; IBM STYLE INTERFACE (USED BY NHYODYNE PRINT MODULE):
|
||||
;
|
||||
; PORT 0 (INPUT/OUTPUT):
|
||||
;
|
||||
; D7 D6 D5 D4 D3 D2 D1 D0
|
||||
@@ -20,7 +23,7 @@
|
||||
;
|
||||
; D7 D6 D5 D4 D3 D2 D1 D0
|
||||
; +-------+-------+-------+-------+-------+-------+-------+-------+
|
||||
; | BUSY | ACK | POUT | SEL | ERR | 0 | 0 | 0 |
|
||||
; | /BUSY | /ACK | POUT | SEL | /ERR | 0 | 0 | 0 |
|
||||
; +-------+-------+-------+-------+-------+-------+-------+-------+
|
||||
;
|
||||
; PORT 2 (INPUT/OUTPUT):
|
||||
@@ -30,16 +33,40 @@
|
||||
; | STAT1 | STAT0 | ENBL | PINT | SEL | RES | LF | STB |
|
||||
; +-------+-------+-------+-------+-------+-------+-------+-------+
|
||||
;
|
||||
LPT_NONE .EQU 0 ; NOT PRESENT
|
||||
LPT_IBM .EQU 1 ; IBM PC STYLE INTERFACE
|
||||
;==================================================================================================
|
||||
;
|
||||
; MG014 STYLE INTERFACE (USED BY RCBUS MG014 MODULE):
|
||||
;
|
||||
; PORT 0 (INPUT/OUTPUT):
|
||||
;
|
||||
; D7 D6 D5 D4 D3 D2 D1 D0
|
||||
; +-------+-------+-------+-------+-------+-------+-------+-------+
|
||||
; | PD7 | PD6 | PD5 | PD4 | PD3 | PD2 | PD1 | PD0 |
|
||||
; +-------+-------+-------+-------+-------+-------+-------+-------+
|
||||
;
|
||||
; PORT 1 (INPUT):
|
||||
;
|
||||
; D7 D6 D5 D4 D3 D2 D1 D0
|
||||
; +-------+-------+-------+-------+-------+-------+-------+-------+
|
||||
; | | | | /ERR | SEL | POUT | BUSY | /ACK |
|
||||
; +-------+-------+-------+-------+-------+-------+-------+-------+
|
||||
;
|
||||
; PORT 2 (INPUT/OUTPUT):
|
||||
;
|
||||
; D7 D6 D5 D4 D3 D2 D1 D0
|
||||
; +-------+-------+-------+-------+-------+-------+-------+-------+
|
||||
; | LED | | | | /SEL | /RES | /LF | /STB |
|
||||
; +-------+-------+-------+-------+-------+-------+-------+-------+
|
||||
;
|
||||
;==================================================================================================
|
||||
;
|
||||
; PRE-CONSOLE INITIALIZATION - DETECT AND INIT HARDWARE
|
||||
;
|
||||
LPT_PREINIT:
|
||||
;
|
||||
; SETUP THE DISPATCH TABLE ENTRIES
|
||||
; NOTE: INTS WILL BE DISABLED WHEN PREINIT IS CALLED AND THEY MUST REMIAIN
|
||||
; DISABLED.
|
||||
; NOTE: INTS WILL BE DISABLED WHEN PREINIT IS CALLED AND THEY MUST
|
||||
; REMAIN DISABLED.
|
||||
;
|
||||
LD B,LPT_CFGCNT ; LOOP CONTROL
|
||||
XOR A ; ZERO TO ACCUM
|
||||
@@ -136,18 +163,26 @@ LPT_IN:
|
||||
LPT_OUT:
|
||||
CALL LPT_OST ; READY TO SEND?
|
||||
JR Z,LPT_OUT ; LOOP IF NOT
|
||||
LD A,(IY+3)
|
||||
LD C,A ; PORT 0 (DATA)
|
||||
OUT (C),E ; OUTPUT DATA TO PORT
|
||||
CALL DELAY ; IGNORE ANYTHING BACK AFTER A RESET
|
||||
LD A,%00001101 ; SELECT & STROBE, LEDS OFF
|
||||
INC C ; PUT CONTROL PORT IN C
|
||||
INC C
|
||||
OUT (C),A ; OUTPUT DATA TO PORT
|
||||
CALL DELAY ; IGNORE ANYTHING BACK AFTER A RESET
|
||||
LD A,%00001100 ; SELECT, LEDS OFF
|
||||
OUT (C),A ; OUTPUT DATA TO PORT
|
||||
|
||||
LD C,(IY+3) ; PORT 0 (DATA)
|
||||
OUT (C),E ; OUTPUT DATA TO PORT
|
||||
#IF (LPTMODE == LPTMODE_IBM)
|
||||
LD A,%00001101 ; SELECT & STROBE, LEDS OFF
|
||||
#ENDIF
|
||||
#IF (LPTMODE == LPTMODE_MG014)
|
||||
LD A,%00000100 ; SELECT & STROBE, LED OFF
|
||||
#ENDIF
|
||||
INC C ; PUT CONTROL PORT IN C
|
||||
INC C
|
||||
OUT (C),A ; OUTPUT DATA TO PORT
|
||||
CALL DELAY
|
||||
#IF (LPTMODE == LPTMODE_IBM)
|
||||
LD A,%00001100 ; SELECT, LEDS OFF
|
||||
#ENDIF
|
||||
#IF (LPTMODE == LPTMODE_MG014)
|
||||
LD A,%00000101 ; SELECT, LED OFF
|
||||
#ENDIF
|
||||
OUT (C),A ; OUTPUT DATA TO PORT
|
||||
CALL DELAY
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
@@ -161,11 +196,16 @@ LPT_IST:
|
||||
; OUTPUT STATUS
|
||||
;
|
||||
LPT_OST:
|
||||
LD A,(IY+3)
|
||||
LD C,A ; PORT 0 (DATA)
|
||||
INC C ; SELECT STATUS PORT
|
||||
IN A,(C) ; GET STATUS INFO
|
||||
AND %10000000 ; ONLY INTERESTED IN BUSY FLAG
|
||||
LD C,(IY+3) ; BASE PORT
|
||||
INC C ; SELECT STATUS PORT
|
||||
IN A,(C) ; GET STATUS INFO
|
||||
#IF (LPTMODE == LPTMODE_IBM)
|
||||
AND %10000000 ; ISOLATE /BUSY
|
||||
#ENDIF
|
||||
#IF (LPTMODE == LPTMODE_MG014)
|
||||
AND %00000010 ; ISOLATE BUSY
|
||||
XOR %00000010 ; INVERT TO READY
|
||||
#ENDIF
|
||||
RET ; DONE
|
||||
;
|
||||
; INITIALIZE DEVICE
|
||||
@@ -180,20 +220,40 @@ LPT_INITDEV:
|
||||
; PREINIT ABOVE. PREINIT IS NOT ALLOWED TO ENABLE INTS!
|
||||
;
|
||||
LPT_INITDEVX:
|
||||
LD A,(IY+3)
|
||||
LD C,A ; PORT 0 (DATA)
|
||||
;
|
||||
#IF (LPTMODE == LPTMODE_IBM)
|
||||
;
|
||||
LD C,(IY+3) ; PORT 0 (DATA)
|
||||
XOR A ; CLEAR ACCUM
|
||||
OUT (C),A ; SEND IT
|
||||
INC C ; BUMP TO
|
||||
INC C ; ... PORT 2
|
||||
LD A,%00001000 ; SELECT AND ASSERT RESET, LEDS OFF
|
||||
OUT (C),A ; SEND IT
|
||||
CALL LDELAY ; HALF SECOND DELAY
|
||||
CALL LDELAY ; HALF SECOND DELAY
|
||||
LD A,%00001100 ; SELECT AND DEASSERT RESET, LEDS OFF
|
||||
OUT (C),A ; SEND IT
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET ; RETURN
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
#IF (LPTMODE == LPTMODE_MG014)
|
||||
LD A,(IY+3) ; BASE PORT
|
||||
ADD A,3 ; BUMP TO CONTROL PORT
|
||||
LD C,A ; MOVE TO C FOR I/O
|
||||
LD A,$82 ; CONFIG A OUT, B IN, C OUT
|
||||
OUT (C),A ; DO IT
|
||||
DEC C ; OUTPUT PORT
|
||||
LD A,$81 ; STROBE OFF, SELECT ON, RES ON, LED ON
|
||||
OUT (C),A ; SEND IT
|
||||
CALL LDELAY ; HALF SECOND DELAY
|
||||
LD A,$05 ; STROBE OFF, SELECT ON, RES OFF, LED OFF
|
||||
OUT (C),A ; SEND IT
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET ; RETURN
|
||||
#ENDIF
|
||||
;
|
||||
;
|
||||
;
|
||||
LPT_QUERY:
|
||||
@@ -215,17 +275,26 @@ LPT_DEVICE:
|
||||
;
|
||||
; LPT DETECTION ROUTINE
|
||||
;
|
||||
#IF (LPTMODE == LPTMODE_NONE)
|
||||
;
|
||||
LPT_DETECT:
|
||||
LD A,(IY+3) ; BASE PORT ADDRESS
|
||||
LD C,A ; PUT IN C FOR I/O
|
||||
LD A,LPTMODE_NONE ; NOTHING TO DETECT
|
||||
RET
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
#IF (LPTMODE == LPTMODE_IBM)
|
||||
;
|
||||
LPT_DETECT:
|
||||
LD C,(IY+3) ; BASE PORT ADDRESS
|
||||
CALL LPT_DETECT2 ; CHECK IT
|
||||
JR Z,LPT_DETECT1 ; FOUND IT, RECORD IT
|
||||
LD A,LPT_NONE ; NOTHING FOUND
|
||||
LD A,LPTMODE_NONE ; NOTHING FOUND
|
||||
RET ; DONE
|
||||
;
|
||||
LPT_DETECT1:
|
||||
; LPT FOUND, RECORD IT
|
||||
LD A,LPT_IBM ; RETURN CHIP TYPE
|
||||
LD A,LPTMODE_IBM ; RETURN CHIP TYPE
|
||||
RET ; DONE
|
||||
;
|
||||
LPT_DETECT2:
|
||||
@@ -253,6 +322,43 @@ LPT_DETECT2:
|
||||
CP $A5 ; CORRECT?
|
||||
RET ; RETURN (ZF SET CORRECTLY)
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
#IF (LPTMODE == LPTMODE_MG014)
|
||||
LPT_DETECT:
|
||||
;
|
||||
; TEST FOR PPI EXISTENCE
|
||||
; WE SETUP THE PPI TO WRITE, THEN WRITE A VALUE OF $A5
|
||||
; TO PORT A (DATALO), THEN READ IT BACK. IF THE PPI IS THERE
|
||||
; THEN THE BUS HOLD CIRCUITRY WILL READ BACK THE $A5. SINCE
|
||||
; WE ARE IN WRITE MODE, AN IDE CONTROLLER WILL NOT BE ABLE TO
|
||||
; INTERFERE WITH THE VALUE BEING READ.
|
||||
;
|
||||
LD A,(IY+3) ; BASE IO ADDRESS
|
||||
ADD A,3 ; BUMP TO CONTROL PORT
|
||||
LD C,A ; PUT IN C
|
||||
LD A,$80 ; SET PORT A TO WRITE
|
||||
OUT (C),A ; WRITE IT
|
||||
;
|
||||
LD C,(IY+3) ; PPI PORT A
|
||||
LD A,$A5 ; TEST VALUE
|
||||
OUT (C),A ; PUSH VALUE TO PORT
|
||||
IN A,(C) ; GET PORT VALUE
|
||||
#IF (LPTTRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
CP $A5 ; CHECK FOR TEST VALUE
|
||||
JR Z,LPT_DETECT1 ; FOUND IT
|
||||
LD A,LPTMODE_NONE ; NOT FOUND
|
||||
RET
|
||||
;
|
||||
LPT_DETECT1:
|
||||
; LPT FOUND, RECORD IT
|
||||
LD A,LPTMODE_MG014 ; RETURN CHIP TYPE
|
||||
RET ; DONE
|
||||
#ENDIF
|
||||
;
|
||||
;
|
||||
;
|
||||
LPT_PRTCFG:
|
||||
@@ -291,9 +397,11 @@ LPT_PRTCFG:
|
||||
LPT_TYPE_MAP:
|
||||
.DW LPT_STR_NONE
|
||||
.DW LPT_STR_IBM
|
||||
.DW LPT_STR_MG014
|
||||
;
|
||||
LPT_STR_NONE .DB "<NOT PRESENT>$"
|
||||
LPT_STR_IBM .DB "IBM$"
|
||||
LPT_STR_MG014 .DB "MG014$"
|
||||
;
|
||||
; WORKING VARIABLES
|
||||
;
|
||||
|
||||
@@ -1352,20 +1352,24 @@ diskread:
|
||||
;
|
||||
clrled:
|
||||
#if (BIOS == BIOS_WBW)
|
||||
#if (DIAGENABLE)
|
||||
xor a ; zero accum
|
||||
out (DIAGPORT),a ; clear diag leds
|
||||
#if (FPLED_ENABLE)
|
||||
;xor a ; zero accum
|
||||
;out (FPLED_IO),a ; clear diag leds
|
||||
ld b,BF_SYSSET ; HBIOS SysGet
|
||||
ld c,BF_SYSSET_PANEL ; ... Panel swiches value
|
||||
ld l,$00 ; all LEDs off
|
||||
rst 08 ; do it
|
||||
#endif
|
||||
#if (LEDENABLE)
|
||||
#if (LEDMODE == LEDMODE_STD)
|
||||
ld a,$FF ; led is inverted
|
||||
out (LEDPORT),a ; clear led
|
||||
ld a,$FF ; led is inverted
|
||||
out (LEDPORT),a ; clear led
|
||||
#endif
|
||||
#if (LEDMODE == LEDMODE_RTC)
|
||||
; Bits 0 and 1 of the RTC latch are for the LEDs.
|
||||
ld a,(HB_RTCVAL)
|
||||
and ~%00000011
|
||||
out (RTCIO),a ; clear led
|
||||
out (RTCIO),a ; clear led
|
||||
ld (HB_RTCVAL),a
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -242,6 +242,12 @@ GDCMODE_NONE .EQU 0
|
||||
GDCMODE_ECB .EQU 1 ; ECB GDC
|
||||
GDCMODE_RPH .EQU 2 ; RPH GDC
|
||||
;
|
||||
; LPT DRIVER MODE SELECTIONS
|
||||
;
|
||||
LPTMODE_NONE .EQU 0 ; NONE
|
||||
LPTMODE_IBM .EQU 1 ; IBM STYLE INTERFACE
|
||||
LPTMODE_MG014 .EQU 2 ; RCBUS MG014 STYLE INTERFACE
|
||||
;
|
||||
; GDC MONITOR SELECTIONS
|
||||
;
|
||||
GDCMON_NONE .EQU 0
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
; WARNING: This code does not seem to be working on Z280. WBW - 5/3/2023
|
||||
;
|
||||
; Size-optimized LZSA2 decompressor by spke & uniabis (134 bytes)
|
||||
;
|
||||
@@ -59,8 +60,8 @@
|
||||
; 3. This notice may not be removed or altered from any source distribution.
|
||||
;
|
||||
|
||||
; #DEFINE BACKWARD_DECOMPRESS ; uncomment for data compressed with option -b (+5 bytes, -3% speed)
|
||||
; #DEFINE AVOID_SELFMODIFYING_CODE ; uncomment to disallow self-modifying code (-1 byte, -4% speed)
|
||||
; #DEFINE BACKWARD_DECOMPRESS ; uncomment for data compressed with option -b (+5 bytes, -3% speed)
|
||||
; #DEFINE AVOID_SELFMODIFYING_CODE ; uncomment to disallow self-modifying code (-1 byte, -4% speed)
|
||||
|
||||
#IFNDEF BACKWARD_DECOMPRESS
|
||||
|
||||
@@ -78,7 +79,7 @@
|
||||
|
||||
#DEFINE ADD_OFFSET \
|
||||
#DEFCONT \ ld a,e \ sub l \ ld l,a
|
||||
#DEFCONT \ ld a,d \ sbc h \ ld h,a ; 6*4 = 24t / 6 bytes
|
||||
#DEFCONT \ ld a,d \ sbc h \ ld h,a ; 6*4 = 24t / 6 bytes
|
||||
|
||||
#DEFINE BLOCKCOPY \
|
||||
#DEFCONT \ lddr
|
||||
@@ -117,7 +118,7 @@ MatchLen: and %00000111 \ add a,2 \ cp 9
|
||||
call z,ExtendedCode
|
||||
|
||||
CopyMatch: ld c,a
|
||||
push hl ; BC = len, DE = dest, HL = -offset, SP -> [src]
|
||||
push hl ; BC = len, DE = dest, HL = -offset, SP -> [src]
|
||||
|
||||
#IFNDEF AVOID_SELFMODIFYING_CODE
|
||||
PrevOffset .EQU $+1 \ ld hl,0
|
||||
@@ -125,8 +126,8 @@ PrevOffset .EQU $+1 \ ld hl,0
|
||||
push ix \ pop hl
|
||||
#ENDIF
|
||||
ADD_OFFSET
|
||||
BLOCKCOPY ; BC = 0, DE = dest
|
||||
pop hl ; HL = src
|
||||
BLOCKCOPY ; BC = 0, DE = dest
|
||||
pop hl ; HL = src
|
||||
|
||||
ReadToken: ld a,(hl) \ NEXT_HL \ push af
|
||||
and %00011000 \ jr z,NoLiterals
|
||||
@@ -162,12 +163,16 @@ ExtendedCode: call ReadNibble \ inc a \ jr z,ExtraByte
|
||||
ExtraByte ld a,15 \ add a,c \ add a,(hl) \ NEXT_HL \ ret nc
|
||||
ld a,(hl) \ NEXT_HL
|
||||
ld b,(hl) \ NEXT_HL \ ret nz
|
||||
pop bc ; RET is not needed, because RET from ReadNibble is sufficient
|
||||
pop bc ; RET is not needed, because RET from ReadNibble is sufficient
|
||||
|
||||
|
||||
ReadNibble: ld c,a
|
||||
skipLDCA xor a \ ex af,af' \ ret m
|
||||
skipLDCA xor a \ nop \ ex af,af' \ ret m ; NOP for Z280 bug
|
||||
ld a,(hl) \ or $F0 \ ex af,af'
|
||||
ld a,(hl) \ NEXT_HL \ or $0F
|
||||
rrca \ rrca \ rrca \ rrca \ ret
|
||||
|
||||
; The extraneous NOP instruction above is to workaround a bug in the
|
||||
; Z280 processor where ex af,af' can copy rather than swap the flags
|
||||
; register.
|
||||
; See https://www.retrobrewcomputers.org/forum/index.php?t=msg&goto=10183&
|
||||
|
||||
@@ -21,8 +21,8 @@ VRC_KBDST .EQU $F5
|
||||
VRC_ROWS .EQU 48
|
||||
VRC_COLS .EQU 64
|
||||
;
|
||||
#DEFINE USEFONT8X8
|
||||
#DEFINE VRC_FONT FONT8X8
|
||||
#DEFINE USEFONTVGARC
|
||||
#DEFINE VRC_FONT FONTVGARC
|
||||
;
|
||||
TERMENABLE .SET TRUE ; INCLUDE TERMINAL PSEUDODEVICE DRIVER
|
||||
;
|
||||
@@ -46,6 +46,9 @@ VRC_INIT:
|
||||
RET
|
||||
;
|
||||
VRC_INIT1:
|
||||
; RECORD DRIVER ACTIVE
|
||||
OR $FF
|
||||
LD (VRC_ACTIVE),A
|
||||
; DISPLAY CONSOLE DIMENSIONS
|
||||
LD A,VRC_COLS
|
||||
CALL PC_SPACE
|
||||
@@ -60,7 +63,7 @@ VRC_INIT1:
|
||||
CALL VRC_CRTINIT ; SETUP THE VGARC CHIP REGISTERS
|
||||
CALL VRC_LOADFONT ; LOAD FONT DATA FROM ROM TO VGARC STORAGE
|
||||
CALL VRC_VDARES ; RESET
|
||||
;CALL KBD_INIT ; INITIALIZE KEYBOARD DRIVER
|
||||
CALL KBD_INIT ; INITIALIZE KEYBOARD DRIVER
|
||||
|
||||
; ADD OURSELVES TO VDA DISPATCH TABLE
|
||||
LD BC,VRC_FNTBL ; BC := FUNCTION TABLE ADDRESS
|
||||
@@ -232,8 +235,8 @@ VRC_VDARDC:
|
||||
; ON RETURN, ZF SET INDICATES HARDWARE FOUND
|
||||
;
|
||||
VRC_PROBE:
|
||||
LD C,VRC_BASE
|
||||
LD B,0
|
||||
LD C,VRC_BASE + 1 ; +1 AVOIDS LEDS
|
||||
LD B,$00
|
||||
LD A,$AA
|
||||
OUT (C),A
|
||||
INC B
|
||||
@@ -280,9 +283,14 @@ VRC_LOADFONT:
|
||||
LD HL,VRC_FONT ; START OF FONT DATA
|
||||
#ENDIF
|
||||
;
|
||||
#IF 0
|
||||
; THIS APPROACH TO LOADING FONTS IS BEST (FASTEST), BUT IS
|
||||
; CAUSING ARTIFACTS ON THE DISPLAYED FONTS WHEN RUN ON A
|
||||
; Z280. IT IS NOT CLEAR WHAT THE PROBLEM IS (POSSIBLY
|
||||
; Z280 BUG), BUT FOR NOW WE AVOID THIS AND USE AN
|
||||
; ALTERNATIVE APPROACH BELOW.
|
||||
LD DE,0+(128*8)-1 ; LENGTH OF FONT DATA - 1
|
||||
ADD HL,DE ; ADD TO HL
|
||||
; LD HL,ENDFONT-1
|
||||
LD BC,VRC_FONTBASE+3 ; WORK BACKWARDS
|
||||
OTDR ; DO 4 PAGES
|
||||
DEC C
|
||||
@@ -292,6 +300,24 @@ VRC_LOADFONT:
|
||||
DEC C
|
||||
OTDR
|
||||
DEC C
|
||||
#ENDIF
|
||||
;
|
||||
#IF 1
|
||||
; ALTERNATIVE APPROACH TO LOADING FONTS. THIS ONE AVOIDS
|
||||
; THE USE OF OTDR WHICH SEEMS TO CAUSE PROBLEMS ON Z280.
|
||||
LD B,0
|
||||
LD C,VRC_FONTBASE
|
||||
VRC_LOADFONT1:
|
||||
LD A,(HL)
|
||||
OUT (C),A
|
||||
INC HL
|
||||
INC B
|
||||
JR NZ,VRC_LOADFONT1
|
||||
INC C
|
||||
LD A,C
|
||||
CP VRC_FONTBASE + 4
|
||||
JR NZ,VRC_LOADFONT1
|
||||
#ENDIF
|
||||
;
|
||||
#IF USELZSA2
|
||||
LD HL,(VRC_STACK) ; ERASE DECOMPRESS BUFFER
|
||||
@@ -632,6 +658,7 @@ VRC_POS .DW 0 ; CURRENT DISPLAY POSITION
|
||||
VRC_OFF .DW 0 ; SCREEN START OFFSET INTO DISP BUF
|
||||
VRC_LOFF .DB 0 ; LINE OFFSET INTO DISP BUF
|
||||
VRC_CURSOR .DB 0 ; CURSOR NESTING LEVEL
|
||||
VRC_ACTIVE .DB FALSE ; FLAG FOR DRIVER ACTIVE
|
||||
;
|
||||
;==================================================================================================
|
||||
; VGA DRIVER - INSTANCE DATA
|
||||
|
||||
@@ -48,7 +48,7 @@ The layout of the first track does not conform exactly to the
|
||||
recommended p-System layout. The recommended layout is not possible
|
||||
because it conflicts with the RomWBW definition for a boot track.
|
||||
However, the changes are only slightly different sector assignments for
|
||||
the different boot componets -- the general boot sequence and mechanism
|
||||
the different boot components -- the general boot sequence and mechanism
|
||||
for the p-System is completely standard.
|
||||
|
||||
The logical disk geometry used by this p-System
|
||||
@@ -77,14 +77,17 @@ escape sequence handling configuration. The debugger code as added to
|
||||
SYSTEM.PASCAL to enable the debug function. SYSTEM.INTERP was modified
|
||||
to enable the extended BIOS functions.
|
||||
|
||||
The build/makefile creates the psys disk image (psys.img) by adding
|
||||
concatentating psys.vol and blank.vol (after adding track 0 contents to
|
||||
The build/makefile creates the psys disk image (psys.img) by
|
||||
concatenating psys.vol and blank.vol (after adding track 0 contents to
|
||||
each). psys.vol and blank.vol are recognized by CiderPress and
|
||||
CiderPress can be used to add/remove files from these volumes.
|
||||
However, there is currently no straightforward way to extract the
|
||||
volumes from the disk image. If you are good with a binary disk
|
||||
editor, you can do it that way. Please contact me if you are
|
||||
interested in pursuing that.
|
||||
To extract volumes from a disk image, Andrew Davidson has created
|
||||
a nice Python script that can extract p-System volumes from an
|
||||
existing disk image file. The extracted volume can be manipulated
|
||||
by CiderPress. The script is also capable of re-inserting a modified
|
||||
volume back into the disk image file. This tool is available at:
|
||||
https://github.com/robosnacks/psysimg.
|
||||
|
||||
|
||||
There is currently no support for floppy drives.
|
||||
|
||||
@@ -119,7 +122,7 @@ that SofTech produced a IV.1 with some nice enhancements (like
|
||||
subsidiary volumes and decent support for ANSI/VT-100 terminals). I
|
||||
have been unable to track down the IV.1 distribution media despite
|
||||
trying very hard. If anyone knows of a source for the media of the
|
||||
Adapable p-System for Z80, I would love to get hold of it.
|
||||
Adaptable p-System for Z80, I would love to get hold of it.
|
||||
|
||||
3:58 PM Tuesday, January 17, 2023
|
||||
|
||||
@@ -138,4 +141,10 @@ arrow keys transmitted by an ANSI/VT-100 terminal. In this case,
|
||||
the setup program was used to define up/down/left/right like
|
||||
WordStar does: ^E,^X,^S,^D.
|
||||
|
||||
5:48 PM Tuesday, January 17, 2023
|
||||
5:48 PM Tuesday, January 17, 2023
|
||||
|
||||
Updated instructions above to include a reference to Andrew
|
||||
Davidson's Python script that will extract/insert volumes from/to
|
||||
a disk image.
|
||||
|
||||
1:31 PM Thursday, May 11, 2023
|
||||
Binary file not shown.
@@ -2,7 +2,7 @@
|
||||
#DEFINE RMN 3
|
||||
#DEFINE RUP 0
|
||||
#DEFINE RTP 0
|
||||
#DEFINE BIOSVER "3.3.0-dev.8"
|
||||
#DEFINE BIOSVER "3.3.0-dev.14"
|
||||
#define rmj RMJ
|
||||
#define rmn RMN
|
||||
#define rup RUP
|
||||
|
||||
@@ -3,5 +3,5 @@ rmn equ 3
|
||||
rup equ 0
|
||||
rtp equ 0
|
||||
biosver macro
|
||||
db "3.3.0-dev.8"
|
||||
db "3.3.0-dev.14"
|
||||
endm
|
||||
|
||||
Reference in New Issue
Block a user