mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 22:43:15 -06:00
Compare commits
57 Commits
v3.3.0-dev
...
v3.3.0-dev
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
480dbe4f4c | ||
|
|
26fad23c3a | ||
|
|
883dab7e97 | ||
|
|
d3f5643791 | ||
|
|
5299d24379 | ||
|
|
a229db96a6 | ||
|
|
092e44c62e | ||
|
|
722bce819b | ||
|
|
2d470a2a90 | ||
|
|
b6700dfa4c | ||
|
|
cfc76d0659 | ||
|
|
7fce3277a0 | ||
|
|
2219e4c82d | ||
|
|
68e841e62c | ||
|
|
bb70c36b36 | ||
|
|
c391fd6d56 | ||
|
|
e69caf5059 | ||
|
|
8b7e71049b | ||
|
|
50e190c755 | ||
|
|
d0eccf026b | ||
|
|
39f796ce22 | ||
|
|
5610e79db4 | ||
|
|
e782b78b16 | ||
|
|
c0d3969244 | ||
|
|
c62af3df33 | ||
|
|
6d736996fd | ||
|
|
8bc801d0a4 | ||
|
|
2c6b7f7fb1 | ||
|
|
c3503f56d1 | ||
|
|
d4c87996f0 | ||
|
|
9f5b3a8b1c | ||
|
|
d06e1e2a5c | ||
|
|
22a0c52af3 | ||
|
|
85aa7e89c2 | ||
|
|
59d04f2446 | ||
|
|
9cc52e30d6 | ||
|
|
e1a4e815dc | ||
|
|
3c340d1ab9 | ||
|
|
138248fafc | ||
|
|
834eefb0bb | ||
|
|
7835eb5deb | ||
|
|
d1a5c66147 | ||
|
|
b184ccfb78 | ||
|
|
4776b32cd3 | ||
|
|
2bc5333f2b | ||
|
|
a5575456e2 | ||
|
|
bdb8dc020b | ||
|
|
faaba69554 | ||
|
|
0395bba4f5 | ||
|
|
14ac7a917b | ||
|
|
7a209d4053 | ||
|
|
7e5b140c2f | ||
|
|
1f1952fb19 | ||
|
|
229bdaa308 | ||
|
|
5c0894b8c1 | ||
|
|
9cefcfb0bc | ||
|
|
5d34a5c5d5 |
@@ -39,8 +39,8 @@ image for the Mark IV with the standard configuration. If a custom
|
||||
configuration called "custom" is created and built, a new file called
|
||||
MK4_custom.rom will be added to this directory.
|
||||
|
||||
Documentation of the pre-built ROM Images is contained in the
|
||||
RomList.txt file in this directory.
|
||||
Documentation of the pre-built ROM Images is contained in
|
||||
"RomWBW User Guide.pdf" in the Doc directory.
|
||||
|
||||
ROM Firmware Update Images (<plt>_<cfg>.upd)
|
||||
-------------------------------------
|
||||
|
||||
@@ -12,6 +12,17 @@ Version 3.3
|
||||
- WBW: Support for SyQuest SparQ Drive on PPI interface (much inspiration from Alan Cox)
|
||||
- WBW: Support for ATAPI Disk Drives (not CD-ROMs) on IDE and PPIDE interfaces
|
||||
- R?P: Added new disk images: Aztec C, MS BASIC Compiler, MS Fortran, Games, HiTech-C, Turbo Pascal, SLR Z80ASM
|
||||
- JBL: Added RCZ80 configuration for ColecoVision
|
||||
- WBW: Support for Z180 running interrupt mode 1
|
||||
- WBW: Preliminary support for S100 Computers Z180
|
||||
- WBW: Preliminary support for Dan Werner's ESP32 MBC Module
|
||||
- WBW: Early support for Duodyne base system (CPU/UART/ROM/RAM/RTC/SPK)
|
||||
- M?C: Fixed XM to allow specifying HBIOS port for send operations
|
||||
- WBW: Fix S100 Z180 LED operation (credit to Jay Cotton for finding this issue)
|
||||
- WBW: QPM system image is now combined with current CBIOS during build
|
||||
- WBW: Added framework for Heath platform
|
||||
- WBW: Support for USB Disks via CH375/CH376
|
||||
- D?J: Support for Raspberry Pi build process
|
||||
|
||||
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)) \
|
||||
28 Jun 2023
|
||||
14 Sep 2023
|
||||
|
||||
# Overview
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
RomWBW ReadMe
|
||||
Wayne Warthen (wwarthen@gmail.com)
|
||||
28 Jun 2023
|
||||
14 Sep 2023
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -153,7 +153,8 @@ JP2 (/FAULT) shorted, JP3 (MINI): 2-3, JP4 (/DC/RDY): 2-3.
|
||||
|
||||
The RCBus Scott Baker WDC-based floppy module should be jumpered
|
||||
for I/O base address 0x50 (SV1: 11-12), JP1 (/DACK): 1-2,
|
||||
JP2 (TC): 2-3.
|
||||
JP2 (TC): 2-3. Note that pin 1 of JPX jumpers is toward the bottom
|
||||
of the board.
|
||||
|
||||
The RCBus FDC by Alan Cox (Etched Pixels) needs to be strapped
|
||||
for base I/O address 0x48.
|
||||
|
||||
@@ -12,12 +12,26 @@ DMAMODE_Z180 .EQU 2 ; Z180 INTEGRATED DMA
|
||||
DMAMODE_Z280 .EQU 3 ; Z280 INTEGRATED DMA
|
||||
DMAMODE_RC .EQU 4 ; RCBUS Z80 DMA
|
||||
DMAMODE_MBC .EQU 5 ; MBC
|
||||
DMAMODE_VDG .EQU 6 ; VELESOFT DATAGEAR
|
||||
DMAMODE_DUO .EQU 6 ; DUO
|
||||
DMAMODE_VDG .EQU 7 ; VELESOFT DATAGEAR
|
||||
;
|
||||
DMAMODE .EQU DMAMODE_DUO ; SELECT DMA DEVICE FOR TESTING
|
||||
;
|
||||
;==================================================================================================
|
||||
; SOME DEFAULT PLATFORM CONFIGURATIONS
|
||||
;==================================================================================================
|
||||
;
|
||||
DMABASE .EQU $E0 ; DMA: DMA BASE ADDRESS
|
||||
DMAMODE .EQU DMAMODE_MBC ; SELECT DMA DEVICE FOR TESTING
|
||||
DMALATCH .EQU DMABASE+1 ; DMA: DMA LATCH ADDRESS
|
||||
DMAIOTST .EQU $68 ; AN OUTPUT PORT FOR TESTING - 16C450 SERIAL OUT
|
||||
;
|
||||
#IF (DMAMODE==DMAMODE_DUO)
|
||||
DMABASE .SET $40 ; DMA: DMA0 BASE ADDRESS
|
||||
DMALATCH .SET $43 ; DMA: DMA LATCH ADDRESS
|
||||
DMAIOTST .SET $58 ; AN OUTPUT PORT FOR TESTING - 16C450 SERIAL OUT
|
||||
;DMAIOTST .SET $94 ; AN ALT OUTPUT PORT FOR TESTING - RTC/SPEAKER/LEDS PORT
|
||||
#ENDIF
|
||||
;
|
||||
;==================================================================================================
|
||||
; HELPER MACROS AND EQUATES
|
||||
;==================================================================================================
|
||||
@@ -113,7 +127,7 @@ MAIN:
|
||||
LD SP,STACK ; STACK
|
||||
;
|
||||
call PRTSTRD ; WELCOME
|
||||
.db "\n\rDMA Monitor V3\n\r$"
|
||||
.db "\n\rDMA Monitor V3.1\n\r$"
|
||||
;
|
||||
#IF (INTENABLE)
|
||||
;
|
||||
@@ -122,6 +136,8 @@ MAIN:
|
||||
ld de,$A000
|
||||
ld bc,hsiz
|
||||
ldir
|
||||
ld a,(dmaport)
|
||||
ld (int_dmaport),a
|
||||
;
|
||||
; Install interrupt vector (RomWBW specific!!!)
|
||||
ld hl,int ; pointer to my interrupt handler
|
||||
@@ -156,17 +172,17 @@ MENULP1:
|
||||
CP 'N'
|
||||
JP Z,DMATST_N ; MEMORY COPY ITER
|
||||
CP '0'
|
||||
JP Z,DMATST_01
|
||||
JP Z,DMATST_0 ; PULSE DMA PORT
|
||||
CP '1'
|
||||
JP Z,DMATST_1 ; PULSE LATCH PORT
|
||||
CP 'O'
|
||||
JP Z,DMATST_O
|
||||
#IF !(DMAMODE==DMAMODE_VDG)
|
||||
CP '1'
|
||||
JP Z,DMATST_01
|
||||
CP 'R'
|
||||
JP Z,DMATST_R ; TOGGLE RESET
|
||||
CP 'Y'
|
||||
JP Z,DMATST_Y ; TOGGLE READY
|
||||
#ENDIF
|
||||
JP Z,DMATST_Y
|
||||
cp 'L'
|
||||
jp z,DMACFG_L ; SET LATCH PORT
|
||||
cp 'S'
|
||||
jp z,DMACFG_S ; SET PORT
|
||||
cp 'V'
|
||||
@@ -197,12 +213,20 @@ DMABYE:
|
||||
;
|
||||
DMACFG_S:
|
||||
call PRTSTRD
|
||||
.db "\n\rSet port address\n\rPort:$"
|
||||
.db "\n\rSet DMA port address\n\rPort:$"
|
||||
call HEXIN
|
||||
ld hl,dmaport
|
||||
ld (hl),a
|
||||
inc hl
|
||||
inc a
|
||||
#IF (INTENABLE)
|
||||
ld (int_dmaport),a
|
||||
#ENDIF
|
||||
jp MENULP
|
||||
;
|
||||
DMACFG_L:
|
||||
call PRTSTRD
|
||||
.db "\n\rSet Latch port address\n\rPort:$"
|
||||
call HEXIN
|
||||
ld hl,dmalach
|
||||
ld (hl),a
|
||||
jp MENULP
|
||||
;
|
||||
@@ -234,11 +258,17 @@ DMATST_N:
|
||||
CALL DMAMemTestIter
|
||||
JP MENULP
|
||||
;
|
||||
DMATST_01:
|
||||
DMATST_0:
|
||||
call PRTSTRD
|
||||
.db "\n\rPerforming Port Selection Test\n\r$"
|
||||
CALL DMA_Port01
|
||||
JP MENULP
|
||||
.db "\n\rPerforming DMA Port Selection Test\n\r$"
|
||||
CALL DMA_Port0
|
||||
ret
|
||||
|
||||
DMATST_1:
|
||||
call PRTSTRD
|
||||
.db "\n\rPerforming Latch Port Selection Test\n\r$"
|
||||
CALL DMA_Port1
|
||||
ret
|
||||
;
|
||||
DMATST_O:
|
||||
call PRTSTRD
|
||||
@@ -255,7 +285,7 @@ DMATST_D:
|
||||
DMATST_Y:
|
||||
call PRTSTRD
|
||||
.db "\n\rPerforming Ready Bit Test\n\r$"
|
||||
CALL DMA_ReadyT
|
||||
CALL DMA_ReadyY
|
||||
JP MENULP
|
||||
;
|
||||
DMATST_R:
|
||||
@@ -289,6 +319,10 @@ DISPM: call PRTSTRD
|
||||
.db ", Port=0x$"
|
||||
LD A,(dmaport) ; DISPLAY
|
||||
CALL PRTHEXBYTE ; DMA PORT
|
||||
call PRTSTRD
|
||||
.db ", Latch Port=0x$"
|
||||
ld A,(dmalach)
|
||||
CALL PRTHEXBYTE ; DMA PORT
|
||||
;
|
||||
#IF (INTENABLE)
|
||||
;
|
||||
@@ -351,7 +385,7 @@ DMA_INIT:
|
||||
CALL PRTHEXBYTE
|
||||
;
|
||||
#IF !(DMAMODE==DMAMODE_VDG)
|
||||
ld a,(dmautil)
|
||||
ld a,(dmalach)
|
||||
ld c,a
|
||||
LD A,DMA_FORCE
|
||||
out (c),a ; force ready off
|
||||
@@ -369,7 +403,8 @@ DMA_INIT:
|
||||
;
|
||||
ld hl,DMACode ; program the
|
||||
ld b,DMACode_Len ; dma command
|
||||
ld c,DMABASE ; block
|
||||
ld a,(dmaport)
|
||||
ld c,a ; block
|
||||
;
|
||||
di
|
||||
otir ; load dma
|
||||
@@ -417,6 +452,7 @@ DMA_DEV_STR:
|
||||
.TEXT "Z280$"
|
||||
.TEXT "RCBUS$"
|
||||
.TEXT "MBC$"
|
||||
.TEXT "DUODYNE$"
|
||||
.TEXT "DATAGEAR$"
|
||||
;
|
||||
DMA_SPD_STR:
|
||||
@@ -479,11 +515,12 @@ DMACFG_V:
|
||||
;==================================================================================================
|
||||
;
|
||||
DMABUF .TEXT "0123456789abcdef"
|
||||
;DMABUF .DB $04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$00,$00,$00 ; SPEAKER
|
||||
;
|
||||
DMA_ReadyO:
|
||||
call PRTSTRD
|
||||
.db "\r\nOutputing string to port 0x$"
|
||||
ld a,DMAIOTST
|
||||
ld a,(tstport)
|
||||
call PRTHEXBYTE
|
||||
call NEWLINE
|
||||
;
|
||||
@@ -491,7 +528,7 @@ DMA_ReadyO:
|
||||
IOLoop: push bc
|
||||
call NEWLINE
|
||||
ld hl,DMABUF
|
||||
ld a,DMAIOTST
|
||||
ld a,(tstport)
|
||||
ld bc,16
|
||||
;
|
||||
call DMAOTIR
|
||||
@@ -502,16 +539,17 @@ IOLoop: push bc
|
||||
ret
|
||||
;
|
||||
;==================================================================================================
|
||||
; PULSE PORT (COMMON ROUTINE WHERE A CONTAINS THE ASCII PORT OFFSET)
|
||||
; PULSE PORT
|
||||
;==================================================================================================
|
||||
;
|
||||
DMA_Port01:
|
||||
DMA_Port0:
|
||||
ld a,(dmaport)
|
||||
jr DMA_Port
|
||||
DMA_Port1:
|
||||
ld a,(dmalach)
|
||||
DMA_Port:
|
||||
call PRTSTRD
|
||||
.db "\r\nPulsing port 0x$"
|
||||
sub '0' ; Calculate
|
||||
ld c,a
|
||||
ld a,(dmaport) ; Port to
|
||||
add a,c
|
||||
call PRTHEXBYTE
|
||||
call NEWLINE
|
||||
ld c,a ; toggle
|
||||
@@ -543,12 +581,9 @@ dlylp: dec bc
|
||||
; TOGGLE READY BIT
|
||||
;==================================================================================================
|
||||
;
|
||||
DMA_ReadyT:
|
||||
DMA_ReadyY:
|
||||
call NEWLINE
|
||||
#IF !(DMAMODE==DMAMODE_VDG)
|
||||
|
||||
#ENDIF
|
||||
ld a,(dmautil)
|
||||
ld a,(dmalach)
|
||||
ld c,a ; toggle
|
||||
ld b,$20 ; loop counter
|
||||
portlp2:push bc
|
||||
@@ -558,14 +593,12 @@ portlp2:push bc
|
||||
.db ": ON$"
|
||||
call delay
|
||||
ld a,$FF
|
||||
; ld c,DMABASE+1
|
||||
out (c),a
|
||||
call PRTSTRD
|
||||
.db " -> OFF$"
|
||||
call delay
|
||||
call PRTSTRD
|
||||
.db "\r \r$"
|
||||
; ld c,DMABASE+1
|
||||
ld a,0
|
||||
out (c),a
|
||||
pop bc
|
||||
@@ -605,9 +638,9 @@ DMAMemMove1:
|
||||
;
|
||||
DMAMemMove2:
|
||||
;
|
||||
; LD HL,$8400 ; PLANT
|
||||
; LD A,$00 ; BAD
|
||||
; LD (HL),A ; SEED
|
||||
;LD HL,$8400 ; PLANT
|
||||
;LD A,$00 ; BAD
|
||||
;LD (HL),A ; SEED
|
||||
;
|
||||
LD A,$AA ; CHECK COPY SUCCESSFULL
|
||||
LD HL,$8000
|
||||
@@ -615,6 +648,14 @@ DMAMemMove2:
|
||||
NXTCMP: CPI
|
||||
JP PO,CMPOK
|
||||
JR Z,NXTCMP
|
||||
|
||||
DEC HL
|
||||
CALL PRTHEXWORDHL
|
||||
LD A,' '
|
||||
CALL COUT
|
||||
LD A,(HL)
|
||||
CALL PRTHEXBYTE
|
||||
|
||||
RET ; RET W/ ZF CLEAR
|
||||
;
|
||||
CMPOK:
|
||||
@@ -1167,10 +1208,10 @@ CST:
|
||||
RET
|
||||
;
|
||||
USEINT .DB FALSE ; USE INTERRUPTS FLAG
|
||||
counter .dw 0
|
||||
dmaport .db DMABASE
|
||||
dmautil .db DMABASE+1
|
||||
dmalach .db DMALATCH
|
||||
dmaxfer .db DMA_XMODE
|
||||
tstport .db DMAIOTST
|
||||
dmavbs .db 0
|
||||
SAVSTK: .DW 2
|
||||
.FILL 64
|
||||
@@ -1187,11 +1228,16 @@ reladr .equ $ ; relocation start adr
|
||||
.org $A000 ; code will run here
|
||||
;
|
||||
int:
|
||||
;LD E,'.' ; OUTPUT CHAR TO E
|
||||
;LD C,CIO_CONSOLE ; CONSOLE UNIT TO C
|
||||
;LD B,BF_CIOOUT ; HBIOS FUNC: OUTPUT CHAR
|
||||
;CALL $FFF0 ; HBIOS OUTPUTS CHARACTER
|
||||
|
||||
; According to the DMA doc, you must issue
|
||||
; a DMA_DISABLE command prior to a
|
||||
; DMA_REINIT_STATUS_BYTE command to avoid a
|
||||
; potential race condition.
|
||||
ld a,(dmaport)
|
||||
ld a,(int_dmaport)
|
||||
ld c,a
|
||||
ld a,DMA_DISABLE
|
||||
out (c),a
|
||||
@@ -1211,6 +1257,11 @@ int:
|
||||
or $ff ; signal int handled
|
||||
ret
|
||||
;
|
||||
; data referred to in handler must reside in high mem
|
||||
;
|
||||
int_dmaport .db 0 ; hi mem copy of dmaport
|
||||
counter .dw 0 ; interrupt counter
|
||||
;
|
||||
hsiz .equ $ - $A000 ; size of handler to relocate
|
||||
;
|
||||
.org reladr + hsiz
|
||||
|
||||
@@ -8,6 +8,8 @@ set TASMTABS=%TOOLS%\tasm32
|
||||
tasm -t180 -g3 -fFF i2cscan.asm i2cscan.com i2cscan.lst || exit /b
|
||||
tasm -t180 -g3 -fFF rtcds7.asm rtcds7.com rtcds7.lst || exit /b
|
||||
tasm -t180 -g3 -fFF i2clcd.asm i2clcd.com i2clcd.lst || exit /b
|
||||
tasm -t80 -g3 -ff srom.asm srom.com srom.lst || exit /b
|
||||
|
||||
copy /Y i2c*.com ..\..\..\..\Binary\Apps\Test\ || exit /b
|
||||
copy /Y rtcds7*.com ..\..\..\..\Binary\Apps\Test\ || exit /b
|
||||
copy /Y srom.com ..\..\..\..\Binary\Apps\Test\ || exit /b
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
OBJECTS = i2cscan.com rtcds7.com i2clcd.com
|
||||
OBJECTS = i2cscan.com rtcds7.com i2clcd.com srom.com
|
||||
DEST = ../../../../Binary/Apps/Test/
|
||||
TOOLS = ../../../../Tools
|
||||
|
||||
|
||||
@@ -5,12 +5,13 @@
|
||||
; MARCO MACCAFERRI, HTTPS://WWW.MACCASOFT.COM
|
||||
; HBIOS VERSION BY PHIL SUMMERS (B1ACKMAILER) DIFFICULTLEVELHIGH@GMAIL.COM
|
||||
;
|
||||
PCF .EQU 1
|
||||
P8X180 .EQU 0
|
||||
SC126 .EQU 0
|
||||
SC137 .EQU 0
|
||||
PCFECB .EQU 0
|
||||
PCFDUO .EQU 1
|
||||
P8X180 .EQU 0
|
||||
SC126 .EQU 0
|
||||
SC137 .EQU 0
|
||||
;
|
||||
#IF (PCF)
|
||||
#IF (PCFECB)
|
||||
I2C_BASE .EQU 0F0H
|
||||
PCF_ID .EQU 0AAH
|
||||
CPU_CLK .EQU 12
|
||||
@@ -20,6 +21,16 @@ PCF_RS1 .EQU PCF_RS0+1
|
||||
PCF_OWN .EQU (PCF_ID >> 1) ; PCF'S ADDRESS IN SLAVE MODE
|
||||
#ENDIF
|
||||
;
|
||||
#IF (PCFDUO)
|
||||
I2C_BASE .EQU 056H
|
||||
PCF_ID .EQU 0AAH
|
||||
CPU_CLK .EQU 12
|
||||
;
|
||||
PCF_RS0 .EQU I2C_BASE
|
||||
PCF_RS1 .EQU PCF_RS0+1
|
||||
PCF_OWN .EQU (PCF_ID >> 1) ; PCF'S ADDRESS IN SLAVE MODE
|
||||
#ENDIF
|
||||
;
|
||||
#IF (P8X180)
|
||||
I2C_BASE .EQU 0A0h
|
||||
_sda .EQU 0
|
||||
@@ -153,8 +164,11 @@ lp5f: ld a,(addr) ; next address
|
||||
jp 0
|
||||
|
||||
signon: .db "I2C Bus Scanner"
|
||||
#IF (PCF)
|
||||
.DB " - PCF8584"
|
||||
#IF (PCFECB)
|
||||
.DB " - PCF8584 (ECB)"
|
||||
#ENDIF
|
||||
#IF (PCFDUO)
|
||||
.DB " - PCF8584 (Duodyne)"
|
||||
#ENDIF
|
||||
#IF (SC126)
|
||||
.DB " - SC126"
|
||||
@@ -219,7 +233,7 @@ _cout: ; character
|
||||
ret
|
||||
|
||||
;-----------------------------------------------------------------------------
|
||||
#IF (PCF)
|
||||
#IF (PCFECB | PCFDUO)
|
||||
_i2c_start:
|
||||
PCF_START:
|
||||
LD A,PCF_START_
|
||||
@@ -418,7 +432,7 @@ PCF_PINFAIL .DB "PIN FAIL$"
|
||||
PCF_BBFAIL .DB "BUS BUSY$"
|
||||
;
|
||||
;-----------------------------------------------------------------------------
|
||||
#IF (PCF)
|
||||
#IF (PCFECB | PCFDUO)
|
||||
_i2c_stop:
|
||||
PCF_STOP:
|
||||
LD A,PCF_STOP_ ; issue
|
||||
|
||||
1679
Source/Apps/Test/I2C/srom.asm
Normal file
1679
Source/Apps/Test/I2C/srom.asm
Normal file
File diff suppressed because it is too large
Load Diff
@@ -629,6 +629,9 @@ CFGTBL: ; PLT RSEL RDAT RIN Z180 ACR
|
||||
;
|
||||
.DB 13, $A0, $A1, $A0, $FF, $A2 ; MBC
|
||||
.DW HWSTR_MBC
|
||||
;
|
||||
.DB 17, $A0, $A1, $A0, $FF, $A2 ; DUODYNE
|
||||
.DW HWSTR_DUO
|
||||
;
|
||||
.DB $FF ; END OF TABLE MARKER
|
||||
;
|
||||
@@ -682,6 +685,7 @@ HWSTR_RCEB6 .DB "RCBus Sound Module (EBv6)",0
|
||||
HWSTR_RCMF .DB "RCBus Sound Module (MF)",0
|
||||
HWSTR_LINC .DB "Z50 LiNC Sound Module",0
|
||||
HWSTR_MBC .DB "NHYODYNE Sound Module",0
|
||||
HWSTR_DUO .DB "DUODYNE Sound Module",0
|
||||
|
||||
MSGUNSUP .db "MYM files not supported with HBIOS yet!\r\n", 0
|
||||
|
||||
|
||||
@@ -720,12 +720,17 @@ NOBYE: LXI H,FCB+1 ; Get primary option
|
||||
; Send option processor
|
||||
; Single option: "K" - force 1k mode
|
||||
;
|
||||
INX H ; Look for a 'K'
|
||||
CALL SNDOPC
|
||||
CALL SNDOPC
|
||||
JMP ALLSET
|
||||
SNDOPC:INX H ; Look for an option
|
||||
MOV A,M
|
||||
CPI ' ' ; Is it a space?
|
||||
JZ ALLSET ; Then we're ready to send...
|
||||
CPI 'K'
|
||||
JNZ OPTERR ; "K" is the only setable 2nd option
|
||||
JNZ CHKK
|
||||
POP PSW
|
||||
JMP ALLSET
|
||||
CHKK: CPI 'K'
|
||||
JNZ CHK6TH ; If it's not K it should be a port number
|
||||
LDA MSPEED
|
||||
CPI MINKSP ; If less than MINKSP bps, ignore 1k
|
||||
JC ALLSET ; Request
|
||||
@@ -733,7 +738,7 @@ NOBYE: LXI H,FCB+1 ; Get primary option
|
||||
STA KFLAG ; First, force us to 1K mode
|
||||
CALL ILPRT
|
||||
DB '(1k protocol selected)',CR,LF,0
|
||||
JMP ALLSET ; That's it for send...
|
||||
RET ; That's it for send...
|
||||
;
|
||||
; Receive option processor
|
||||
; 3 or 4 options: "X" - disable auto-protocol select
|
||||
@@ -5789,4 +5794,4 @@ BDPTOS EQU 83 ; Print Time on System
|
||||
ENDIF ; BYEBDOS
|
||||
;
|
||||
END
|
||||
|
||||
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
; 2022-02-28 [WBW] Use HBIOS to swap banks under CP/M 3
|
||||
; Use CPM3 BDOS direct BIOS call to get DRVTBL adr
|
||||
; 2023-06-19 [WBW] Update for revised DIODEVICE API
|
||||
; 2023-09-19 [WBW] Added CHUSB & CHSD device support
|
||||
;_______________________________________________________________________________
|
||||
;
|
||||
; ToDo:
|
||||
@@ -1920,8 +1921,8 @@ dev09 .db "HDSK",0
|
||||
dev10 .db "PPA",0
|
||||
dev11 .db "IMM",0
|
||||
dev12 .db "SYQ",0
|
||||
dev13 .equ devunk
|
||||
dev14 .equ devunk
|
||||
dev13 .db "CHUSB",0
|
||||
dev14 .db "CHSD",0
|
||||
dev15 .equ devunk
|
||||
;
|
||||
devcnt .equ 10 ; 10 devices defined
|
||||
@@ -1942,10 +1943,10 @@ stack .equ $ ; stack top
|
||||
; Messages
|
||||
;
|
||||
indent .db " ",0
|
||||
msgban1 .db "ASSIGN v1.6 for RomWBW CP/M ",0
|
||||
msgban1 .db "ASSIGN v1.7 for RomWBW CP/M ",0
|
||||
msg22 .db "2.2",0
|
||||
msg3 .db "3",0
|
||||
msbban2 .db ", 16-Jun-2023",0
|
||||
msbban2 .db ", 19-Sep-2023",0
|
||||
msghb .db " (HBIOS Mode)",0
|
||||
msgub .db " (UBIOS Mode)",0
|
||||
msgban3 .db "Copyright 2021, Wayne Warthen, GNU GPL v3",0
|
||||
|
||||
@@ -31,6 +31,8 @@
|
||||
;
|
||||
;[2022/03/27] v1.8 Support RHYOPHYRE
|
||||
;
|
||||
;[2023/07/07] v1.9 Support DUODYNE
|
||||
;
|
||||
; Constants
|
||||
;
|
||||
mask_data .EQU %10000000 ; RTC data line
|
||||
@@ -49,6 +51,7 @@ PORT_DYNO .EQU $0C ; RTC port for DYNO
|
||||
PORT_RCZ280 .EQU $C0 ; RTC port for RCZ280
|
||||
PORT_MBC .EQU $70 ; RTC port for MBC
|
||||
PORT_RPH .EQU $84 ; RTC port for RHYOPHYRE
|
||||
PORT_DUO .EQU $94 ; RTC port for DUODYNE
|
||||
|
||||
|
||||
BDOS .EQU 5 ; BDOS invocation vector
|
||||
@@ -1079,61 +1082,66 @@ HINIT:
|
||||
LD C,PORT_SBC
|
||||
LD DE,PLT_SBC
|
||||
CP $01 ; SBC
|
||||
JR Z,RTC_INIT2
|
||||
JP Z,RTC_INIT2
|
||||
CP $02 ; ZETA
|
||||
JR Z,RTC_INIT2
|
||||
JP Z,RTC_INIT2
|
||||
CP $03 ; ZETA 2
|
||||
JR Z,RTC_INIT2
|
||||
JP Z,RTC_INIT2
|
||||
;
|
||||
LD C,PORT_N8
|
||||
LD DE,PLT_N8
|
||||
CP $04 ; N8
|
||||
JR Z,RTC_INIT2
|
||||
JP Z,RTC_INIT2
|
||||
;
|
||||
LD C,PORT_MK4
|
||||
LD DE,PLT_MK4
|
||||
CP $05 ; Mark IV
|
||||
JR Z,RTC_INIT2
|
||||
JP Z,RTC_INIT2
|
||||
;
|
||||
LD C,PORT_RCZ80
|
||||
LD DE,PLT_RCZ80
|
||||
CP $07 ; RCBus w/ Z80
|
||||
JR Z,RTC_INIT2
|
||||
JP Z,RTC_INIT2
|
||||
;
|
||||
LD C,PORT_RCZ180
|
||||
LD DE,PLT_RCZ180
|
||||
CP $08 ; RCBus w/ Z180
|
||||
JR Z,RTC_INIT2
|
||||
JP Z,RTC_INIT2
|
||||
;
|
||||
LD C,PORT_EZZ80
|
||||
LD DE,PLT_EZZ80
|
||||
CP $09 ; Easy Z80
|
||||
JR Z,RTC_INIT2
|
||||
JP Z,RTC_INIT2
|
||||
;
|
||||
LD C,PORT_SCZ180
|
||||
LD DE,PLT_SCZ180
|
||||
CP $0A ; SCZ180
|
||||
JR Z,RTC_INIT2
|
||||
JP Z,RTC_INIT2
|
||||
;
|
||||
LD C,PORT_DYNO
|
||||
LD DE,PLT_DYNO
|
||||
CP 11 ; DYNO
|
||||
JR Z,RTC_INIT2
|
||||
JP Z,RTC_INIT2
|
||||
;
|
||||
LD C,PORT_RCZ280
|
||||
LD DE,PLT_RCZ280
|
||||
CP 12 ; RCZ280
|
||||
JR Z,RTC_INIT2
|
||||
JP Z,RTC_INIT2
|
||||
;
|
||||
LD C,PORT_MBC
|
||||
LD DE,PLT_MBC
|
||||
CP 13 ; MBC
|
||||
JR Z,RTC_INIT2
|
||||
JP Z,RTC_INIT2
|
||||
;
|
||||
LD C,PORT_RPH
|
||||
LD DE,PLT_RPH
|
||||
CP 14 ; RHYOPHYRE
|
||||
JR Z,RTC_INIT2
|
||||
JP Z,RTC_INIT2
|
||||
;
|
||||
LD C,PORT_DUO
|
||||
LD DE,PLT_DUO
|
||||
CP 17 ; DUODYNE
|
||||
JP Z,RTC_INIT2
|
||||
;
|
||||
; Unknown platform
|
||||
LD DE,PLTERR ; BIOS error message
|
||||
@@ -1630,7 +1638,7 @@ TESTING_BIT_DELAY_OVER:
|
||||
|
||||
RTC_HELP_MSG:
|
||||
.DB 0Ah, 0Dh ; line feed and carriage return
|
||||
.TEXT "RTC: Version 1.8"
|
||||
.TEXT "RTC: Version 1.9"
|
||||
.DB 0Ah, 0Dh ; line feed and carriage return
|
||||
.TEXT "Commands: E)xit T)ime st(A)rt S)et R)aw L)oop C)harge N)ocharge D)elay I)nit G)et P)ut B)oot W)arm-start H)elp"
|
||||
.DB 0Ah, 0Dh ; line feed and carriage return
|
||||
@@ -1760,6 +1768,7 @@ PLT_DYNO .TEXT ", DYNO RTC Module Latch Port 0x0C\r\n$"
|
||||
PLT_RCZ280 .TEXT ", RCBus Z280 RTC Module Latch Port 0xC0\r\n$"
|
||||
PLT_MBC .TEXT ", MBC RTC Latch Port 0x70\r\n$"
|
||||
PLT_RPH .TEXT ", RHYOPHYRE RTC Latch Port 0x84\r\n$"
|
||||
PLT_DUO .TEXT ", DUODYNE RTC Latch Port 0x70\r\n$"
|
||||
|
||||
;
|
||||
; Generic FOR-NEXT loop algorithm
|
||||
|
||||
@@ -310,6 +310,32 @@ diskdef wbw_rom1024
|
||||
os 2.2
|
||||
end
|
||||
|
||||
# RomWBW 512KB RAM (256KB reserved, 256KB RAM Disk)
|
||||
|
||||
diskdef wbw_ram512
|
||||
seclen 512
|
||||
tracks 8
|
||||
sectrk 64
|
||||
blocksize 2048
|
||||
maxdir 256
|
||||
skew 0
|
||||
boottrk 0
|
||||
os 2.2
|
||||
end
|
||||
|
||||
# RomWBW 1024KB RAM (256KB reserved, 768KB RAM Disk)
|
||||
|
||||
diskdef wbw_ram1024
|
||||
seclen 512
|
||||
tracks 24
|
||||
sectrk 64
|
||||
blocksize 2048
|
||||
maxdir 256
|
||||
skew 0
|
||||
boottrk 0
|
||||
os 2.2
|
||||
end
|
||||
|
||||
# RomWBW 720K floppy media
|
||||
|
||||
diskdef wbw_fd720
|
||||
|
||||
@@ -4,6 +4,7 @@ setlocal
|
||||
pushd HDIAG && call Build || exit /b & popd
|
||||
pushd CBIOS && call Build || exit /b & popd
|
||||
pushd CPM22 && call Build || exit /b & popd
|
||||
pushd QPM && call Build || exit /b & popd
|
||||
pushd ZCPR && call Build || exit /b & popd
|
||||
pushd ZCPR-DJ && call Build || exit /b & popd
|
||||
pushd ZSDOS && call Build || exit /b & popd
|
||||
|
||||
@@ -2529,24 +2529,21 @@ MD_INIT:
|
||||
; UDPATE THE RAM/ROM DPB STRUCTURES BASED ON HARDWARE
|
||||
;
|
||||
#IFDEF PLTWBW
|
||||
; TODO: HANDLE DISABLED RAM/ROM DISK BETTER.
|
||||
; IF RAM OR ROM DISK ARE DISABLED, BELOW WILL STILL
|
||||
; TRY TO ADJUST THE DPB BASED ON RAM BANK CALCULATIONS.
|
||||
; IT SHOULD NOT MATTER BECAUSE THE DPB SHOULD NEVER BE
|
||||
; USED. IT WOULD BE BETTER TO GET RAMD0/ROMD0 AND
|
||||
; RAMDN/ROMDN FROM THE HCB AND USE THOSE TO CALC THE
|
||||
; DPB ADJUSTMENT. IF DN-D0=0, BYPASS ADJUSTMENT.
|
||||
LD A,(HCB + HCB_ROMBANKS) ; ROM BANK COUNT
|
||||
SUB 4 ; REDUCE BANK COUNT BY RESERVED PAGES
|
||||
LD IX,DPB_ROM ; ADDRESS OF DPB
|
||||
CALL MD_INIT1 ; FIX IT UP
|
||||
; NOTE: ROM AND/OR RAM DISK MAY NOT BE ACTIVE, BUT WE GO
|
||||
; AHEAD AND UPDATE BOTH DPBS ANYWAY. IT CAUSES NO HARM SINCE
|
||||
; INACTIVE RAM/ROM DISK WILL NEVER BE ACCESSED.
|
||||
;
|
||||
LD A,(HCB + HCB_RAMBANKS) ; RAM BANK COUNT
|
||||
SUB 8 ; REDUCE BANK COUNT BY RESERVED PAGES
|
||||
LD IX,DPB_RAM ; ADDRESS OF DPB
|
||||
CALL MD_INIT1 ; FIX IT UP
|
||||
; ROM DISK
|
||||
LD A,(HCB + HCB_ROMD_BNKS) ; ROM DISK SIZE IN BANKS
|
||||
LD IX,DPB_ROM ; ADDRESS OF DPB
|
||||
CALL MD_INIT1 ; FIX IT UP
|
||||
;
|
||||
JR MD_INIT4 ; DONE
|
||||
; RAM DISK
|
||||
LD A,(HCB + HCB_RAMD_BNKS) ; RAM DISK SIZE IN BANKS
|
||||
LD IX,DPB_RAM ; ADDRESS OF DPB
|
||||
CALL MD_INIT1 ; FIX IT UP
|
||||
;
|
||||
JR MD_INIT4 ; DONE
|
||||
;
|
||||
MD_INIT1:
|
||||
;
|
||||
@@ -3394,8 +3391,8 @@ DEV09 .DB "HDSK$"
|
||||
DEV10 .DB "PPA$"
|
||||
DEV11 .DB "IMM$"
|
||||
DEV12 .DB "SYQ$"
|
||||
DEV13 .EQU DEVUNK
|
||||
DEV14 .EQU DEVUNK
|
||||
DEV13 .DB "CHUSB$"
|
||||
DEV14 .DB "CHSD$"
|
||||
DEV15 .EQU DEVUNK
|
||||
;
|
||||
#ENDIF
|
||||
|
||||
@@ -355,38 +355,30 @@ dpb$hdnew: ; 8MB Hard Disk Drive (new format)
|
||||
; called for first time initialization.
|
||||
|
||||
dsk$init:
|
||||
; TODO: Handle disabled RAM/ROM disk better.
|
||||
; If RAM or ROM disk are disabled, below will still
|
||||
; try to adjust the DPB based on RAM bank calculations.
|
||||
; It should not matter because the DPB should never be
|
||||
; used. It would be better to get RAMD0/ROMD0 and
|
||||
; RAMDN/ROMDN from the HCB and use those to calc the
|
||||
; DPB adjustment. If DN-D0=0, bypass adjustment.
|
||||
ld b,0FAh ; HBIOS Peek Function
|
||||
ld a,(@hbbio) ; HBIOS bank id
|
||||
ld d,a ; ... goes in D
|
||||
ld hl,10Ch ; Offset 10Ch is ROM bank cnt
|
||||
rst 08 ; Call HBIOS, value in E
|
||||
ld a,e ; move count to accum
|
||||
sub 4 ; reduce by # reserved banks
|
||||
ld ix,dpb$rom ; address of DPB
|
||||
call dsk$init1 ; fix it up
|
||||
|
||||
ld b,0FAh ; HBIOS Peek Function
|
||||
ld a,(@hbbio) ; HBIOS bank id
|
||||
ld d,a ; ... goes in D
|
||||
ld hl,10Bh ; Offset 10Bh is RAM bank cnt
|
||||
rst 08 ; Call HBIOS, value in E
|
||||
ld a,e ; move count to accum
|
||||
sub 8 ; reduce by # reserved banks
|
||||
ld ix,dpb$ram ; address of DPB
|
||||
call dsk$init1 ; fix it up
|
||||
|
||||
; NOTE: ROM and/or RAM disk may not be active, but we go
|
||||
; ahead and update both DPBs anyway. It causes no harm since
|
||||
; inactive RAM/ROM disk will never be accessed.
|
||||
|
||||
ld hl,1DFh ; ROM disk bank cnt in HCB
|
||||
ld ix,dpb$rom ; address of ROM Disk DPB
|
||||
call dsk$init1 ; fix it up
|
||||
ld hl,1DDh ; RAM dsik bank cnt in HCB
|
||||
ld ix,dpb$ram ; address of RAM Disk DPB
|
||||
call dsk$init1 ; fix it up
|
||||
ret ; done
|
||||
|
||||
dsk$init1:
|
||||
; Get bank count of RAM/ROM disk
|
||||
ld b,0FAh ; HBIOS Peek Function
|
||||
ld a,(@hbbio) ; HBIOS bank id
|
||||
ld d,a ; ... goes in D
|
||||
rst 08 ; Call HBIOS, value in E
|
||||
;ld a,e ; move count to accum
|
||||
|
||||
; Setup HL with bank count
|
||||
ld l,a ; lsb
|
||||
;ld l,a ; lsb
|
||||
ld l,e ; lsb
|
||||
ld h,0 ; msb is always zero
|
||||
|
||||
; Update EXM field
|
||||
|
||||
@@ -8,12 +8,12 @@ MEMTOP = FD
|
||||
BNKSWT = Y
|
||||
COMBAS = 80
|
||||
LERROR = Y
|
||||
NUMSEGS = 04
|
||||
NUMSEGS = 02
|
||||
MEMSEG00 = 01,17,00
|
||||
MEMSEG01 = 0E,72,02
|
||||
MEMSEG02 = 01,7F,03
|
||||
MEMSEG03 = 01,7F,04
|
||||
MEMSEG04 = 01,7F,05
|
||||
MEMSEG03 = 00,C0,04
|
||||
MEMSEG04 = 00,C0,05
|
||||
MEMSEG05 = 00,C0,06
|
||||
MEMSEG06 = 00,C0,07
|
||||
MEMSEG07 = 00,C0,08
|
||||
@@ -25,38 +25,38 @@ MEMSEG0C = 00,C0,0D
|
||||
MEMSEG0D = 00,C0,0E
|
||||
MEMSEG0E = 00,C0,0F
|
||||
MEMSEG0F = 00,C0,10
|
||||
HASHDRVA = Y
|
||||
HASHDRVB = Y
|
||||
HASHDRVC = Y
|
||||
HASHDRVD = Y
|
||||
HASHDRVE = Y
|
||||
HASHDRVF = Y
|
||||
HASHDRVG = Y
|
||||
HASHDRVH = Y
|
||||
HASHDRVI = Y
|
||||
HASHDRVJ = Y
|
||||
HASHDRVK = Y
|
||||
HASHDRVL = Y
|
||||
HASHDRVM = Y
|
||||
HASHDRVN = Y
|
||||
HASHDRVO = Y
|
||||
HASHDRVP = Y
|
||||
ALTBNKSA = Y
|
||||
ALTBNKSB = Y
|
||||
ALTBNKSC = Y
|
||||
ALTBNKSD = Y
|
||||
ALTBNKSE = Y
|
||||
ALTBNKSF = Y
|
||||
ALTBNKSG = Y
|
||||
ALTBNKSH = Y
|
||||
ALTBNKSI = Y
|
||||
ALTBNKSJ = Y
|
||||
ALTBNKSK = Y
|
||||
ALTBNKSL = Y
|
||||
ALTBNKSM = Y
|
||||
ALTBNKSN = Y
|
||||
ALTBNKSO = Y
|
||||
ALTBNKSP = Y
|
||||
HASHDRVA = N
|
||||
HASHDRVB = N
|
||||
HASHDRVC = N
|
||||
HASHDRVD = N
|
||||
HASHDRVE = N
|
||||
HASHDRVF = N
|
||||
HASHDRVG = N
|
||||
HASHDRVH = N
|
||||
HASHDRVI = N
|
||||
HASHDRVJ = N
|
||||
HASHDRVK = N
|
||||
HASHDRVL = N
|
||||
HASHDRVM = N
|
||||
HASHDRVN = N
|
||||
HASHDRVO = N
|
||||
HASHDRVP = N
|
||||
ALTBNKSA = N
|
||||
ALTBNKSB = N
|
||||
ALTBNKSC = N
|
||||
ALTBNKSD = N
|
||||
ALTBNKSE = N
|
||||
ALTBNKSF = N
|
||||
ALTBNKSG = N
|
||||
ALTBNKSH = N
|
||||
ALTBNKSI = N
|
||||
ALTBNKSJ = N
|
||||
ALTBNKSK = N
|
||||
ALTBNKSL = N
|
||||
ALTBNKSM = N
|
||||
ALTBNKSN = N
|
||||
ALTBNKSO = N
|
||||
ALTBNKSP = N
|
||||
NDIRRECA = 08
|
||||
NDIRRECB = 00
|
||||
NDIRRECC = 00
|
||||
|
||||
@@ -8,7 +8,7 @@ MEMTOP = FD
|
||||
BNKSWT = N
|
||||
COMBAS = 00
|
||||
LERROR = Y
|
||||
NUMSEGS = 03
|
||||
NUMSEGS = 01
|
||||
MEMSEG00 = 00,80,00
|
||||
MEMSEG01 = 00,C0,02
|
||||
MEMSEG02 = 00,C0,03
|
||||
|
||||
@@ -65,12 +65,11 @@ xbnkmov:
|
||||
; ------------ -------------- -------
|
||||
; COMMON BID_COM 8Fh
|
||||
; 0: OS/BUFS BID_USR 8Eh
|
||||
; BID_BIOS 8Dh
|
||||
; 1: TPA BID_AUX 8Ch
|
||||
; 2: BUFS BID_AUX-1 8Bh
|
||||
; 3: BUFS BID_AUX-2 8Ah
|
||||
; 4: BUFS BID_AUX-3 89h
|
||||
; 5: BUFS BID_AUX-4 88h
|
||||
; 1: TPA BID_AUX 8Dh
|
||||
; 2: BUFS BID_AUX-1 8Ch
|
||||
; 3: BUFS BID_AUX-2 8Bh
|
||||
; 4: BUFS BID_AUX-3 8Ah
|
||||
; 5: BUFS BID_AUX-4 89h
|
||||
;
|
||||
; N.B., Below BID_AUX is considered RAM disk bank. Need to
|
||||
; make sure RAM disk is kept small enough to stay below
|
||||
@@ -80,17 +79,13 @@ xbnkmov:
|
||||
; to adjust for real size of RAM in system
|
||||
;
|
||||
?bnkxlt:
|
||||
or a
|
||||
jr z,bank0
|
||||
neg ; 2 -> -2
|
||||
add a,8Dh ; 8Dh - 2 = 8Bh
|
||||
@hbbio equ $ - 1 ; BID_BIOS
|
||||
ret
|
||||
bank0:
|
||||
ld a,8Eh ; 0 -> 8Eh
|
||||
neg ; ex: 2 -> -2
|
||||
add a,8Eh ; ex: 8Eh - 2 = 8Ch
|
||||
@hbusr equ $ - 1 ; BID_USR
|
||||
ret
|
||||
|
||||
|
||||
@hbbio db 0 ; BID_BIOS
|
||||
|
||||
movtyp db 0 ; non-zero for interbank move
|
||||
|
||||
movbnks:
|
||||
|
||||
@@ -4,6 +4,7 @@ setlocal
|
||||
pushd HDIAG && call Clean.cmd & popd
|
||||
pushd Apps && call Clean.cmd & popd
|
||||
pushd CPM22 && call Clean.cmd & popd
|
||||
pushd QPM && call Clean.cmd & popd
|
||||
pushd ZCPR && call Clean.cmd & popd
|
||||
pushd ZCPR-DJ && call Clean.cmd & popd
|
||||
pushd ZSDOS && call Clean.cmd & popd
|
||||
|
||||
@@ -1952,6 +1952,9 @@ The hardware Platform (L) is identified as follows:
|
||||
| PLT_RCZ280 |12 | RCBUS W/ Z280 |
|
||||
| PLT_MBC |13 | NHYODYNE MULTI-BOARD COMPUTER |
|
||||
| PLT_RPH |14 | RHYOPHYRE GRAPHICS SBC |
|
||||
| PLT_Z80RETRO |15 | Z80 RETRO COMPUTER |
|
||||
| PLT_S100 |16 | S100 COMPUTERS Z180 |
|
||||
| PLT_DUO |17 | DUODYNE Z80 SYSTEM |
|
||||
|
||||
### Function 0xF2 -- System Set Bank (SYSSETBNK)
|
||||
|
||||
|
||||
@@ -58,8 +58,9 @@ produced by these developer communities:
|
||||
|
||||
General features include:
|
||||
|
||||
* Z80 Family CPUs including Z80, Z180, and Z280
|
||||
* Banked memory services for several banking designs
|
||||
* Disk drivers for RAM, ROM, Floppy, IDE, CF, and SD
|
||||
* Disk drivers for RAM, ROM, Floppy, IDE ATA/ATAPI, CF, SD, Zip, Iomega
|
||||
* Serial drivers including UART (16550-like), ASCI, ACIA, SIO
|
||||
* Video drivers including TMS9918, SY6545, MOS8563, HD6445
|
||||
* Keyboard (PS/2) drivers via VT8242 or PPI interfaces
|
||||
@@ -195,6 +196,7 @@ below, **carefully** pick the appropriate ROM image for your hardware.
|
||||
| [Small Computer SC131 Z180 Pocket Computer]^5^ | - | SCZ180_sc131.rom | 115200 |
|
||||
| [Small Computer SC140 Z180 CPU Module]^5^ | Z50 | SCZ180_sc140.rom | 115200 |
|
||||
| [Small Computer SC503 Z180 CPU Module]^5^ | Z50 | SCZ180_sc503.rom | 115200 |
|
||||
| [Small Computer SC700 Z180 CPU Module]^5^ | RCBus | SCZ180_sc700.rom | 115200 |
|
||||
| [Dyno Z180 SBC]^6^ | Dyno | DYNO_std.rom | 38400 |
|
||||
| [Nhyodyne Z80 MBC]^1^ | MBC | MBC_std.rom | 38400 |
|
||||
| [Rhyophyre Z180 SBC]^1^ | - | RPH_std.rom | 38400 |
|
||||
@@ -202,6 +204,9 @@ below, **carefully** pick the appropriate ROM image for your hardware.
|
||||
| [Z280 ZZRCC CPU Module]^7^ | RCBus | RCZ280_zzrc.rom | 115200 |
|
||||
| [Z280 ZZ80MB SBC]^7^ | RCBus | RCZ280_zz80mb.rom | 115200 |
|
||||
| [Z80-Retro SBC]^8^ | - | Z80RETRO_std.rom | 38400 |
|
||||
| [S100 Computers Z180]^9^ | S100 | S100_std.rom | 38400 |
|
||||
| [Duodyne Z80 System]^1^ | Duo | DUO_std.rom | 38400 |
|
||||
| [Heath H8 Z80 System] | H8 | HEATH_std.rom | 115200 |
|
||||
|
||||
| ^1^Designed by Andrew Lynch
|
||||
| ^2^Designed by Sergey Kiselev
|
||||
@@ -211,6 +216,7 @@ below, **carefully** pick the appropriate ROM image for your hardware.
|
||||
| ^6^Designed by Steve Garcia
|
||||
| ^7^Designed by Bill Shen
|
||||
| ^8^Designed by Peter Wilson
|
||||
| ^9^Designed by John Monahan
|
||||
|
||||
RCBus refers to Spencer Owen's RC2014 bus specification and derivatives
|
||||
including RC26, RC40, RC80, and BP80.
|
||||
@@ -2140,10 +2146,36 @@ regarding the RomWBW adaptation and customizations.
|
||||
|
||||
#### Boot Disk
|
||||
|
||||
There is no RomWBW-specific boot disk creation procedure. QP/M
|
||||
comes with a QINSTALL which is used to install QPM over an existing
|
||||
CP/M 2 installation or to update an existing QPM disk. `QINSTALL.COM`
|
||||
is included with the RomWBW distribution.
|
||||
|
||||
To create or update a bootable QP/M Z-System disk, a special process
|
||||
is required. QP/M is not provided in source format. You are expected
|
||||
to install QP/M over an existing CP/M installation using the
|
||||
`QINSTALL.COM` application.
|
||||
|
||||
To update an existing QP/M boot disk with the latest RomWBW CBIOS, you
|
||||
must use 2 steps: apply the generic CP/M system track, then reinstall
|
||||
the QP/M components. To do this, you can perform the following steps:
|
||||
|
||||
1. Boot to the existing QP/M disk. At this point, drive A should be
|
||||
the QP/M disk that you wish to update. You may receive a warning
|
||||
about CBIOS/HBIOS version mismatch.
|
||||
|
||||
1. Use RomWBW `SYSCOPY` to place the stock RomWBW CP/M OS image
|
||||
onto the system tracks of the QP/M boot disk:
|
||||
|
||||
`SYSCOPY A:=x:CPM.SYS`
|
||||
|
||||
where x is the drive letter of your ROM Disk.
|
||||
|
||||
1. Run `QINSTALL` to overlay the QP/M OS components on your
|
||||
QP/M boot disk.
|
||||
|
||||
**WARNING**: `QINSTALL` has no mechanism for retaining previous
|
||||
non-default settings. Any previous non-default settings you
|
||||
previously made with `QINSTALL` will need to be reapplied. The
|
||||
pre-built RomWBW QP/M disk image includes a couple of specific
|
||||
non-default settings to optimize use with RomWBW. Please review the
|
||||
notes in the ReadMe.txt file in Source/Images/d_qpm.
|
||||
|
||||
#### Notes
|
||||
|
||||
@@ -2151,6 +2183,9 @@ is included with the RomWBW distribution.
|
||||
on the QPM binary distribution and has been minimally customized
|
||||
for RomWBW.
|
||||
|
||||
- When booted, the QPM startup banner will indicate CP/M 2.2. This
|
||||
is because QPM uses the CP/M 2.2 CBIOS code.
|
||||
|
||||
- QINSTALL is used to customize QPM. It is included on the
|
||||
disk image. You should review the notes in the ReadMe.txt
|
||||
file in Source/Images/d_qpm before making changes.
|
||||
@@ -2305,26 +2340,35 @@ This application understands both FAT filesystems as well as CP/M filesystems.
|
||||
* Long filenames are not supported. Files with long filenames will
|
||||
show up with their names truncated into the older 8.3 convention.
|
||||
* A FAT filesystem can be located on floppy or hard disk media. For
|
||||
hard disk media, the FAT filesystem must be located within a valid
|
||||
FAT partition.
|
||||
hard disk media, a valid FAT Filesystem partition must exist.
|
||||
* Note that CP/M (and compatible) OSes do not support all of the
|
||||
filename characters that a modern computer does. The following
|
||||
characters are **not permitted** in a CP/M filename:
|
||||
|
||||
`< > . , ; : = ? * [ ] _ % | ( ) / \`
|
||||
|
||||
The FAT application does not auto-rename files when it encounters
|
||||
invalid filenames. It will just issue an error and quit.
|
||||
Additionally, the error message is not very clear about the problem.
|
||||
|
||||
## FAT Filesystem Preparation
|
||||
|
||||
In general, you can create media formatted with a FAT filesystem on
|
||||
your RomWBW computer or on your modern computer. We will only be
|
||||
discussing the RomWBW-based approach here.
|
||||
|
||||
In the case of a floppy disk, you can use the `FAT` application to
|
||||
format the floppy disk. For example, if your floppy disk is on RomWBW
|
||||
disk unit 2, you could use `FAT FORMAT 2:`. This will overwrite the
|
||||
floppy with a FAT filesystem and all previous contents will be lost.
|
||||
Once formatted this way, the floppy disk can be used in a floppy drive
|
||||
attached to a modern computer or it can be used on RomWBW using the
|
||||
In the case of a floppy disk, you can use the `FAT` application to
|
||||
format the floppy disk. The floppy disk must already be physically
|
||||
formatted using RomWBW FDU or equivalent. If your floppy disk is on
|
||||
RomWBW disk unit 2, you could use `FAT FORMAT 2:`. This will overwrite
|
||||
the floppy with a FAT filesystem and all previous contents will be lost.
|
||||
Once formatted this way, the floppy disk can be used in a floppy drive
|
||||
attached to a modern computer or it can be used on RomWBW using the
|
||||
other `FAT` tool commands.
|
||||
|
||||
In the case of hard disk media, it is necessary to have a FAT
|
||||
partition. If you prepared your RomWBW hard disk media using the
|
||||
disk image process, then this partition will already be present and
|
||||
disk image process, then this partition will already be defined and
|
||||
you do not need to recreate it. This default FAT partition is located
|
||||
at approximately 512MB from the start of your disk and it is 384MB in
|
||||
size. So, your hard disk media must be 1GB or greater to use this
|
||||
@@ -2372,8 +2416,13 @@ If your RomWBW system has multiple disk drives/slots, you can also just
|
||||
create a disk with your modern computer that is a dedicated FAT
|
||||
filesystem disk. You can use your modern computer to format the disk
|
||||
(floppy, CF Card, SD Card, etc.), then insert the disk in your RomWBW
|
||||
computer and access if using `FAT` based on its RomWBW unit number.
|
||||
computer and access it using `FAT` based on its RomWBW unit number.
|
||||
|
||||
**WARNING**: Microsoft Windows will sometimes suggest reformatting
|
||||
partitions that it does not recognize. If you are prompted to format
|
||||
a partition of your SD/CF Card when inserting the card into a Windows
|
||||
computer, you probably want to select Cancel.
|
||||
|
||||
## FAT Application Usage
|
||||
|
||||
Complete instructions for the `FAT` application are found in $doc_apps$.
|
||||
@@ -3774,6 +3823,31 @@ the RomWBW HBIOS configuration.
|
||||
|
||||
`\clearpage`{=latex}
|
||||
|
||||
### Small Computer SC700 Z180 CPU Module
|
||||
|
||||
| | |
|
||||
|-------------------|------------------|
|
||||
| ROM Image Files | SCZ180_sc700.rom |
|
||||
| Console Baud Rate | 115200 |
|
||||
| Interrupts | Mode 2 |
|
||||
|
||||
- CPU speed is detected at startup if DS1302 RTC is active
|
||||
- Otherwise 18.432 MHz assumed
|
||||
- System timer is generated by Z180 CPU
|
||||
- Hardware auto-detected:
|
||||
- DS1302 RTC
|
||||
- Z180 ASCI Serial Ports
|
||||
- SIO Serial Interface Module
|
||||
- EP Dual UART Serial Interface Module
|
||||
- WDC Floppy Disk Controller w/ 3.5" HD Drives
|
||||
- IDE Hard Disk Interface Module
|
||||
- PPIDE Hard Disk Interface Module
|
||||
- Onboard SD Card Interface
|
||||
- Use of Interrupt Mode 2 requires proper IEI/IEO configuration
|
||||
for all peripherals generating interrupts
|
||||
|
||||
`\clearpage`{=latex}
|
||||
|
||||
### Dyno Z180 SBC
|
||||
|
||||
| | |
|
||||
@@ -3927,6 +4001,64 @@ the RomWBW HBIOS configuration.
|
||||
|
||||
`\clearpage`{=latex}
|
||||
|
||||
### S100 Computers Z180
|
||||
|
||||
| | |
|
||||
|-------------------|---------------|
|
||||
| ROM Image File | S100_std.rom |
|
||||
| Console Baud Rate | 38400 |
|
||||
| Interrupts | Mode 2 |
|
||||
|
||||
- CPU speed assumed to be 18.432 MHz
|
||||
- System timer is generated by Z180 CPU
|
||||
- Hardware auto-detected:
|
||||
- Interrupt-driven RTC
|
||||
- Z180 ASCI Serial Ports
|
||||
- Onboard SD Card Interface
|
||||
|
||||
`\clearpage`{=latex}
|
||||
|
||||
### Duodyne Z80 System
|
||||
|
||||
| | |
|
||||
|-------------------|---------------|
|
||||
| ROM Image File | DUO_std.rom |
|
||||
| Console Baud Rate | 38400 |
|
||||
| Interrupts | Mode 2 |
|
||||
|
||||
- CPU speed is detected at startup if DS1302 RTC is active
|
||||
- Otherwise 8.000 MHz assumed
|
||||
- System timer is generated by CTC if available
|
||||
- Hardware auto-detected:
|
||||
- DS1302 RTC
|
||||
- Zilog DMA Module
|
||||
- UART Serial Adapter
|
||||
|
||||
`\clearpage`{=latex}
|
||||
|
||||
### Heath H8 Z80 System
|
||||
|
||||
| | |
|
||||
|-------------------|---------------|
|
||||
| ROM Image File | HEATH_std.rom |
|
||||
| Console Baud Rate | 115200 |
|
||||
| Interrupts | Mode 1 |
|
||||
|
||||
- CPU speed is detected at startup if DS1302 RTC is active
|
||||
- Otherwise 7.3728 MHz assumed
|
||||
- Hardware auto-detected:
|
||||
- DS1302 RTC
|
||||
- ACIA Serial Interface Module
|
||||
- SIO Serial Interface Module
|
||||
- EP Dual UART Serial Interface Module
|
||||
- WDC Floppy Disk Controller w/ 3.5" HD Drives
|
||||
- IDE Hard Disk Interface Module
|
||||
- PPIDE Hard Disk Interface Module
|
||||
- Serial baud rate is usually determined by hardware for ACIA and
|
||||
SIO interfaces
|
||||
|
||||
`\clearpage`{=latex}
|
||||
|
||||
## Appendix B - Device Summary
|
||||
|
||||
The table below briefly describes each of the possible devices that
|
||||
@@ -3949,7 +4081,7 @@ may be discovered by RomWBW in your system.
|
||||
| FD | Disk | 8272 or compatible Floppy Disk Controller |
|
||||
| GDC | Video | uPD7220 Video Display Controller |
|
||||
| HDSK | Disk | SIMH Simulator Hard Disk |
|
||||
| IDE | Disk | IDE/ATA Hard Disk Interface |
|
||||
| IDE | Disk | IDE/ATA/ATAPI Hard Disk Interface |
|
||||
| ICM | DsKy | ICM7218-based Display/Keypad on PPI |
|
||||
| IMM | Disk | IMM Zip Drive on PPI |
|
||||
| INTRTC | RTC | Interrupt-based Real Time Clock |
|
||||
@@ -3961,7 +4093,7 @@ may be discovered by RomWBW in your system.
|
||||
| I2C | System | I2C Interface |
|
||||
| PIO | Char | Zilog Parallel Interface Controller |
|
||||
| PKD | DsKy | P8279-based Display/Keypad on PPI |
|
||||
| PPIDE | Disk | 8255 IDE/ATA Hard Disk Interface |
|
||||
| PPIDE | Disk | 8255 IDE/ATA/ATAPI Hard Disk Interface |
|
||||
| PPA | Disk | PPA Zip Drive on PPI |
|
||||
| PPK | Kbd | Matrix Keyboard |
|
||||
| PPPSD | Disk | ParPortProp SD Card Interface |
|
||||
|
||||
74
Source/HBIOS/Bank Layout.txt
Normal file
74
Source/HBIOS/Bank Layout.txt
Normal file
@@ -0,0 +1,74 @@
|
||||
ROM Bank Layout
|
||||
|
||||
Bank ID Module Start Size
|
||||
------ ------ ------ ------
|
||||
0x00 hbios 0x0000 0x8000
|
||||
<end> 0x8000
|
||||
|
||||
0x01 loader 0x0000 0x1000
|
||||
dbgmon 0x1000 0x2000
|
||||
cpm22 0x2000 0x3000
|
||||
zsys 0x5000 0x3000
|
||||
<end> 0x8000
|
||||
|
||||
0x02 forth 0x0000 0x1700
|
||||
basic 0x1700 0x2000
|
||||
tbasic 0x3700 0x0900
|
||||
game 0x4000 0x0900
|
||||
egg 0x4900 0x0200
|
||||
netboot 0x4B00 0x1000
|
||||
updater 0x5B00 0x0D00
|
||||
usrrom 0x6800 0x1800
|
||||
<end> 0x8000
|
||||
|
||||
0x03 imgpad2 0x0000 0x8000
|
||||
<end> 0x8000
|
||||
|
||||
0x04 - N ROM Disk Data
|
||||
|
||||
|
||||
RAM Bank Layout
|
||||
|
||||
Bank ID Usage
|
||||
------- ------
|
||||
0x80 RomWBW HBIOS
|
||||
0x81-0x8B RAM Disk Data
|
||||
0x8C CP/M 3 Buffers
|
||||
0x8D CP/M 3 OS
|
||||
0x8E User TPA
|
||||
0x8F Common
|
||||
|
||||
|
||||
ROMless Bank Layout
|
||||
|
||||
Bank ID Usage
|
||||
------- ------
|
||||
0x80 RomWBW HBIOS
|
||||
0x81 Loader, DbgMon, CP/M 2.2, ZSDOS
|
||||
0x82 ROM Apps
|
||||
0x83 More ROM Apps
|
||||
0x84-0x8B RAM Disk Data
|
||||
0x8C CP/M 3 Buffers
|
||||
0x8D CP/M 3 OS
|
||||
0x8E User TPA
|
||||
0x8F Common
|
||||
|
||||
|
||||
ROMless Tiny Bank Layout (128K)
|
||||
NOTE: no ROM Apps, no CP/M 3 support, no RAM disk
|
||||
|
||||
Bank ID Usage
|
||||
------- ------
|
||||
0x80 RomWBW HBIOS
|
||||
0x81 Loader, DbgMon, CP/M 2.2, ZSDOS
|
||||
0x82 User TPA
|
||||
0x83 Common
|
||||
|
||||
Disk Image Sizes
|
||||
|
||||
Image Size ROM System ROMless System
|
||||
---------- ---------- --------------
|
||||
1024K 896K 768K
|
||||
512 384K 256K
|
||||
256 128K 0K
|
||||
128 (tiny) n/a 0K
|
||||
@@ -93,7 +93,14 @@ call :asm imgpad2 || exit /b
|
||||
|
||||
copy /b romldr.bin + dbgmon.bin + ..\zsdos\zsys_wbw.bin + ..\cpm22\cpm_wbw.bin osimg.bin || exit /b
|
||||
copy /b ..\Forth\camel80.bin + nascom.bin + ..\tastybasic\src\tastybasic.bin + game.bin + eastaegg.bin + netboot.mod + updater.bin + usrrom.bin osimg1.bin || exit /b
|
||||
copy /b imgpad2.bin osimg2.bin || exit /b
|
||||
|
||||
if %Platform%==S100 (
|
||||
zxcc slr180 -s100mon/fh
|
||||
zxcc mload25 -s100mon || exit /b
|
||||
copy /b s100mon.com osimg2.bin || exit /b
|
||||
) else (
|
||||
copy /b imgpad2.bin osimg2.bin || exit /b
|
||||
)
|
||||
|
||||
copy /b romldr.bin + dbgmon.bin + ..\zsdos\zsys_wbw.bin osimg_small.bin || exit /b
|
||||
|
||||
@@ -103,10 +110,8 @@ copy /b romldr.bin + dbgmon.bin + ..\zsdos\zsys_wbw.bin osimg_small.bin || exit
|
||||
:: should yield a result of zero.
|
||||
::
|
||||
|
||||
if %ROMSize% gtr 0 (
|
||||
for %%f in (hbios_rom.bin osimg.bin osimg1.bin osimg2.bin) do (
|
||||
"%TOOLS%\srecord\srec_cat.exe" %%f -Binary -Crop 0 0x7FFF -Checksum_Negative_Big_Endian 0x7FFF 1 1 -o %%f -Binary || exit /b
|
||||
)
|
||||
for %%f in (hbios_rom.bin osimg.bin osimg1.bin osimg2.bin) do (
|
||||
"%TOOLS%\srecord\srec_cat.exe" %%f -Binary -Crop 0 0x7FFF -Checksum_Negative_Big_Endian 0x7FFF 1 1 -o %%f -Binary || exit /b
|
||||
)
|
||||
|
||||
::
|
||||
@@ -130,8 +135,8 @@ if %ROMSize% gtr 0 (
|
||||
copy /b hbios_rom.bin + osimg.bin + osimg1.bin + osimg2.bin %ROMName%.upd || exit /b
|
||||
copy /b hbios_app.bin + osimg_small.bin %ROMName%.com || exit /b
|
||||
) else (
|
||||
copy /b hbios_rom.bin + osimg_small.bin %ROMName%.rom || exit /b
|
||||
copy /b hbios_rom.bin + osimg_small.bin %ROMName%.upd || exit /b
|
||||
copy /b hbios_rom.bin + osimg.bin + osimg1.bin + osimg2.bin + ..\RomDsk\ram%ROMSize%_wbw.dat %ROMName%.rom || exit /b
|
||||
copy /b hbios_rom.bin + osimg.bin + osimg1.bin + osimg2.bin %ROMName%.upd || exit /b
|
||||
copy /b hbios_app.bin + osimg_small.bin %ROMName%.com || exit /b
|
||||
)
|
||||
|
||||
@@ -215,14 +220,19 @@ call Build RCZ280 ext || exit /b
|
||||
call Build RCZ280 nat || exit /b
|
||||
call Build RCZ280 zz80mb || exit /b
|
||||
call Build RCZ280 zzrc || exit /b
|
||||
call Build RCZ280 zzrc_ram || exit /b
|
||||
call Build SCZ180 sc126 || exit /b
|
||||
call Build SCZ180 sc130 || exit /b
|
||||
call Build SCZ180 sc131 || exit /b
|
||||
call Build SCZ180 sc140 || exit /b
|
||||
call Build SCZ180 sc503 || exit /b
|
||||
call Build SCZ180 sc700 || exit /b
|
||||
call Build DYNO std || exit /b
|
||||
call Build UNA std || exit /b
|
||||
call Build RPH std || exit /b
|
||||
call Build Z80RETRO std || exit /b
|
||||
call Build S100 std || exit /b
|
||||
call Build DUO std || exit /b
|
||||
call Build HEATH std || exit /b
|
||||
|
||||
goto :eof
|
||||
|
||||
@@ -27,8 +27,8 @@ $ErrorAction = 'Stop'
|
||||
# UNA BIOS is simply imbedded, it is not built here.
|
||||
#
|
||||
|
||||
$PlatformListZ80 = "SBC", "MBC", "ZETA", "ZETA2", "RCZ80", "Z80RETRO", "UNA"
|
||||
$PlatformListZ180 = "N8", "MK4", "RCZ180", "SCZ180", "DYNO", "RPH"
|
||||
$PlatformListZ80 = "SBC", "MBC", "ZETA", "ZETA2", "RCZ80", "Z80RETRO", "DUO", "UNA", "HEATH"
|
||||
$PlatformListZ180 = "N8", "MK4", "RCZ180", "SCZ180", "DYNO", "RPH", "S100"
|
||||
$PlatformListZ280 = "RCZ280"
|
||||
|
||||
#
|
||||
|
||||
@@ -19,6 +19,7 @@ if [ "${ROM_PLATFORM}" == "dist" ] ; then
|
||||
ROM_PLATFORM="RCZ280"; ROM_CONFIG="nat"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ280"; ROM_CONFIG="zz80mb"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ280"; ROM_CONFIG="zzrc"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ280"; ROM_CONFIG="zzrc_ram"; bash Build.sh
|
||||
# ROM_PLATFORM="RCZ80"; ROM_CONFIG="mt"; bash Build.sh
|
||||
# ROM_PLATFORM="RCZ80"; ROM_CONFIG="duart"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="std"; bash Build.sh
|
||||
@@ -32,15 +33,19 @@ if [ "${ROM_PLATFORM}" == "dist" ] ; then
|
||||
ROM_PLATFORM="SBC"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="SBC"; ROM_CONFIG="simh"; bash Build.sh
|
||||
ROM_PLATFORM="MBC"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="DUO"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="SCZ180"; ROM_CONFIG="sc126"; bash Build.sh
|
||||
ROM_PLATFORM="SCZ180"; ROM_CONFIG="sc130"; bash Build.sh
|
||||
ROM_PLATFORM="SCZ180"; ROM_CONFIG="sc131"; bash Build.sh
|
||||
ROM_PLATFORM="SCZ180"; ROM_CONFIG="sc140"; bash Build.sh
|
||||
ROM_PLATFORM="SCZ180"; ROM_CONFIG="sc503"; bash Build.sh
|
||||
ROM_PLATFORM="SCZ180"; ROM_CONFIG="sc700"; bash Build.sh
|
||||
ROM_PLATFORM="S100"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="UNA"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="Z80RETRO"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="ZETA"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="ZETA2"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="HEATH"; ROM_CONFIG="std"; bash Build.sh
|
||||
exit
|
||||
fi
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ if exist *.exp del *.exp
|
||||
if exist *.tmp del *.tmp
|
||||
if exist *.mrk del *.mrk
|
||||
if exist *.sys del *.sys
|
||||
if exist *.hex del *.hex
|
||||
if exist build.inc del build.inc
|
||||
if exist font*.asm del font*.asm
|
||||
if exist build_env.cmd del build_env.cmd
|
||||
|
||||
48
Source/HBIOS/Config/DUO_std.asm
Normal file
48
Source/HBIOS/Config/DUO_std.asm
Normal file
@@ -0,0 +1,48 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; DUODYNE STANDARD CONFIGURATION
|
||||
;==================================================================================================
|
||||
;
|
||||
; THE COMPLETE SET OF DEFAULT CONFIGURATION SETTINGS FOR THIS PLATFORM ARE FOUND IN THE
|
||||
; CFG_<PLT>.ASM INCLUDED FILE WHICH IS FOUND IN THE PARENT DIRECTORY. THIS FILE CONTAINS
|
||||
; COMMON CONFIGURATION SETTINGS THAT OVERRIDE THE DEFAULTS. IT IS INTENDED THAT YOU MAKE
|
||||
; YOUR CUSTOMIZATIONS IN THIS FILE AND JUST INHERIT ALL OTHER SETTINGS FROM THE DEFAULTS.
|
||||
; EVEN BETTER, YOU CAN MAKE A COPY OF THIS FILE WITH A NAME LIKE <PLT>_XXX.ASM AND SPECIFY
|
||||
; YOUR FILE IN THE BUILD PROCESS.
|
||||
;
|
||||
; THE SETTINGS BELOW ARE THE SETTINGS THAT ARE MOST COMMONLY MODIFIED FOR THIS PLATFORM.
|
||||
; MANY OF THEM ARE EQUAL TO THE SETTINGS IN THE INCLUDED FILE, SO THEY DON'T REALLY DO
|
||||
; ANYTHING AS IS. THEY ARE LISTED HERE TO MAKE IT EASY FOR YOU TO ADJUST THE MOST COMMON
|
||||
; SETTINGS.
|
||||
;
|
||||
; N.B., SINCE THE SETTINGS BELOW ARE REDEFINING VALUES ALREADY SET IN THE INCLUDED FILE,
|
||||
; TASM INSISTS THAT YOU USE THE .SET OPERATOR AND NOT THE .EQU OPERATOR BELOW. ATTEMPTING
|
||||
; TO REDEFINE A VALUE WITH .EQU BELOW WILL CAUSE TASM ERRORS!
|
||||
;
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO
|
||||
; DIRECTORIES ABOVE THIS ONE).
|
||||
;
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
|
||||
;
|
||||
#include "cfg_duo.asm"
|
||||
;
|
||||
CPUOSC .SET 8000000 ; 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)
|
||||
;
|
||||
;;;DMAENABLE .SET TRUE ; DMA: ENABLE DMA DRIVER (DMA.ASM)
|
||||
;
|
||||
BATCOND .SET TRUE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
;
|
||||
ROMSIZE .SET 512 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
RAMSIZE .SET 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
;
|
||||
PCFENABLE .SET TRUE ; ENABLE PCF8584 I2C CONTROLLER
|
||||
;
|
||||
MDFFENABLE .SET FALSE ; MD: ENABLE FLASH FILE SYSTEM
|
||||
;
|
||||
UARTINTS .SET FALSE ; UART: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
;UARTCFG .SET UARTCFG | SER_RTS
|
||||
;
|
||||
ESPENABLE .SET TRUE ; ESP: ENABLE ESP32 IO BOARD DRIVER (ESP.ASM)
|
||||
69
Source/HBIOS/Config/HEATH_std.asm
Normal file
69
Source/HBIOS/Config/HEATH_std.asm
Normal file
@@ -0,0 +1,69 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; HEATH H8 Z80 STANDARD CONFIGURATION
|
||||
;==================================================================================================
|
||||
;
|
||||
; THE COMPLETE SET OF DEFAULT CONFIGURATION SETTINGS FOR THIS PLATFORM ARE FOUND IN THE
|
||||
; CFG_<PLT>.ASM INCLUDED FILE WHICH IS FOUND IN THE PARENT DIRECTORY. THIS FILE CONTAINS
|
||||
; COMMON CONFIGURATION SETTINGS THAT OVERRIDE THE DEFAULTS. IT IS INTENDED THAT YOU MAKE
|
||||
; YOUR CUSTOMIZATIONS IN THIS FILE AND JUST INHERIT ALL OTHER SETTINGS FROM THE DEFAULTS.
|
||||
; EVEN BETTER, YOU CAN MAKE A COPY OF THIS FILE WITH A NAME LIKE <PLT>_XXX.ASM AND SPECIFY
|
||||
; YOUR FILE IN THE BUILD PROCESS.
|
||||
;
|
||||
; THE SETTINGS BELOW ARE THE SETTINGS THAT ARE MOST COMMONLY MODIFIED FOR THIS PLATFORM.
|
||||
; MANY OF THEM ARE EQUAL TO THE SETTINGS IN THE INCLUDED FILE, SO THEY DON'T REALLY DO
|
||||
; ANYTHING AS IS. THEY ARE LISTED HERE TO MAKE IT EASY FOR YOU TO ADJUST THE MOST COMMON
|
||||
; SETTINGS.
|
||||
;
|
||||
; N.B., SINCE THE SETTINGS BELOW ARE REDEFINING VALUES ALREADY SET IN THE INCLUDED FILE,
|
||||
; TASM INSISTS THAT YOU USE THE .SET OPERATOR AND NOT THE .EQU OPERATOR BELOW. ATTEMPTING
|
||||
; TO REDEFINE A VALUE WITH .EQU BELOW WILL CAUSE TASM ERRORS!
|
||||
;
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO
|
||||
; DIRECTORIES ABOVE THIS ONE).
|
||||
;
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
|
||||
;
|
||||
#include "cfg_rcz80.asm"
|
||||
;
|
||||
CPUOSC .SET 7372800 ; CPU OSC FREQ IN MHZ
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
;
|
||||
DSKYENABLE .SET TRUE ; ENABLES DSKY FUNCTIONALITY
|
||||
H8PENABLE .SET TRUE ; ENABLES HEATH H8 FRONT PANEL
|
||||
;
|
||||
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)
|
||||
;
|
||||
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
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]
|
||||
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
|
||||
;
|
||||
AY38910ENABLE .SET FALSE ; AY: AY-3-8910 / YM2149 SOUND DRIVER
|
||||
AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC]
|
||||
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC]
|
||||
;
|
||||
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
|
||||
SDMODE .SET SDMODE_PIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|PIO|USR]
|
||||
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT SC ONLY
|
||||
IMMENABLE .SET FALSE ; IMM: ENABLE IMM DISK DRIVER (IMM.ASM)
|
||||
;
|
||||
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
|
||||
@@ -49,6 +49,8 @@ PKDENABLE .SET TRUE ; ENABLES DSKY NG PKD DRIVER (8259)
|
||||
UARTINTS .SET FALSE ; UART: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
;UARTCFG .SET UARTCFG | SER_RTS
|
||||
;
|
||||
ESPENABLE .SET TRUE ; ESP: ENABLE ESP32 IO BOARD DRIVER (ESP.ASM)
|
||||
;
|
||||
LPTENABLE .SET TRUE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
;
|
||||
CVDUMON .SET CVDUMON_CGA ; CVDU: CVDU MONITOR SETUP: CVDUMON_[NONE|CGA|EGA]
|
||||
|
||||
@@ -47,7 +47,7 @@ VGAENABLE .SET TRUE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_DIDE ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC]
|
||||
FDMODE .SET FDMODE_DIDE ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC]
|
||||
;
|
||||
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
|
||||
@@ -58,7 +58,7 @@ AYMODE .SET AYMODE_RCZ180 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LI
|
||||
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC]
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC]
|
||||
;
|
||||
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
|
||||
@@ -57,7 +57,7 @@ AYMODE .SET AYMODE_RCZ180 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LI
|
||||
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC]
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC]
|
||||
;
|
||||
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
|
||||
@@ -56,7 +56,7 @@ AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LIN
|
||||
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC]
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC]
|
||||
;
|
||||
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
|
||||
@@ -56,7 +56,7 @@ AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LIN
|
||||
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC]
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC]
|
||||
;
|
||||
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
;
|
||||
#include "cfg_rcz280.asm"
|
||||
;
|
||||
CPUOSC .SET 12000000 ; CPU OSC FREQ IN MHZ
|
||||
CPUOSC .SET 24000000 ; 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
|
||||
;
|
||||
@@ -37,8 +37,7 @@ FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
;
|
||||
MEMMGR .SET MM_Z280 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280]
|
||||
;
|
||||
RAMLOC .SET 23 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
RAMBIAS .SET (1 << (RAMLOC - 10)) ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
RAMBIAS .SET 8192 ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
;
|
||||
Z280_MEMLOWAIT .SET 0 ; Z280: LOW 8MB MEMORY WAIT STATES (0-3)
|
||||
Z280_MEMHIWAIT .SET 0 ; Z280: HIGH 8MB MEMORY WAIT STATES (0-3)
|
||||
@@ -62,7 +61,7 @@ AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LIN
|
||||
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC]
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC]
|
||||
;
|
||||
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
|
||||
@@ -39,10 +39,7 @@ MEMMGR .SET MM_Z280 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280]
|
||||
;
|
||||
RAMSIZE .SET 256 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE .SET 256 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .SET 256 ; ROMSIZE VALUE VERIFICATION (0=DISABLED)
|
||||
;
|
||||
RAMLOC .SET 18 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
RAMBIAS .SET (1 << (RAMLOC - 10)) ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
RAMBIAS .SET ROMSIZE ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
;
|
||||
Z280_MEMLOWAIT .SET 0 ; Z280: LOW 8MB MEMORY WAIT STATES (0-3)
|
||||
Z280_MEMHIWAIT .SET 0 ; Z280: HIGH 8MB MEMORY WAIT STATES (0-3)
|
||||
@@ -70,7 +67,7 @@ AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LIN
|
||||
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC]
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC]
|
||||
;
|
||||
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
|
||||
77
Source/HBIOS/Config/RCZ280_zzrc_ram.asm
Normal file
77
Source/HBIOS/Config/RCZ280_zzrc_ram.asm
Normal file
@@ -0,0 +1,77 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; RCBUS Z280 STANDARD CONFIGURATION (NATIVE Z280 MMU W/ LINEAR MEMORY ON ZZRC)
|
||||
;==================================================================================================
|
||||
;
|
||||
; THE COMPLETE SET OF DEFAULT CONFIGURATION SETTINGS FOR THIS PLATFORM ARE FOUND IN THE
|
||||
; CFG_<PLT>.ASM INCLUDED FILE WHICH IS FOUND IN THE PARENT DIRECTORY. THIS FILE CONTAINS
|
||||
; COMMON CONFIGURATION SETTINGS THAT OVERRIDE THE DEFAULTS. IT IS INTENDED THAT YOU MAKE
|
||||
; YOUR CUSTOMIZATIONS IN THIS FILE AND JUST INHERIT ALL OTHER SETTINGS FROM THE DEFAULTS.
|
||||
; EVEN BETTER, YOU CAN MAKE A COPY OF THIS FILE WITH A NAME LIKE <PLT>_XXX.ASM AND SPECIFY
|
||||
; YOUR FILE IN THE BUILD PROCESS.
|
||||
;
|
||||
; THE SETTINGS BELOW ARE THE SETTINGS THAT ARE MOST COMMONLY MODIFIED FOR THIS PLATFORM.
|
||||
; MANY OF THEM ARE EQUAL TO THE SETTINGS IN THE INCLUDED FILE, SO THEY DON'T REALLY DO
|
||||
; ANYTHING AS IS. THEY ARE LISTED HERE TO MAKE IT EASY FOR YOU TO ADJUST THE MOST COMMON
|
||||
; SETTINGS.
|
||||
;
|
||||
; N.B., SINCE THE SETTINGS BELOW ARE REDEFINING VALUES ALREADY SET IN THE INCLUDED FILE,
|
||||
; TASM INSISTS THAT YOU USE THE .SET OPERATOR AND NOT THE .EQU OPERATOR BELOW. ATTEMPTING
|
||||
; TO REDEFINE A VALUE WITH .EQU BELOW WILL CAUSE TASM ERRORS!
|
||||
;
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO
|
||||
; DIRECTORIES ABOVE THIS ONE).
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "ZZRC", " [", CONFIG, "]"
|
||||
;
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
|
||||
;
|
||||
#include "cfg_rcz280.asm"
|
||||
;
|
||||
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
|
||||
;
|
||||
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]
|
||||
;
|
||||
RAMSIZE .SET 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE .SET 0 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
RAMBIAS .SET ROMSIZE ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
;
|
||||
Z280_MEMLOWAIT .SET 0 ; Z280: LOW 8MB MEMORY WAIT STATES (0-3)
|
||||
Z280_MEMHIWAIT .SET 0 ; Z280: HIGH 8MB MEMORY WAIT STATES (0-3)
|
||||
Z280_IOWAIT .SET 1 ; Z280: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3)
|
||||
Z280_INTWAIT .SET 0 ; Z280: INT ACK WAIT STATUS (0-3)
|
||||
;
|
||||
MDROM .SET FALSE ; MD: ENABLE ROM DISK
|
||||
MDRAM .SET TRUE ; MD: ENABLE RAM DISK
|
||||
;
|
||||
Z2UENABLE .SET TRUE ; Z2U: ENABLE Z280 UART SERIAL DRIVER (Z2U.ASM)
|
||||
Z2UOSC .SET (CPUOSC / 8) ; Z2U: OSC FREQUENCY IN MHZ
|
||||
Z2U0HFC .SET TRUE ; Z2U0: ENABLE HARDWARE FLOW CONTROL
|
||||
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
ACIAENABLE .SET FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
|
||||
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 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]
|
||||
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC]
|
||||
;
|
||||
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
|
||||
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT SC ONLY
|
||||
;
|
||||
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
|
||||
@@ -41,6 +41,7 @@ WDOGIO .SET $6F ; WATCHDOG REGISTER ADR
|
||||
;
|
||||
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
|
||||
RP5RTCENABLE .SET FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
|
||||
INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
|
||||
;
|
||||
CTCENABLE .SET TRUE ; ENABLE ZILOG CTC SUPPORT
|
||||
CTCTIMER .SET TRUE ; ENABLE CTC PERIODIC TIMER
|
||||
@@ -69,7 +70,7 @@ AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LIN
|
||||
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC]
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC]
|
||||
;
|
||||
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
|
||||
79
Source/HBIOS/Config/RCZ80_jbl.asm
Normal file
79
Source/HBIOS/Config/RCZ80_jbl.asm
Normal file
@@ -0,0 +1,79 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; RCBUS Z80 COLECOVISION-COMPATIBLE CONFIGURATION FOR J.B. LANGSTON'S GAME BOARDS
|
||||
;==================================================================================================
|
||||
;
|
||||
; THIS CONFIGURATION ENABLES DRIVERS FOR THE TMS9918 AND SN76489 BOARDS BY J.B. LANGSTON
|
||||
; AND THE YM2149 BOARD BY ED BRINDLEY. THE TMS9918 IS CONFIGURED TO USE THE COLECOVISION
|
||||
; PORTS AND HAS INTERRUPTS DISABLED BECAUSE COLECOVISION USES NMI, WHICH WOULD BREAK CP/M
|
||||
; WHEN ENABLED. IT IS CONFIGURED FOR A 3.686MHZ CPU CLOCK IN ORDER TO BE COMPATIBLE WITH
|
||||
; COLECOVISION GAMES. THE FIRST SIO PORT IS CONFIGURED TO RUN AT 115200 BPS WITH THE CPU
|
||||
; RUNNING AT THIS SPEED. THE SECOND SIO PORT IS CONFIGURED TO RUN AT 115200 BPS WITH THE
|
||||
; SECOND CLOCK SET TO 7.373MHZ. LOWER BAUD RATES CAN BE ACHIEVED ON THE SECOND PORT BY
|
||||
; MOVING THE SECONDARY CLOCK DIVIDER JUMPER (E.G., 38400 @ 2.458MHZ). THE BAUD RATE DOES
|
||||
; NOT NEED TO BE CHANGED IN THIS CONFIGURATION FILE IN ORDER TO DO THIS, BUT THE DEVICE
|
||||
; LIST WILL INCORRECTLY SHOW THE PORT RUNNING AT 115200 REGARDLESS OF THE CLOCK DIVIDER.
|
||||
; UNCOMMENT THE LINE THAT SETS BOOTCON TO 1 TO BOOT ON THE SECOND SIO PORT BY DEFAULT.
|
||||
;
|
||||
; THE COMPLETE SET OF DEFAULT CONFIGURATION SETTINGS FOR THIS PLATFORM ARE FOUND IN THE
|
||||
; CFG_<PLT>.ASM INCLUDED FILE WHICH IS FOUND IN THE PARENT DIRECTORY. THIS FILE CONTAINS
|
||||
; COMMON CONFIGURATION SETTINGS THAT OVERRIDE THE DEFAULTS. IT IS INTENDED THAT YOU MAKE
|
||||
; YOUR CUSTOMIZATIONS IN THIS FILE AND JUST INHERIT ALL OTHER SETTINGS FROM THE DEFAULTS.
|
||||
; EVEN BETTER, YOU CAN MAKE A COPY OF THIS FILE WITH A NAME LIKE <PLT>_XXX.ASM AND SPECIFY
|
||||
; YOUR FILE IN THE BUILD PROCESS.
|
||||
;
|
||||
; N.B., SINCE THE SETTINGS BELOW ARE REDEFINING VALUES ALREADY SET IN THE INCLUDED FILE,
|
||||
; TASM INSISTS THAT YOU USE THE .SET OPERATOR AND NOT THE .EQU OPERATOR BELOW. ATTEMPTING
|
||||
; TO REDEFINE A VALUE WITH .EQU BELOW WILL CAUSE TASM ERRORS!
|
||||
;
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO
|
||||
; DIRECTORIES ABOVE THIS ONE).
|
||||
;
|
||||
#DEFINE BOOT_DEFAULT "Z" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
|
||||
;
|
||||
#include "cfg_rcz80.asm"
|
||||
;
|
||||
CPUOSC .SET 3686400 ; CPU OSC FREQ IN MHZ
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
;BOOTCON .SET 1 ; BOOT CONSOLE DEVICE
|
||||
;
|
||||
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
|
||||
RP5RTCENABLE .SET FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
|
||||
;
|
||||
UARTENABLE .SET FALSE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
ACIAENABLE .SET FALSE ; 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)
|
||||
;
|
||||
SIOENABLE .SET TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
|
||||
SIODEBUG .SET FALSE ; SIO: ENABLE DEBUG OUTPUT
|
||||
SIOBOOT .SET 0 ; SIO: REBOOT ON RCV CHAR (0=DISABLED)
|
||||
SIOCNT .SET 1 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
|
||||
SIO0MODE .SET SIOMODE_RC ; SIO 0: CHIP TYPE: SIOMODE_[STD|RC|SMB|ZP]
|
||||
SIO0BASE .SET $80 ; SIO 0: REGISTERS BASE ADR
|
||||
SIO0ACLK .SET CPUOSC ; SIO 0A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
|
||||
SIO0ACFG .SET SER_115200_8N1 ; SIO 0A: SERIAL LINE CONFIG
|
||||
SIO0ACTCC .SET -1 ; SIO 0A: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
SIO0BCLK .SET 7372800 ; SIO 0B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
|
||||
SIO0BCFG .SET SER_115200_8N1 ; SIO 0B: SERIAL LINE CONFIG
|
||||
SIO0BCTCC .SET -1 ; SIO 0B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
;
|
||||
TMSENABLE .SET TRUE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
TMSMODE .SET TMSMODE_COLECO ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|MSX|MSX9958|MSXKBD|COLECO]
|
||||
MKYENABLE .SET FALSE ; MSX 5255 PPI KEYBOARD COMPATIBLE DRIVER (REQUIRES TMS VDA DRIVER)
|
||||
VDAEMU_SERKBD .SET 1 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
|
||||
;
|
||||
AY38910ENABLE .SET TRUE ; AY: AY-3-8910 / YM2149 SOUND DRIVER
|
||||
AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC]
|
||||
SN76489ENABLE .SET TRUE ; SN: ENABLE SN76489 SOUND DRIVER
|
||||
;
|
||||
FDENABLE .SET FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC]
|
||||
;
|
||||
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
|
||||
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT SC ONLY
|
||||
;
|
||||
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
|
||||
@@ -66,7 +66,7 @@ AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LIN
|
||||
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC]
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC]
|
||||
;
|
||||
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
|
||||
@@ -61,7 +61,7 @@ AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LIN
|
||||
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC]
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC]
|
||||
;
|
||||
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
|
||||
@@ -54,7 +54,7 @@ AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LIN
|
||||
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC]
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC]
|
||||
;
|
||||
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
|
||||
@@ -75,7 +75,7 @@ AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LIN
|
||||
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC]
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC]
|
||||
;
|
||||
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
IDE0BASE .SET $90 ; IDE 0: IO BASE ADDRESS
|
||||
|
||||
@@ -53,7 +53,7 @@ AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LIN
|
||||
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC]
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC]
|
||||
;
|
||||
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
|
||||
@@ -34,7 +34,7 @@ CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
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!!!)
|
||||
RAMSIZE .SET 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE .SET 0 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
MEMMGR .SET MM_ZRC ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180]
|
||||
;
|
||||
@@ -57,7 +57,7 @@ AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LIN
|
||||
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC]
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC]
|
||||
;
|
||||
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
|
||||
46
Source/HBIOS/Config/S100_std.asm
Normal file
46
Source/HBIOS/Config/S100_std.asm
Normal file
@@ -0,0 +1,46 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; S100 STANDARD CONFIGURATION
|
||||
;==================================================================================================
|
||||
;
|
||||
; THE COMPLETE SET OF DEFAULT CONFIGURATION SETTINGS FOR THIS PLATFORM ARE FOUND IN THE
|
||||
; CFG_<PLT>.ASM INCLUDED FILE WHICH IS FOUND IN THE PARENT DIRECTORY. THIS FILE CONTAINS
|
||||
; COMMON CONFIGURATION SETTINGS THAT OVERRIDE THE DEFAULTS. IT IS INTENDED THAT YOU MAKE
|
||||
; YOUR CUSTOMIZATIONS IN THIS FILE AND JUST INHERIT ALL OTHER SETTINGS FROM THE DEFAULTS.
|
||||
; EVEN BETTER, YOU CAN MAKE A COPY OF THIS FILE WITH A NAME LIKE <PLT>_XXX.ASM AND SPECIFY
|
||||
; YOUR FILE IN THE BUILD PROCESS.
|
||||
;
|
||||
; THE SETTINGS BELOW ARE THE SETTINGS THAT ARE MOST COMMONLY MODIFIED FOR THIS PLATFORM.
|
||||
; MANY OF THEM ARE EQUAL TO THE SETTINGS IN THE INCLUDED FILE, SO THEY DON'T REALLY DO
|
||||
; ANYTHING AS IS. THEY ARE LISTED HERE TO MAKE IT EASY FOR YOU TO ADJUST THE MOST COMMON
|
||||
; SETTINGS.
|
||||
;
|
||||
; N.B., SINCE THE SETTINGS BELOW ARE REDEFINING VALUES ALREADY SET IN THE INCLUDED FILE,
|
||||
; TASM INSISTS THAT YOU USE THE .SET OPERATOR AND NOT THE .EQU OPERATOR BELOW. ATTEMPTING
|
||||
; TO REDEFINE A VALUE WITH .EQU BELOW WILL CAUSE TASM ERRORS!
|
||||
;
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO
|
||||
; DIRECTORIES ABOVE THIS ONE).
|
||||
;
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
|
||||
;
|
||||
#include "cfg_s100.asm"
|
||||
;
|
||||
CPUOSC .SET 18432000 ; CPU OSC FREQ IN MHZ
|
||||
CRTACT .SET TRUE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
;
|
||||
Z180_CLKDIV .SET 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2
|
||||
Z180_MEMWAIT .SET 1 ; Z180: MEMORY WAIT STATES (0-3)
|
||||
Z180_IOWAIT .SET 2 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3)
|
||||
;
|
||||
DSRTCENABLE .SET FALSE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
|
||||
INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
|
||||
;
|
||||
ASCIENABLE .SET TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
|
||||
SCONENABLE .SET TRUE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
;
|
||||
IDEENABLE .SET FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
|
||||
SDMODE .SET SDMODE_SC ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR]
|
||||
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD & SC ONLY
|
||||
@@ -45,7 +45,7 @@ VGAENABLE .SET TRUE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_DIO3 ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC]
|
||||
FDMODE .SET FDMODE_DIO3 ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC]
|
||||
;
|
||||
IDEENABLE .SET FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
|
||||
@@ -59,7 +59,7 @@ AYMODE .SET AYMODE_RCZ180 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LI
|
||||
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC]
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC]
|
||||
;
|
||||
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
|
||||
@@ -60,7 +60,7 @@ AYMODE .SET AYMODE_RCZ180 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LI
|
||||
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC]
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC]
|
||||
;
|
||||
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
|
||||
@@ -54,7 +54,7 @@ AYMODE .SET AYMODE_LINC ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC
|
||||
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC]
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC]
|
||||
;
|
||||
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
|
||||
@@ -54,7 +54,7 @@ AYMODE .SET AYMODE_LINC ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC
|
||||
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC]
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC]
|
||||
;
|
||||
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
|
||||
71
Source/HBIOS/Config/SCZ180_sc700.asm
Normal file
71
Source/HBIOS/Config/SCZ180_sc700.asm
Normal file
@@ -0,0 +1,71 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; SC700 STANDARD CONFIGURATION
|
||||
;==================================================================================================
|
||||
;
|
||||
; THE COMPLETE SET OF DEFAULT CONFIGURATION SETTINGS FOR THIS PLATFORM ARE FOUND IN THE
|
||||
; CFG_<PLT>.ASM INCLUDED FILE WHICH IS FOUND IN THE PARENT DIRECTORY. THIS FILE CONTAINS
|
||||
; COMMON CONFIGURATION SETTINGS THAT OVERRIDE THE DEFAULTS. IT IS INTENDED THAT YOU MAKE
|
||||
; YOUR CUSTOMIZATIONS IN THIS FILE AND JUST INHERIT ALL OTHER SETTINGS FROM THE DEFAULTS.
|
||||
; EVEN BETTER, YOU CAN MAKE A COPY OF THIS FILE WITH A NAME LIKE <PLT>_XXX.ASM AND SPECIFY
|
||||
; YOUR FILE IN THE BUILD PROCESS.
|
||||
;
|
||||
; THE SETTINGS BELOW ARE THE SETTINGS THAT ARE MOST COMMONLY MODIFIED FOR THIS PLATFORM.
|
||||
; MANY OF THEM ARE EQUAL TO THE SETTINGS IN THE INCLUDED FILE, SO THEY DON'T REALLY DO
|
||||
; ANYTHING AS IS. THEY ARE LISTED HERE TO MAKE IT EASY FOR YOU TO ADJUST THE MOST COMMON
|
||||
; SETTINGS.
|
||||
;
|
||||
; N.B., SINCE THE SETTINGS BELOW ARE REDEFINING VALUES ALREADY SET IN THE INCLUDED FILE,
|
||||
; TASM INSISTS THAT YOU USE THE .SET OPERATOR AND NOT THE .EQU OPERATOR BELOW. ATTEMPTING
|
||||
; TO REDEFINE A VALUE WITH .EQU BELOW WILL CAUSE TASM ERRORS!
|
||||
;
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO
|
||||
; DIRECTORIES ABOVE THIS ONE).
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "Small Computer SC700", " [", CONFIG, "]"
|
||||
;
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
|
||||
;
|
||||
#include "cfg_scz180.asm"
|
||||
;
|
||||
CPUOSC .SET 18432000 ; CPU OSC FREQ IN MHZ
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
;
|
||||
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)
|
||||
;
|
||||
LEDENABLE .SET TRUE ; ENABLE STATUS LED (SINGLE LED)
|
||||
LEDPORT .SET $0E ; STATUS LED PORT ADDRESS
|
||||
;
|
||||
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPLED_IO .SET $00 ; 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)
|
||||
;
|
||||
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
ASCIENABLE .SET TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
|
||||
ACIAENABLE .SET FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
|
||||
SIOENABLE .SET TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.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]
|
||||
MKYENABLE .SET FALSE ; MSX 5255 PPI KEYBOARD COMPATIBLE DRIVER (REQUIRES TMS VDA DRIVER)
|
||||
VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
|
||||
;
|
||||
AY38910ENABLE .SET TRUE ; AY: AY-3-8910 / YM2149 SOUND DRIVER
|
||||
AYMODE .SET AYMODE_RCZ180 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC]
|
||||
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC]
|
||||
;
|
||||
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
|
||||
SDMODE .SET SDMODE_SC ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR]
|
||||
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD & SC ONLY
|
||||
;
|
||||
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
|
||||
@@ -35,7 +35,7 @@ UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
UARTSBC .SET TRUE ; UART: AUTO-DETECT SBC/ZETA ONBOARD UART
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_ZETA2 ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC]
|
||||
FDMODE .SET FDMODE_ZETA2 ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC]
|
||||
;
|
||||
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
|
||||
|
||||
@@ -35,7 +35,7 @@ UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
UARTSBC .SET TRUE ; UART: AUTO-DETECT SBC/ZETA ONBOARD UART
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_ZETA ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC]
|
||||
FDMODE .SET FDMODE_ZETA ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC]
|
||||
;
|
||||
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
|
||||
|
||||
@@ -6,7 +6,7 @@ MOREDIFF = game.bin hbios_rom.bin nascom.bin usrrom.bin \
|
||||
SUBDIRS =
|
||||
DEST = ../../Binary
|
||||
TOOLS =../../Tools
|
||||
OTHERS = *.img *.rom *.com *.upd *.bin *.z80 cpm.sys zsys.sys Build.inc font*.asm *.dat hbios_env.sh
|
||||
OTHERS = *.img *.rom *.com *.upd *.bin *.hex cpm.sys zsys.sys Build.inc font*.asm *.dat hbios_env.sh
|
||||
|
||||
# DIFFMAKE = 1
|
||||
|
||||
@@ -43,6 +43,10 @@ else
|
||||
BIOS=wbw
|
||||
endif
|
||||
|
||||
ifeq ($(ROM_PLATFORM),S100)
|
||||
ROMDEPS += s100mon.bin
|
||||
endif
|
||||
|
||||
ROMNAME=${ROM_PLATFORM}_${ROM_CONFIG}
|
||||
|
||||
# $(info DEPS=$(DEPS))
|
||||
@@ -58,12 +62,14 @@ $(OBJECTS) : $(ROMDEPS)
|
||||
cat romldr.bin dbgmon.bin ../ZSDOS/zsys_$(BIOS).bin >osimg_small.bin
|
||||
if [ $(ROM_PLATFORM) != UNA ] ; then \
|
||||
cat camel80.bin nascom.bin tastybasic.bin game.bin eastaegg.bin netboot.mod updater.bin usrrom.bin >osimg1.bin ; \
|
||||
cat imgpad2.bin >osimg2.bin ; \
|
||||
if [ $(ROMSIZE) -gt 0 ] ; then \
|
||||
for f in hbios_rom.bin osimg.bin osimg1.bin osimg2.bin ; do \
|
||||
srec_cat $$f -Binary -Crop 0 0x7FFF -Checksum_Negative_Big_Endian 0x7FFF 1 1 -o $$f -Binary ; \
|
||||
done \
|
||||
fi \
|
||||
if [ $(ROM_PLATFORM) = S100 ] ; then \
|
||||
cat s100mon.bin >osimg2.bin ; \
|
||||
else \
|
||||
cat imgpad2.bin >osimg2.bin ; \
|
||||
fi ; \
|
||||
for f in hbios_rom.bin osimg.bin osimg1.bin osimg2.bin ; do \
|
||||
srec_cat $$f -Binary -Crop 0 0x7FFF -Checksum_Negative_Big_Endian 0x7FFF 1 1 -o $$f -Binary ; \
|
||||
done \
|
||||
fi
|
||||
if [ $(ROM_PLATFORM) = UNA ] ; then \
|
||||
cp osimg.bin $(DEST)/UNA_WBW_SYS.bin ; \
|
||||
@@ -75,8 +81,8 @@ $(OBJECTS) : $(ROMDEPS)
|
||||
cat hbios_rom.bin osimg.bin osimg1.bin osimg2.bin >$(ROMNAME).upd ; \
|
||||
cat hbios_app.bin osimg_small.bin > $(ROMNAME).com ; \
|
||||
else \
|
||||
cat hbios_rom.bin osimg_small.bin > $(ROMNAME).rom ; \
|
||||
cat hbios_rom.bin osimg_small.bin > $(ROMNAME).upd ; \
|
||||
cat hbios_rom.bin osimg.bin osimg1.bin osimg2.bin >$(ROMNAME).rom ; \
|
||||
cat hbios_rom.bin osimg.bin osimg1.bin osimg2.bin >$(ROMNAME).upd ; \
|
||||
cat hbios_app.bin osimg_small.bin > $(ROMNAME).com ; \
|
||||
fi \
|
||||
fi
|
||||
@@ -89,6 +95,10 @@ font%.asm:
|
||||
camel80.bin:
|
||||
cp ../Forth/$@ .
|
||||
|
||||
s100mon.bin:
|
||||
$(ZXCC) $(CPM)/SLR180 -s100mon/FH
|
||||
$(ZXCC) $(CPM)/MLOAD25 -s100mon.bin=s100mon
|
||||
|
||||
tastybasic.bin:
|
||||
cp ../TastyBasic/src/$@ .
|
||||
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
RomWBW ROM Layout Notes
|
||||
|
||||
Bank Module Start Size
|
||||
------ ------ ------ ------
|
||||
0 hbios 0x0000 0x8000
|
||||
<end> 0x8000
|
||||
|
||||
1 loader 0x0000 0x1000
|
||||
dbgmon 0x1000 0x2000
|
||||
cpm22 0x2000 0x3000
|
||||
zsys 0x5000 0x3000
|
||||
<end> 0x8000
|
||||
|
||||
2 forth 0x0000 0x1700
|
||||
basic 0x1700 0x2000
|
||||
tbasic 0x3700 0x0900
|
||||
game 0x4000 0x0900
|
||||
egg 0x4900 0x0200
|
||||
netboot 0x4B00 0x1000
|
||||
updater 0x5B00 0x0D00
|
||||
usrrom 0x6800 0x1800
|
||||
<end> 0x8000
|
||||
|
||||
3 imgpad2 0x0000 0x8000
|
||||
<end> 0x8000
|
||||
|
||||
4-N ROM Disk Data
|
||||
@@ -81,7 +81,7 @@ ASCI_RTS .EQU %00010000 ; ~RTS BIT OF CNTLA REG
|
||||
;
|
||||
#IF (ASCIINTS)
|
||||
;
|
||||
#IF (INTMODE == 2)
|
||||
#IF (INTMODE > 0)
|
||||
;
|
||||
ASCI0_IVT .EQU IVT(INT_SER0)
|
||||
ASCI1_IVT .EQU IVT(INT_SER1)
|
||||
@@ -125,25 +125,19 @@ ASCI_PREINIT2:
|
||||
;
|
||||
#IF (ASCIINTS)
|
||||
;
|
||||
#IF (INTMODE >= 1)
|
||||
; Z180 ASCI INTERRUPTS OPERATE LIKE IM2 EVEN WHEN IM1 IS ACTIVE.
|
||||
;
|
||||
#IF (INTMODE > 0)
|
||||
; SETUP INT VECTORS AS APPROPRIATE
|
||||
LD A,(ASCI_DEV) ; GET DEVICE COUNT
|
||||
OR A ; SET FLAGS
|
||||
JR Z,ASCI_PREINIT3 ; IF ZERO, NO ASCI DEVICES, ABORT
|
||||
;
|
||||
#IF (INTMODE == 1)
|
||||
; ADD IM1 INT CALL LIST ENTRY
|
||||
LD HL,ASCI_INT ; GET INT VECTOR
|
||||
CALL HB_ADDIM1 ; ADD TO IM1 CALL LIST
|
||||
#ENDIF
|
||||
;
|
||||
#IF (INTMODE == 2)
|
||||
; SETUP IM2 VECTORS
|
||||
LD HL,ASCI_INT0
|
||||
LD (ASCI0_IVT),HL ; IVT INDEX
|
||||
LD HL,ASCI_INT1
|
||||
LD (ASCI1_IVT),HL ; IVT INDEX
|
||||
#ENDIF
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
@@ -204,24 +198,6 @@ ASCI_INIT1:
|
||||
;
|
||||
#IF (INTMODE > 0)
|
||||
;
|
||||
; IM1 ENTRY POINT
|
||||
;
|
||||
ASCI_INT:
|
||||
; CHECK/HANDLE FIRST PORT
|
||||
LD A,(ASCI0_CFG + 1) ; GET ASCI TYPE FOR FIRST ASCI
|
||||
OR A ; SET FLAGS
|
||||
CALL NZ,ASCI_INT0 ; CALL IF EXISTS
|
||||
RET NZ ; DONE IF INT HANDLED
|
||||
;
|
||||
; CHECK/HANDLE SECOND PORT
|
||||
LD A,(ASCI1_CFG + 1) ; GET ASCI TYPE FOR SECOND ASCI
|
||||
OR A ; SET FLAGS
|
||||
CALL NZ,ASCI_INT1 ; CALL IF EXISTS
|
||||
;
|
||||
RET ; DONE
|
||||
;
|
||||
; IM2 ENTRY POINTS
|
||||
;
|
||||
ASCI_INT0:
|
||||
; INTERRUPT HANDLER FOR FIRST ASCI (ASCI0)
|
||||
LD IY,ASCI0_CFG ; POINT TO ASCI0 CFG
|
||||
|
||||
316
Source/HBIOS/cfg_duo.asm
Normal file
316
Source/HBIOS/cfg_duo.asm
Normal file
@@ -0,0 +1,316 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ROMWBW 3.X CONFIGURATION DEFAULTS FOR DUODYNE
|
||||
;==================================================================================================
|
||||
;
|
||||
; THIS FILE CONTAINS THE FULL SET OF DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
; INDICATED ABOVE. THIS FILE SHOULD *NOT* NORMALLY BE CHANGED. INSTEAD, YOU SHOULD
|
||||
; OVERRIDE ANY SETTINGS YOU WANT USING A CONFIGURATION FILE IN THE CONFIG DIRECTORY
|
||||
; UNDER THIS DIRECTORY.
|
||||
;
|
||||
; THIS FILE CAN BE CONSIDERED A REFERENCE THAT LISTS ALL POSSIBLE CONFIGURATION SETTINGS
|
||||
; FOR THE PLATFORM.
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "Duodyne", " [", CONFIG, "]"
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_DUO ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|S100|DUO|HEATH]
|
||||
CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .EQU FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
USELZSA2 .EQU TRUE ; ENABLE FONT COMPRESSION
|
||||
TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ)
|
||||
;
|
||||
BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
|
||||
BOOT_DELAY .EQU 0 ; FIXED BOOT DELAY IN SECONDS PRIOR TO CONSOLE OUTPUT
|
||||
;
|
||||
CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO
|
||||
CPUSPDDEF .EQU SPD_UNSUP ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW
|
||||
CPUOSC .EQU 8000000 ; CPU OSC FREQ IN MHZ
|
||||
INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
|
||||
DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE .EQU 512 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
MEMMGR .EQU MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
MPGSEL_0 .EQU $50 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_1 .EQU $51 ; Z2 MEM MGR BANK 1 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_2 .EQU $52 ; Z2 MEM MGR BANK 2 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_3 .EQU $53 ; Z2 MEM MGR BANK 3 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGENA .EQU $54 ; Z2 MEM MGR PAGING ENABLE REGISTER (BIT 0, WRITE ONLY)
|
||||
;
|
||||
RTCIO .EQU $94 ; RTC LATCH REGISTER ADR
|
||||
;
|
||||
KIOENABLE .EQU FALSE ; ENABLE ZILOG KIO SUPPORT
|
||||
KIOBASE .EQU $80 ; KIO BASE I/O ADDRESS
|
||||
;
|
||||
CTCENABLE .EQU FALSE ; ENABLE ZILOG CTC SUPPORT
|
||||
CTCDEBUG .EQU FALSE ; ENABLE CTC DRIVER DEBUG OUTPUT
|
||||
CTCBASE .EQU $B0 ; CTC BASE I/O ADDRESS
|
||||
CTCTIMER .EQU TRUE ; ENABLE CTC PERIODIC TIMER
|
||||
CTCMODE .EQU CTCMODE_CTR ; CTC MODE: CTCMODE_[NONE|CTR|TIM16|TIM256]
|
||||
CTCPRE .EQU 256 ; PRESCALE CONSTANT (1-256)
|
||||
CTCPRECH .EQU 2 ; PRESCALE CHANNEL (0-3)
|
||||
CTCTIMCH .EQU 3 ; TIMER CHANNEL (0-3)
|
||||
CTCOSC .EQU (4915200/8) ; CTC CLOCK FREQUENCY
|
||||
;
|
||||
PCFENABLE .EQU FALSE ; ENABLE PCF8584 I2C CONTROLLER
|
||||
PCFBASE .EQU $56 ; PCF8584 BASE I/O ADDRESS
|
||||
;
|
||||
EIPCENABLE .EQU FALSE ; EIPC: ENABLE Z80 EIPC (Z84C15) INITIALIZATION
|
||||
;
|
||||
SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
;
|
||||
WDOGMODE .EQU WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ]
|
||||
;
|
||||
FPLED_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPLED_IO .EQU $00 ; FP: PORT ADDRESS FOR FP LEDS
|
||||
FPLED_DSKACT .EQU FALSE ; 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
|
||||
LEDMODE .EQU LEDMODE_RTC ; LEDMODE_[STD|RTC]
|
||||
LEDPORT .EQU RTCIO ; STATUS LED PORT ADDRESS
|
||||
LEDDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON STATUS LED
|
||||
;
|
||||
DSKYENABLE .EQU FALSE ; ENABLES DSKY FUNCTIONALITY
|
||||
DSKYDSKACT .EQU TRUE ; ENABLES DISK ACTIVITY ON DSKY DISPLAY
|
||||
ICMENABLE .EQU FALSE ; ENABLES ORIGINAL DSKY ICM DRIVER (7218)
|
||||
ICMPPIBASE .EQU $60 ; BASE I/O ADDRESS OF ICM PPI
|
||||
PKDENABLE .EQU FALSE ; ENABLES DSKY NG PKD DRIVER (8259)
|
||||
PKDPPIBASE .EQU $60 ; BASE I/O ADDRESS OF PKD PPI
|
||||
PKDOSC .EQU 3000000 ; OSCILLATOR FREQ FOR PKD (IN HZ)
|
||||
H8PENABLE .EQU FALSE ; ENABLES HEATH H8 FRONT PANEL
|
||||
;
|
||||
BOOTCON .EQU 0 ; BOOT CONSOLE DEVICE
|
||||
CRTACT .EQU FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
VDAEMU .EQU EMUTYP_ANSI ; VDA EMULATION: EMUTYP_[TTY|ANSI]
|
||||
VDAEMU_SERKBD .EQU $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
|
||||
ANSITRACE .EQU 1 ; ANSI DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPKTRACE .EQU 1 ; PPK DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
KBDTRACE .EQU 1 ; KBD DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPKKBLOUT .EQU KBD_US ; PPK KEYBOARD LANGUAGE: KBD_[US|DE]
|
||||
KBDKBLOUT .EQU KBD_US ; KBD KEYBOARD LANGUAGE: KBD_[US|DE]
|
||||
MKYENABLE .EQU FALSE ; MSX 5255 PPI KEYBOARD COMPATIBLE DRIVER (REQUIRES TMS VDA DRIVER)
|
||||
MKYKBLOUT .EQU KBD_US ; KBD KEYBOARD LANGUAGE: KBD_[US|DE]
|
||||
;
|
||||
DSRTCENABLE .EQU TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
|
||||
DSRTCMODE .EQU DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTC_[STD|MFPIC]
|
||||
DSRTCCHG .EQU FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!)
|
||||
;
|
||||
DS1501RTCENABLE .EQU FALSE ; DS1501RTC: ENABLE DS-1501 CLOCK DRIVER (DS1501RTC.ASM)
|
||||
DS1501RTC_BASE .EQU $50 ; DS1501RTC: I/O BASE ADDRESS
|
||||
;
|
||||
BQRTCENABLE .EQU FALSE ; BQRTC: ENABLE BQ4845 CLOCK DRIVER (BQRTC.ASM)
|
||||
BQRTC_BASE .EQU $50 ; BQRTC: I/O BASE ADDRESS
|
||||
;
|
||||
INTRTCENABLE .EQU FALSE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
|
||||
;
|
||||
RP5RTCENABLE .EQU FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
|
||||
;
|
||||
HTIMENABLE .EQU FALSE ; ENABLE SIMH TIMER SUPPORT
|
||||
SIMRTCENABLE .EQU FALSE ; ENABLE SIMH CLOCK DRIVER (SIMRTC.ASM)
|
||||
;
|
||||
DS7RTCENABLE .EQU FALSE ; DS7RTC: ENABLE DS-1307 I2C CLOCK DRIVER (DS7RTC.ASM)
|
||||
DS7RTCMODE .EQU DS7RTCMODE_PCF ; DS7RTC: OPERATING MODE: DS7RTC_[PCF]
|
||||
;
|
||||
DUARTENABLE .EQU FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
;
|
||||
UARTENABLE .EQU TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ
|
||||
UARTINTS .EQU FALSE ; UART: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
UARTCFG .EQU DEFSERCFG ; UART: LINE CONFIG FOR UART PORTS
|
||||
UARTCASSPD .EQU SER_300_8N1 ; UART: ECB CASSETTE UART DEFAULT SPEED
|
||||
UARTSBC .EQU TRUE ; UART: AUTO-DETECT SBC/ZETA/DUO ONBOARD UART
|
||||
UARTSBCFORCE .EQU FALSE ; UART: FORCE DETECTION OF SBC UART (FOR SIMH)
|
||||
UARTCAS .EQU FALSE ; UART: AUTO-DETECT ECB CASSETTE UART
|
||||
UARTMFP .EQU FALSE ; UART: AUTO-DETECT MF/PIC UART
|
||||
UART4 .EQU FALSE ; UART: AUTO-DETECT 4UART UART
|
||||
UARTRC .EQU FALSE ; UART: AUTO-DETECT RC UART
|
||||
UARTDUAL .EQU FALSE ; UART: AUTO-DETECT DUAL UART
|
||||
;
|
||||
ASCIENABLE .EQU FALSE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
|
||||
;
|
||||
Z2UENABLE .EQU FALSE ; Z2U: ENABLE Z280 UART SERIAL DRIVER (Z2U.ASM)
|
||||
;
|
||||
ACIAENABLE .EQU FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
|
||||
;
|
||||
SIOENABLE .EQU FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
|
||||
SIODEBUG .EQU FALSE ; SIO: ENABLE DEBUG OUTPUT
|
||||
SIOBOOT .EQU 0 ; SIO: REBOOT ON RCV CHAR (0=DISABLED)
|
||||
SIOCNT .EQU 1 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
|
||||
SIO0MODE .EQU SIOMODE_ZP ; SIO 0: CHIP TYPE: SIOMODE_[STD|RC|SMB|ZP|Z80R]
|
||||
SIO0BASE .EQU $B0 ; SIO 0: REGISTERS BASE ADR
|
||||
SIO0ACLK .EQU (4915200/8) ; SIO 0A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
|
||||
SIO0ACFG .EQU DEFSERCFG ; SIO 0A: SERIAL LINE CONFIG
|
||||
SIO0ACTCC .EQU -1 ; SIO 0A: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
SIO0BCLK .EQU (4915200/8) ; SIO 0B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
|
||||
SIO0BCFG .EQU DEFSERCFG ; SIO 0B: SERIAL LINE CONFIG
|
||||
SIO0BCTCC .EQU -1 ; SIO 0B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
;
|
||||
XIOCFG .EQU DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .EQU FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
VDUSIZ .EQU V80X25 ; VDU: DISPLAY FORMAT [V80X24|V80X25|V80X30]
|
||||
CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
CVDUMODE .EQU CVDUMODE_MBC ; CVDU: CVDU MODE: CVDUMODE_[NONE|ECB|MBC]
|
||||
CVDUMON .EQU CVDUMON_CGA ; CVDU: CVDU MONITOR SETUP: CVDUMON_[NONE|CGA|EGA]
|
||||
GDCENABLE .EQU FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.ASM)
|
||||
TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .EQU TMSMODE_MBC ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|MSX|MSX9958|MSXKBD|COLECO]
|
||||
TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VGASIZ .EQU V80X25 ; VGA: DISPLAY FORMAT [V80X25|V80X30|V80X43]
|
||||
VRCENABLE .EQU FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .EQU FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
MDRAM .EQU TRUE ; MD: ENABLE RAM DISK
|
||||
MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
MDFFENABLE .EQU FALSE ; MD: ENABLE FLASH FILE SYSTEM
|
||||
;
|
||||
;
|
||||
FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .EQU FDMODE_MBC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
|
||||
FDCNT .EQU 2 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2)
|
||||
FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL)
|
||||
FDMAUTO .EQU TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS
|
||||
FD0TYPE .EQU FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
FD1TYPE .EQU FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
;
|
||||
RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER
|
||||
RFCNT .EQU 1 ; RF: NUMBER OF RAM FLOPPY UNITS (1-4)
|
||||
;
|
||||
IDEENABLE .EQU FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
IDETRACE .EQU 1 ; IDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
IDECNT .EQU 1 ; IDE: NUMBER OF IDE INTERFACES TO DETECT (1-3), 2 DRIVES EACH
|
||||
IDE0MODE .EQU IDEMODE_DIO ; IDE 0: DRIVER MODE: IDEMODE_[DIO|DIDE|MK4|RC]
|
||||
IDE0BASE .EQU $20 ; IDE 0: IO BASE ADDRESS
|
||||
IDE0DATLO .EQU $20 ; IDE 0: DATA LO PORT FOR 16-BIT I/O
|
||||
IDE0DATHI .EQU $28 ; IDE 0: DATA HI PORT FOR 16-BIT I/O
|
||||
IDE0A8BIT .EQU FALSE ; IDE 0A (MASTER): 8 BIT XFER
|
||||
IDE0B8BIT .EQU FALSE ; IDE 0B (MASTER): 8 BIT XFER
|
||||
IDE1MODE .EQU IDEMODE_NONE ; IDE 1: DRIVER MODE: IDEMODE_[DIO|DIDE|MK4|RC]
|
||||
IDE1BASE .EQU $00 ; IDE 1: IO BASE ADDRESS
|
||||
IDE1DATLO .EQU $00 ; IDE 1: DATA LO PORT FOR 16-BIT I/O
|
||||
IDE1DATHI .EQU $00 ; IDE 1: DATA HI PORT FOR 16-BIT I/O
|
||||
IDE1A8BIT .EQU TRUE ; IDE 1A (MASTER): 8 BIT XFER
|
||||
IDE1B8BIT .EQU TRUE ; IDE 1B (MASTER): 8 BIT XFER
|
||||
IDE2MODE .EQU IDEMODE_NONE ; IDE 2: DRIVER MODE: IDEMODE_[DIO|DIDE|MK4|RC]
|
||||
IDE2BASE .EQU $00 ; IDE 2: IO BASE ADDRESS
|
||||
IDE2DATLO .EQU $00 ; IDE 2: DATA LO PORT FOR 16-BIT I/O
|
||||
IDE2DATHI .EQU $00 ; IDE 2: DATA HI PORT FOR 16-BIT I/O
|
||||
IDE2A8BIT .EQU TRUE ; IDE 2A (MASTER): 8 BIT XFER
|
||||
IDE2B8BIT .EQU TRUE ; IDE 2B (MASTER): 8 BIT XFER
|
||||
;
|
||||
PPIDEENABLE .EQU FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .EQU 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .EQU 1 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0BASE .EQU $60 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .EQU FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .EQU FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1BASE .EQU $20 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .EQU FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .EQU FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2BASE .EQU $14 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .EQU FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .EQU FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
SDENABLE .EQU FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
|
||||
SDMODE .EQU SDMODE_JUHA ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|PIO|Z80R|USR]
|
||||
SDPPIBASE .EQU $60 ; SD: BASE I/O ADDRESS OF PPI FOR PPI MODDE
|
||||
SDCNT .EQU 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
SDCSIOFAST .EQU FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE
|
||||
;
|
||||
CHENABLE .EQU FALSE ; CH: ENABLE CH375/376 USB SUPPORT
|
||||
CHTRACE .EQU 1 ; CH: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
CHUSBTRACE .EQU 1 ; CHUSB: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
CHSDTRACE .EQU 1 ; CHSD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
CHCNT .EQU 1 ; CH: NUMBER OF BOARDS TO DETECT (1-2)
|
||||
CH0BASE .EQU $BE ; CH 0: BASE I/O ADDRESS
|
||||
CH0USBENABLE .EQU TRUE ; CH 0: ENABLE USB DISK
|
||||
CH0SDENABLE .EQU FALSE ; CH 0: ENABLE SD DISK
|
||||
CH1BASE .EQU $FF ; CH 1: BASE I/O ADDRESS
|
||||
CH1USBENABLE .EQU FALSE ; CH 1: ENABLE USB DISK
|
||||
CH1SDENABLE .EQU FALSE ; CH 1: ENABLE SD DISK
|
||||
;
|
||||
PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
|
||||
PRPSDENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER SD CARD SUPPORT
|
||||
PRPSDTRACE .EQU 1 ; PRP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PRPCONENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER VIDEO/KBD SUPPORT
|
||||
;
|
||||
PPPENABLE .EQU FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM)
|
||||
;
|
||||
ESPENABLE .EQU FALSE ; ESP: ENABLE ESP32 IO BOARD DRIVER (ESP.ASM)
|
||||
ESPCONENABLE .EQU TRUE ; ESP: ENABLE ESP32 CONSOLE IO DRIVER VIDEO/KBD SUPPORT
|
||||
;
|
||||
HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM)
|
||||
HDSKTRACE .EQU 1 ; HDSK: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
;
|
||||
PIOENABLE .EQU FALSE ; PIO: ENABLE ZILOG PIO DRIVER (PIO.ASM)
|
||||
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 FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTMODE .EQU LPTMODE_SPP ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|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
|
||||
;
|
||||
PPAENABLE .EQU FALSE ; PPA: ENABLE PPA DISK DRIVER (PPA.ASM)
|
||||
PPACNT .EQU 1 ; PPA: NUMBER OF PPA DEVICES (1-2)
|
||||
PPATRACE .EQU 1 ; PPA: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPAMODE .EQU PPAMODE_SPP ; PPA: DRIVER MODE: PPAMODE_[NONE|MG014]
|
||||
PPA0BASE .EQU LPT0BASE ; PPA 0: BASE I/O ADDRESS OF PPI FOR PPA
|
||||
PPA1BASE .EQU LPT1BASE ; PPA 1: BASE I/O ADDRESS OF PPI FOR PPA
|
||||
;
|
||||
IMMENABLE .EQU FALSE ; IMM: ENABLE IMM DISK DRIVER (IMM.ASM)
|
||||
IMMCNT .EQU 1 ; IMM: NUMBER OF IMM DEVICES (1-2)
|
||||
IMMTRACE .EQU 1 ; IMM: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
IMMMODE .EQU IMMMODE_SPP ; IMM: DRIVER MODE: IMMMODE_[NONE|SPP|MG014]
|
||||
IMM0BASE .EQU LPT0BASE ; IMM 0: BASE I/O ADDRESS OF PPI FOR IMM
|
||||
IMM1BASE .EQU LPT1BASE ; IMM 1: BASE I/O ADDRESS OF PPI FOR IMM
|
||||
;
|
||||
SYQENABLE .EQU FALSE ; SYQ: ENABLE IMM DISK DRIVER (SYQ.ASM)
|
||||
SYQCNT .EQU 1 ; SYQ: NUMBER OF SYQ DEVICES (1-2)
|
||||
SYQTRACE .EQU 1 ; SYQ: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
SYQMODE .EQU IMMMODE_SPP ; SYQ: DRIVER MODE: SYQMODE_[NONE|SPP|MG014]
|
||||
SYQ0BASE .EQU LPT0BASE ; SYQ 0: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
SYQ1BASE .EQU LPT1BASE ; SYQ 1: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
;
|
||||
PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO4BASE .EQU $90 ; PIO: PIO REGISTERS BASE ADR FOR ECB 4P BOARD
|
||||
PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
PIOZBASE .EQU $88 ; PIO: PIO REGISTERS BASE ADR FOR ECB ZP BOARD
|
||||
PIO_SBC .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
PIOSBASE .EQU $60 ; PIO: PIO REGISTERS BASE ADR FOR SBC PPI
|
||||
;
|
||||
UFENABLE .EQU FALSE ; UF: ENABLE ECB USB FIFO DRIVER (UF.ASM)
|
||||
UFBASE .EQU $0C ; UF: REGISTERS BASE ADR
|
||||
;
|
||||
SN76489ENABLE .EQU FALSE ; SN: ENABLE SN76489 SOUND DRIVER
|
||||
AUDIOTRACE .EQU FALSE ; ENABLE TRACING TO CONSOLE OF SOUND DRIVER
|
||||
SN7CLK .EQU 3579545 ; SN: PSG CLOCK FREQ, ASSUME MSX STD
|
||||
SNMODE .EQU SNMODE_NONE ; SN: DRIVER MODE: SNMODE_[NONE|RC|VGM]
|
||||
;
|
||||
AY38910ENABLE .EQU FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
|
||||
AY_CLK .EQU 1789772 ; AY: PSG CLOCK FREQ, ASSUME MSX STD
|
||||
AYMODE .EQU AYMODE_MBC ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC]
|
||||
;
|
||||
SPKENABLE .EQU TRUE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM)
|
||||
;
|
||||
DMAENABLE .EQU TRUE ; DMA: ENABLE DMA DRIVER (DMA.ASM)
|
||||
DMABASE .EQU $40 ; DMA: DMA BASE ADDRESS
|
||||
DMAMODE .EQU DMAMODE_DUO ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC|DUO)
|
||||
;
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76489s/CTC)
|
||||
@@ -1,6 +1,6 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ROMWBW 2.X CONFIGURATION DEFAULTS FOR DYNO
|
||||
; ROMWBW 3.X CONFIGURATION DEFAULTS FOR DYNO
|
||||
;==================================================================================================
|
||||
;
|
||||
; THIS FILE CONTAINS THE FULL SET OF DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
@@ -15,7 +15,7 @@
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_DYNO ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO]
|
||||
PLATFORM .EQU PLT_DYNO ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|S100|DUO|HEATH]
|
||||
CPUFAM .EQU CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
@@ -34,10 +34,8 @@ DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE .EQU 512 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .EQU 0 ; ROMSIZE VALUE VERIFICATION (0=DISABLED)
|
||||
MEMMGR .EQU MM_Z180 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
RAMLOC .EQU 19 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
RAMBIAS .EQU (1 << (RAMLOC - 10)) ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
RAMBIAS .EQU ROMSIZE ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
MPGSEL_0 .EQU $78 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_1 .EQU $79 ; Z2 MEM MGR BANK 1 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_2 .EQU $7A ; Z2 MEM MGR BANK 2 PAGE SELECT REG (WRITE ONLY)
|
||||
@@ -60,6 +58,9 @@ CTCDEBUG .EQU FALSE ; ENABLE CTC DRIVER DEBUG OUTPUT
|
||||
CTCBASE .EQU $88 ; CTC BASE I/O ADDRESS
|
||||
CTCTIMER .EQU FALSE ; ENABLE CTC PERIODIC TIMER
|
||||
;
|
||||
PCFENABLE .EQU FALSE ; ENABLE PCF8584 I2C CONTROLLER
|
||||
PCFBASE .EQU $F0 ; PCF8584 BASE I/O ADDRESS
|
||||
;
|
||||
EIPCENABLE .EQU FALSE ; EIPC: ENABLE Z80 EIPC (Z84C15) INITIALIZATION
|
||||
;
|
||||
SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
@@ -79,7 +80,14 @@ LEDMODE .EQU LEDMODE_STD ; LEDMODE_[STD|RTC]
|
||||
LEDPORT .EQU $0E ; STATUS LED PORT ADDRESS
|
||||
LEDDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON STATUS LED
|
||||
;
|
||||
DSKYENABLE .EQU FALSE ; ENABLES DSKY (DO NOT COMBINE WITH PPIDE)
|
||||
DSKYENABLE .EQU FALSE ; ENABLES DSKY FUNCTIONALITY
|
||||
DSKYDSKACT .EQU TRUE ; ENABLES DISK ACTIVITY ON DSKY DISPLAY
|
||||
ICMENABLE .EQU FALSE ; ENABLES ORIGINAL DSKY ICM DRIVER (7218)
|
||||
ICMPPIBASE .EQU $60 ; BASE I/O ADDRESS OF ICM PPI
|
||||
PKDENABLE .EQU FALSE ; ENABLES DSKY NG PKD DRIVER (8259)
|
||||
PKDPPIBASE .EQU $60 ; BASE I/O ADDRESS OF PKD PPI
|
||||
PKDOSC .EQU 3000000 ; OSCILLATOR FREQ FOR PKD (IN HZ)
|
||||
H8PENABLE .EQU FALSE ; ENABLES HEATH H8 FRONT PANEL
|
||||
;
|
||||
BOOTCON .EQU 0 ; BOOT CONSOLE DEVICE
|
||||
CRTACT .EQU FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
@@ -126,7 +134,7 @@ UARTENABLE .EQU FALSE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ
|
||||
UARTINTS .EQU FALSE ; UART: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
UARTCFG .EQU DEFSERCFG | SER_RTS ; UART: LINE CONFIG FOR UART PORTS
|
||||
UARTSBC .EQU FALSE ; UART: AUTO-DETECT SBC/ZETA ONBOARD UART
|
||||
UARTSBC .EQU FALSE ; UART: AUTO-DETECT SBC/ZETA/DUO ONBOARD UART
|
||||
UARTSBCFORCE .EQU FALSE ; UART: FORCE DETECTION OF SBC UART (FOR SIMH)
|
||||
UARTCAS .EQU FALSE ; UART: AUTO-DETECT ECB CASSETTE UART
|
||||
UARTMFP .EQU FALSE ; UART: AUTO-DETECT MF/PIC UART
|
||||
@@ -176,6 +184,7 @@ TMSMODE .EQU TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|MSX|MSX9958|MS
|
||||
TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VRCENABLE .EQU FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .EQU FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -236,6 +245,8 @@ SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
SDCSIOFAST .EQU FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE
|
||||
SDMTSWAP .EQU FALSE ; SD: SWAP THE LOGICAL ORDER OF THE SPI PORTS OF THE MT011
|
||||
;
|
||||
CHENABLE .EQU FALSE ; CH: ENABLE CH375/376 USB SUPPORT
|
||||
;
|
||||
PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
|
||||
PRPSDENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER SD CARD SUPPORT
|
||||
PRPSDTRACE .EQU 1 ; PRP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -243,6 +254,8 @@ PRPCONENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER VIDEO/KBD SUPPORT
|
||||
;
|
||||
PPPENABLE .EQU FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM)
|
||||
;
|
||||
ESPENABLE .EQU FALSE ; ESP: ENABLE ESP32 IO BOARD DRIVER (ESP.ASM)
|
||||
;
|
||||
HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM)
|
||||
;
|
||||
PIOENABLE .EQU FALSE ; PIO: ENABLE ZILOG PIO DRIVER (PIO.ASM)
|
||||
@@ -277,7 +290,7 @@ SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM)
|
||||
;
|
||||
DMAENABLE .EQU FALSE ; DMA: ENABLE DMA DRIVER (DMA.ASM)
|
||||
DMABASE .EQU $E0 ; DMA: DMA BASE ADDRESS
|
||||
DMAMODE .EQU DMAMODE_Z180 ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC)
|
||||
DMAMODE .EQU DMAMODE_Z180 ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC|DUO)
|
||||
;
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER (MUTE STUB)
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76469s/CTC)
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76489s/CTC)
|
||||
|
||||
321
Source/HBIOS/cfg_heath.asm
Normal file
321
Source/HBIOS/cfg_heath.asm
Normal file
@@ -0,0 +1,321 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ROMWBW 3.X CONFIGURATION DEFAULTS FOR RCBUS Z80
|
||||
;==================================================================================================
|
||||
;
|
||||
; THIS FILE CONTAINS THE FULL SET OF DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
; INDICATED ABOVE. THIS FILE SHOULD *NOT* NORMALLY BE CHANGED. INSTEAD, YOU SHOULD
|
||||
; OVERRIDE ANY SETTINGS YOU WANT USING A CONFIGURATION FILE IN THE CONFIG DIRECTORY
|
||||
; UNDER THIS DIRECTORY.
|
||||
;
|
||||
; THIS FILE CAN BE CONSIDERED A REFERENCE THAT LISTS ALL POSSIBLE CONFIGURATION SETTINGS
|
||||
; FOR THE PLATFORM.
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "RCBus", " [", CONFIG, "]"
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_HEATH ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|S100|DUO|HEATH]
|
||||
CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .EQU FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
USELZSA2 .EQU TRUE ; ENABLE FONT COMPRESSION
|
||||
TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ)
|
||||
;
|
||||
BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
|
||||
BOOT_DELAY .EQU 0 ; FIXED BOOT DELAY IN SECONDS PRIOR TO CONSOLE OUTPUT
|
||||
;
|
||||
CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO
|
||||
CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW
|
||||
CPUOSC .EQU 7372800 ; CPU OSC FREQ IN MHZ
|
||||
INTMODE .EQU 1 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
|
||||
DEFSERCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE .EQU 512 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
MEMMGR .EQU MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
MPGSEL_0 .EQU $78 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_1 .EQU $79 ; Z2 MEM MGR BANK 1 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_2 .EQU $7A ; Z2 MEM MGR BANK 2 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_3 .EQU $7B ; Z2 MEM MGR BANK 3 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGENA .EQU $7C ; Z2 MEM MGR PAGING ENABLE REGISTER (BIT 0, WRITE ONLY)
|
||||
;
|
||||
RTCIO .EQU $C0 ; RTC LATCH REGISTER ADR
|
||||
;
|
||||
KIOENABLE .EQU FALSE ; ENABLE ZILOG KIO SUPPORT
|
||||
KIOBASE .EQU $80 ; KIO BASE I/O ADDRESS
|
||||
;
|
||||
CTCENABLE .EQU FALSE ; ENABLE ZILOG CTC SUPPORT
|
||||
CTCDEBUG .EQU FALSE ; ENABLE CTC DRIVER DEBUG OUTPUT
|
||||
CTCBASE .EQU $88 ; CTC BASE I/O ADDRESS
|
||||
CTCTIMER .EQU FALSE ; ENABLE CTC PERIODIC TIMER
|
||||
CTCMODE .EQU CTCMODE_TIM16 ; CTC MODE: CTCMODE_[NONE|CTR|TIM16|TIM256]
|
||||
CTCPRE .EQU 256 ; PRESCALE CONSTANT (1-256)
|
||||
CTCPRECH .EQU 2 ; PRESCALE CHANNEL (0-3)
|
||||
CTCTIMCH .EQU 3 ; TIMER CHANNEL (0-3)
|
||||
CTCOSC .EQU CPUOSC ; CTC CLOCK FREQUENCY
|
||||
;
|
||||
PCFENABLE .EQU FALSE ; ENABLE PCF8584 I2C CONTROLLER
|
||||
PCFBASE .EQU $F0 ; PCF8584 BASE I/O ADDRESS
|
||||
;
|
||||
EIPCENABLE .EQU FALSE ; EIPC: ENABLE Z80 EIPC (Z84C15) INITIALIZATION
|
||||
;
|
||||
SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
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
|
||||
;
|
||||
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)
|
||||
LEDMODE .EQU LEDMODE_STD ; LEDMODE_[STD|RTC]
|
||||
LEDPORT .EQU $0E ; STATUS LED PORT ADDRESS
|
||||
LEDDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON STATUS LED
|
||||
;
|
||||
DSKYENABLE .EQU FALSE ; ENABLES DSKY FUNCTIONALITY
|
||||
DSKYDSKACT .EQU TRUE ; ENABLES DISK ACTIVITY ON DSKY DISPLAY
|
||||
ICMENABLE .EQU FALSE ; ENABLES ORIGINAL DSKY ICM DRIVER (7218)
|
||||
ICMPPIBASE .EQU $60 ; BASE I/O ADDRESS OF ICM PPI
|
||||
PKDENABLE .EQU FALSE ; ENABLES DSKY NG PKD DRIVER (8259)
|
||||
PKDPPIBASE .EQU $60 ; BASE I/O ADDRESS OF PKD PPI
|
||||
PKDOSC .EQU 3000000 ; OSCILLATOR FREQ FOR PKD (IN HZ)
|
||||
H8PENABLE .EQU FALSE ; ENABLES HEATH H8 FRONT PANEL
|
||||
;
|
||||
BOOTCON .EQU 0 ; BOOT CONSOLE DEVICE
|
||||
CRTACT .EQU FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
VDAEMU .EQU EMUTYP_ANSI ; VDA EMULATION: EMUTYP_[TTY|ANSI]
|
||||
VDAEMU_SERKBD .EQU $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
|
||||
ANSITRACE .EQU 1 ; ANSI DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPKTRACE .EQU 1 ; PPK DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
KBDTRACE .EQU 1 ; KBD DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
KBDKBLOUT .EQU KBD_US ; KBD KEYBOARD LANGUAGE: KBD_[US|DE]
|
||||
PPKKBLOUT .EQU KBD_US ; PPK KEYBOARD LANGUAGE: KBD_[US|DE]
|
||||
MKYENABLE .EQU FALSE ; MSX 5255 PPI KEYBOARD COMPATIBLE DRIVER (REQUIRES TMS VDA DRIVER)
|
||||
MKYKBLOUT .EQU KBD_US ; KBD KEYBOARD LANGUAGE: KBD_[US|DE]
|
||||
;
|
||||
DSRTCENABLE .EQU TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
|
||||
DSRTCMODE .EQU DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTC_[STD|MFPIC]
|
||||
DSRTCCHG .EQU FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!)
|
||||
;
|
||||
DS1501RTCENABLE .EQU FALSE ; DS1501RTC: ENABLE DS-1501 CLOCK DRIVER (DS1501RTC.ASM)
|
||||
DS1501RTC_BASE .EQU $50 ; DS1501RTC: I/O BASE ADDRESS
|
||||
;
|
||||
BQRTCENABLE .EQU FALSE ; BQRTC: ENABLE BQ4845 CLOCK DRIVER (BQRTC.ASM)
|
||||
BQRTC_BASE .EQU $50 ; BQRTC: I/O BASE ADDRESS
|
||||
;
|
||||
INTRTCENABLE .EQU FALSE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
|
||||
;
|
||||
RP5RTCENABLE .EQU FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
|
||||
;
|
||||
HTIMENABLE .EQU FALSE ; ENABLE SIMH TIMER SUPPORT
|
||||
SIMRTCENABLE .EQU FALSE ; ENABLE SIMH CLOCK DRIVER (SIMRTC.ASM)
|
||||
;
|
||||
DS7RTCENABLE .EQU FALSE ; DS7RTC: ENABLE DS-1307 I2C CLOCK DRIVER (DS7RTC.ASM)
|
||||
DS7RTCMODE .EQU DS7RTCMODE_PCF ; DS7RTC: OPERATING MODE: DS7RTC_[PCF]
|
||||
;
|
||||
DUARTENABLE .EQU FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
DUARTCNT .EQU 1 ; DUART: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
DUART0BASE .EQU $A0 ; DUART 0: BASE ADDRESS OF CHIP
|
||||
DUART0ACFG .EQU DEFSERCFG ; DUART 0A: SERIAL LINE CONFIG
|
||||
DUART0BCFG .EQU DEFSERCFG ; DUART 0B: SERIAL LINE CONFIG
|
||||
DUART1BASE .EQU $40 ; DUART 1: BASE ADDRESS OF CHIP
|
||||
DUART1ACFG .EQU DEFSERCFG ; DUART 1A: SERIAL LINE CONFIG
|
||||
DUART1BCFG .EQU DEFSERCFG ; DUART 1B: SERIAL LINE CONFIG
|
||||
;
|
||||
UARTENABLE .EQU TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ
|
||||
UARTINTS .EQU FALSE ; UART: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
UARTCFG .EQU DEFSERCFG | SER_RTS ; UART: LINE CONFIG FOR UART PORTS
|
||||
UARTSBC .EQU FALSE ; UART: AUTO-DETECT SBC/ZETA/DUO ONBOARD UART
|
||||
UARTSBCFORCE .EQU FALSE ; UART: FORCE DETECTION OF SBC UART (FOR SIMH)
|
||||
UARTCAS .EQU FALSE ; UART: AUTO-DETECT ECB CASSETTE UART
|
||||
UARTMFP .EQU FALSE ; UART: AUTO-DETECT MF/PIC UART
|
||||
UART4 .EQU FALSE ; UART: AUTO-DETECT 4UART UART
|
||||
UARTRC .EQU TRUE ; UART: AUTO-DETECT RC UART
|
||||
UARTDUAL .EQU FALSE ; UART: AUTO-DETECT DUAL UART
|
||||
;
|
||||
ASCIENABLE .EQU FALSE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
|
||||
;
|
||||
Z2UENABLE .EQU FALSE ; Z2U: ENABLE Z280 UART SERIAL DRIVER (Z2U.ASM)
|
||||
;
|
||||
ACIAENABLE .EQU TRUE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
|
||||
ACIADEBUG .EQU FALSE ; ACIA: ENABLE DEBUG OUTPUT
|
||||
ACIACNT .EQU 1 ; ACIA: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
ACIA0BASE .EQU $80 ; ACIA 0: REGISTERS BASE ADR
|
||||
ACIA0CLK .EQU CPUOSC ; ACIA 0: OSC FREQ IN HZ
|
||||
ACIA0DIV .EQU 1 ; ACIA 0: SERIAL CLOCK DIVIDER
|
||||
ACIA0CFG .EQU DEFSERCFG ; ACIA 0: SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
ACIA1BASE .EQU $40 ; ACIA 1: REGISTERS BASE ADR
|
||||
ACIA1CLK .EQU CPUOSC ; ACIA 1: OSC FREQ IN HZ
|
||||
ACIA1DIV .EQU 1 ; ACIA 1: SERIAL CLOCK DIVIDER
|
||||
ACIA1CFG .EQU DEFSERCFG ; ACIA 1: SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
SIOENABLE .EQU TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
|
||||
SIODEBUG .EQU FALSE ; SIO: ENABLE DEBUG OUTPUT
|
||||
SIOBOOT .EQU 0 ; SIO: REBOOT ON RCV CHAR (0=DISABLED)
|
||||
SIOCNT .EQU 2 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
|
||||
SIO0MODE .EQU SIOMODE_RC ; SIO 0: CHIP TYPE: SIOMODE_[STD|RC|SMB|ZP|Z80R]
|
||||
SIO0BASE .EQU $80 ; SIO 0: REGISTERS BASE ADR
|
||||
SIO0ACLK .EQU CPUOSC ; SIO 0A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
|
||||
SIO0ACFG .EQU DEFSERCFG ; SIO 0A: SERIAL LINE CONFIG
|
||||
SIO0ACTCC .EQU -1 ; SIO 0A: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
SIO0BCLK .EQU CPUOSC ; SIO 0B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
|
||||
SIO0BCFG .EQU DEFSERCFG ; SIO 0B: SERIAL LINE CONFIG
|
||||
SIO0BCTCC .EQU -1 ; SIO 0B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
SIO1MODE .EQU SIOMODE_RC ; SIO 1: CHIP TYPE: SIOMODE_[STD|RC|SMB|ZP|Z80R]
|
||||
SIO1BASE .EQU $84 ; SIO 1: REGISTERS BASE ADR
|
||||
SIO1ACLK .EQU CPUOSC ; SIO 1A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
|
||||
SIO1ACFG .EQU DEFSERCFG ; SIO 1A: SERIAL LINE CONFIG
|
||||
SIO1ACTCC .EQU -1 ; SIO 1A: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
SIO1BCLK .EQU CPUOSC ; SIO 1B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
|
||||
SIO1BCFG .EQU DEFSERCFG ; SIO 1B: SERIAL LINE CONFIG
|
||||
SIO1BCTCC .EQU -1 ; SIO 1B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
;
|
||||
XIOCFG .EQU DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .EQU FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
GDCENABLE .EQU FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.ASM)
|
||||
TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .EQU TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|MSX|MSX9958|MSXKBD|COLECO]
|
||||
TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VRCENABLE .EQU FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .EQU FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
MDRAM .EQU TRUE ; MD: ENABLE RAM DISK
|
||||
MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
MDFFENABLE .EQU FALSE ; MD: ENABLE FLASH FILE SYSTEM
|
||||
;
|
||||
FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .EQU FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
|
||||
FDCNT .EQU 2 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2)
|
||||
FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL)
|
||||
FDMAUTO .EQU TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS
|
||||
FD0TYPE .EQU FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
FD1TYPE .EQU FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
;
|
||||
RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER
|
||||
;
|
||||
IDEENABLE .EQU FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
IDETRACE .EQU 1 ; IDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
IDECNT .EQU 1 ; IDE: NUMBER OF IDE INTERFACES TO DETECT (1-3), 2 DRIVES EACH
|
||||
IDE0MODE .EQU IDEMODE_RC ; IDE 0: DRIVER MODE: IDEMODE_[DIO|DIDE|MK4|RC]
|
||||
IDE0BASE .EQU $10 ; IDE 0: IO BASE ADDRESS
|
||||
IDE0DATLO .EQU $00 ; IDE 0: DATA LO PORT FOR 16-BIT I/O
|
||||
IDE0DATHI .EQU $00 ; IDE 0: DATA HI PORT FOR 16-BIT I/O
|
||||
IDE0A8BIT .EQU TRUE ; IDE 0A (MASTER): 8 BIT XFER
|
||||
IDE0B8BIT .EQU TRUE ; IDE 0B (MASTER): 8 BIT XFER
|
||||
IDE1MODE .EQU IDEMODE_NONE ; IDE 1: DRIVER MODE: IDEMODE_[DIO|DIDE|MK4|RC]
|
||||
IDE1BASE .EQU $00 ; IDE 1: IO BASE ADDRESS
|
||||
IDE1DATLO .EQU $00 ; IDE 1: DATA LO PORT FOR 16-BIT I/O
|
||||
IDE1DATHI .EQU $00 ; IDE 1: DATA HI PORT FOR 16-BIT I/O
|
||||
IDE1A8BIT .EQU TRUE ; IDE 1A (MASTER): 8 BIT XFER
|
||||
IDE1B8BIT .EQU TRUE ; IDE 1B (MASTER): 8 BIT XFER
|
||||
IDE2MODE .EQU IDEMODE_NONE ; IDE 2: DRIVER MODE: IDEMODE_[DIO|DIDE|MK4|RC]
|
||||
IDE2BASE .EQU $00 ; IDE 2: IO BASE ADDRESS
|
||||
IDE2DATLO .EQU $00 ; IDE 2: DATA LO PORT FOR 16-BIT I/O
|
||||
IDE2DATHI .EQU $00 ; IDE 2: DATA HI PORT FOR 16-BIT I/O
|
||||
IDE2A8BIT .EQU TRUE ; IDE 2A (MASTER): 8 BIT XFER
|
||||
IDE2B8BIT .EQU TRUE ; IDE 2B (MASTER): 8 BIT XFER
|
||||
;
|
||||
PPIDEENABLE .EQU FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .EQU 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .EQU 1 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0BASE .EQU $20 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .EQU FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .EQU FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1BASE .EQU $00 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .EQU FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .EQU FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2BASE .EQU $00 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .EQU FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .EQU FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
SDENABLE .EQU FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
|
||||
SDMODE .EQU SDMODE_MT ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|PIO|Z80R|USR]
|
||||
SDPPIBASE .EQU $60 ; SD: BASE I/O ADDRESS OF PPI FOR PPI MODDE
|
||||
SDCNT .EQU 2 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
SDCSIOFAST .EQU FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE
|
||||
SDMTSWAP .EQU FALSE ; SD: SWAP THE LOGICAL ORDER OF THE SPI PORTS OF THE MT011
|
||||
;
|
||||
CHENABLE .EQU FALSE ; CH: ENABLE CH375/376 USB SUPPORT
|
||||
;
|
||||
PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
|
||||
PRPSDENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER SD CARD SUPPORT
|
||||
PRPSDTRACE .EQU 1 ; PRP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PRPCONENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER VIDEO/KBD SUPPORT
|
||||
;
|
||||
PPPENABLE .EQU FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM)
|
||||
;
|
||||
ESPENABLE .EQU FALSE ; ESP: ENABLE ESP32 IO BOARD DRIVER (ESP.ASM)
|
||||
;
|
||||
HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM)
|
||||
;
|
||||
PIOENABLE .EQU FALSE ; PIO: ENABLE ZILOG PIO DRIVER (PIO.ASM)
|
||||
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 FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTMODE .EQU LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|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 $0C ; LPT 0: REGISTERS BASE ADR
|
||||
LPT1BASE .EQU $00 ; LPT 1: REGISTERS BASE ADR
|
||||
;
|
||||
PPAENABLE .EQU FALSE ; PPA: ENABLE PPA DISK DRIVER (PPA.ASM)
|
||||
PPACNT .EQU 1 ; PPA: NUMBER OF PPA DEVICES (1-2)
|
||||
PPATRACE .EQU 1 ; PPA: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPAMODE .EQU PPAMODE_MG014 ; PPA: DRIVER MODE: PPAMODE_[NONE|SPP|MG014]
|
||||
PPA0BASE .EQU LPT0BASE ; PPA 0: BASE I/O ADDRESS OF PPI FOR PPA
|
||||
PPA1BASE .EQU LPT1BASE ; PPA 1: BASE I/O ADDRESS OF PPI FOR PPA
|
||||
;
|
||||
IMMENABLE .EQU FALSE ; IMM: ENABLE IMM DISK DRIVER (IMM.ASM)
|
||||
IMMCNT .EQU 1 ; IMM: NUMBER OF IMM DEVICES (1-2)
|
||||
IMMTRACE .EQU 1 ; IMM: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
IMMMODE .EQU IMMMODE_MG014 ; IMM: DRIVER MODE: IMMMODE_[NONE|SPP|MG014]
|
||||
IMM0BASE .EQU LPT0BASE ; IMM 0: BASE I/O ADDRESS OF PPI FOR IMM
|
||||
IMM1BASE .EQU LPT1BASE ; IMM 1: BASE I/O ADDRESS OF PPI FOR IMM
|
||||
;
|
||||
SYQENABLE .EQU FALSE ; SYQ: ENABLE IMM DISK DRIVER (SYQ.ASM)
|
||||
SYQCNT .EQU 1 ; SYQ: NUMBER OF SYQ DEVICES (1-2)
|
||||
SYQTRACE .EQU 1 ; SYQ: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
SYQMODE .EQU IMMMODE_MG014 ; SYQ: DRIVER MODE: SYQMODE_[NONE|SPP|MG014]
|
||||
SYQ0BASE .EQU LPT0BASE ; SYQ 0: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
SYQ1BASE .EQU LPT1BASE ; SYQ 1: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
;
|
||||
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)
|
||||
PIO_SBC .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
;
|
||||
UFENABLE .EQU FALSE ; UF: ENABLE ECB USB FIFO DRIVER (UF.ASM)
|
||||
;
|
||||
SN76489ENABLE .EQU FALSE ; SN: ENABLE SN76489 SOUND DRIVER
|
||||
AUDIOTRACE .EQU FALSE ; ENABLE TRACING TO CONSOLE OF SOUND DRIVER
|
||||
SN7CLK .EQU 3579545 ; SN: PSG CLOCK FREQ, ASSUME MSX STD
|
||||
SNMODE .EQU SNMODE_RC ; SN: DRIVER MODE: SNMODE_[NONE|RC|VGM]
|
||||
;
|
||||
AY38910ENABLE .EQU FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
|
||||
AY_CLK .EQU 1789772 ; AY: PSG CLOCK FREQ, ASSUME MSX STD
|
||||
AYMODE .EQU AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC]
|
||||
;
|
||||
SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM)
|
||||
;
|
||||
DMAENABLE .EQU FALSE ; DMA: ENABLE DMA DRIVER (DMA.ASM)
|
||||
DMABASE .EQU $E0 ; DMA: DMA BASE ADDRESS
|
||||
DMAMODE .EQU DMAMODE_RC ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC|DUO)
|
||||
;
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76489s/CTC)
|
||||
@@ -1,6 +1,6 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ROMWBW 2.X CONFIGURATION MASTER
|
||||
; ROMWBW 3.X CONFIGURATION MASTER
|
||||
;==================================================================================================
|
||||
;
|
||||
; THIS FILE IS *NOT* A REAL CONFIGURATION FILE. IT IS A MASTER TEMPLATE FILE
|
||||
@@ -12,7 +12,7 @@
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_SBC ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO]
|
||||
PLATFORM .EQU PLT_SBC ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|S100|DUO|HEATH]
|
||||
CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
@@ -31,10 +31,8 @@ DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE .EQU 512 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .EQU 0 ; ROMSIZE VALUE VERIFICATION (0=DISABLED)
|
||||
MEMMGR .EQU MM_NONE ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
RAMLOC .EQU 19 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
RAMBIAS .EQU (1 << (RAMLOC - 10)) ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
RAMBIAS .EQU ROMSIZE ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
MPCL_RAM .EQU $78 ; SBC MEM MGR RAM PAGE SELECT REG (WRITE ONLY)
|
||||
MPCL_ROM .EQU $7C ; SBC MEM MGR ROM PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_0 .EQU $78 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY)
|
||||
@@ -87,6 +85,9 @@ CTCPRECH .EQU 2 ; PRESCALE CHANNEL (0-3)
|
||||
CTCTIMCH .EQU 3 ; TIMER CHANNEL (0-3)
|
||||
CTCOSC .EQU 614400 ; CTC CLOCK FREQUENCY
|
||||
;
|
||||
PCFENABLE .EQU FALSE ; ENABLE PCF8584 I2C CONTROLLER
|
||||
PCFBASE .EQU $F0 ; PCF8584 BASE I/O ADDRESS
|
||||
;
|
||||
EIPCENABLE .EQU FALSE ; EIPC: ENABLE Z80 EIPC (Z84C15) INITIALIZATION
|
||||
;
|
||||
SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
@@ -115,6 +116,7 @@ ICMPPIBASE .EQU $60 ; BASE I/O ADDRESS OF ICM PPI
|
||||
PKDENABLE .EQU FALSE ; ENABLES DSKY NG PKD DRIVER (8259)
|
||||
PKDPPIBASE .EQU $60 ; BASE I/O ADDRESS OF PKD PPI
|
||||
PKDOSC .EQU 3000000 ; OSCILLATOR FREQ FOR PKD (IN HZ)
|
||||
H8PENABLE .EQU FALSE ; ENABLES HEATH H8 FRONT PANEL
|
||||
;
|
||||
BOOTCON .EQU 0 ; BOOT CONSOLE DEVICE
|
||||
CRTACT .EQU FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
@@ -162,7 +164,7 @@ UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ
|
||||
UARTINTS .EQU FALSE ; UART: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
UARTCFG .EQU DEFSERCFG ; UART: LINE CONFIG FOR UART PORTS
|
||||
UARTCASSPD .EQU SER_300_8N1 ; UART: ECB CASSETTE UART DEFAULT SPEED
|
||||
UARTSBC .EQU FALSE ; UART: AUTO-DETECT SBC/ZETA ONBOARD UART
|
||||
UARTSBC .EQU FALSE ; UART: AUTO-DETECT SBC/ZETA/DUO ONBOARD UART
|
||||
UARTSBCFORCE .EQU FALSE ; UART: FORCE DETECTION OF SBC UART (FOR SIMH)
|
||||
UARTCAS .EQU FALSE ; UART: AUTO-DETECT ECB CASSETTE UART
|
||||
UARTMFP .EQU FALSE ; UART: AUTO-DETECT MF/PIC UART
|
||||
@@ -233,6 +235,7 @@ TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VGASIZ .EQU V80X25 ; VGA: DISPLAY FORMAT [V80X25|V80X30|V80X43]
|
||||
VRCENABLE .EQU FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .EQU FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -294,6 +297,18 @@ SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
SDCSIOFAST .EQU FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE
|
||||
SDMTSWAP .EQU FALSE ; SD: SWAP THE LOGICAL ORDER OF THE SPI PORTS OF THE MT011
|
||||
;
|
||||
CHENABLE .EQU FALSE ; CH: ENABLE CH375/376 USB SUPPORT
|
||||
CHTRACE .EQU 1 ; CH: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
CHUSBTRACE .EQU 1 ; CHUSB: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
CHSDTRACE .EQU 1 ; CHSD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
CHCNT .EQU 1 ; CH: NUMBER OF BOARDS TO DETECT (1-2)
|
||||
CH0BASE .EQU $BE ; CH 0: BASE I/O ADDRESS
|
||||
CH0USBENABLE .EQU TRUE ; CH 0: ENABLE USB DISK
|
||||
CH0SDENABLE .EQU FALSE ; CH 0: ENABLE SD DISK
|
||||
CH1BASE .EQU $FF ; CH 1: BASE I/O ADDRESS
|
||||
CH1USBENABLE .EQU FALSE ; CH 1: ENABLE USB DISK
|
||||
CH1SDENABLE .EQU FALSE ; CH 1: ENABLE SD DISK
|
||||
;
|
||||
PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
|
||||
PRPSDENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER SD CARD SUPPORT
|
||||
PRPSDTRACE .EQU 1 ; PRP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -305,6 +320,9 @@ PPPSDENABLE .EQU TRUE ; PPP: ENABLE PPP DRIVER SD CARD SUPPORT
|
||||
PPPSDTRACE .EQU 1 ; PPP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPPCONENABLE .EQU TRUE ; PPP: ENABLE PPP DRIVER VIDEO/KBD SUPPORT
|
||||
;
|
||||
ESPENABLE .EQU FALSE ; ESP: ENABLE ESP32 IO BOARD DRIVER (ESP.ASM)
|
||||
ESPCONENABLE .EQU TRUE ; ESP: ENABLE ESP32 CONSOLE IO DRIVER VIDEO/KBD SUPPORT
|
||||
;
|
||||
HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM)
|
||||
HDSKTRACE .EQU 1 ; HDSK: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
;
|
||||
@@ -364,7 +382,7 @@ SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM)
|
||||
;
|
||||
DMAENABLE .EQU FALSE ; DMA: ENABLE DMA DRIVER (DMA.ASM)
|
||||
DMABASE .EQU $E0 ; DMA: DMA BASE ADDRESS
|
||||
DMAMODE .EQU DMAMODE_NONE ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC)
|
||||
DMAMODE .EQU DMAMODE_NONE ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC|DUO)
|
||||
;
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER (MUTE STUB)
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76469s/CTC)
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76489s/CTC)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ROMWBW 2.X CONFIGURATION DEFAULTS FOR MBC
|
||||
; ROMWBW 3.X CONFIGURATION DEFAULTS FOR MBC
|
||||
;==================================================================================================
|
||||
;
|
||||
; THIS FILE CONTAINS THE FULL SET OF DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
@@ -15,7 +15,7 @@
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_MBC ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO]
|
||||
PLATFORM .EQU PLT_MBC ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|S100|DUO|HEATH]
|
||||
CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
@@ -34,7 +34,6 @@ DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE .EQU 512 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .EQU 0 ; ROMSIZE VALUE VERIFICATION (0=DISABLED)
|
||||
MEMMGR .EQU MM_MBC ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
MPCL_RAM .EQU $78 ; SBC MEM MGR RAM PAGE SELECT REG (WRITE ONLY)
|
||||
MPCL_ROM .EQU $7C ; SBC MEM MGR ROM PAGE SELECT REG (WRITE ONLY)
|
||||
@@ -54,6 +53,9 @@ CTCPRECH .EQU 2 ; PRESCALE CHANNEL (0-3)
|
||||
CTCTIMCH .EQU 3 ; TIMER CHANNEL (0-3)
|
||||
CTCOSC .EQU (4915200/8) ; CTC CLOCK FREQUENCY
|
||||
;
|
||||
PCFENABLE .EQU FALSE ; ENABLE PCF8584 I2C CONTROLLER
|
||||
PCFBASE .EQU $F0 ; PCF8584 BASE I/O ADDRESS
|
||||
;
|
||||
EIPCENABLE .EQU FALSE ; EIPC: ENABLE Z80 EIPC (Z84C15) INITIALIZATION
|
||||
;
|
||||
SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
@@ -80,6 +82,7 @@ ICMPPIBASE .EQU $60 ; BASE I/O ADDRESS OF ICM PPI
|
||||
PKDENABLE .EQU FALSE ; ENABLES DSKY NG PKD DRIVER (8259)
|
||||
PKDPPIBASE .EQU $60 ; BASE I/O ADDRESS OF PKD PPI
|
||||
PKDOSC .EQU 3000000 ; OSCILLATOR FREQ FOR PKD (IN HZ)
|
||||
H8PENABLE .EQU FALSE ; ENABLES HEATH H8 FRONT PANEL
|
||||
;
|
||||
BOOTCON .EQU 0 ; BOOT CONSOLE DEVICE
|
||||
CRTACT .EQU FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
@@ -120,7 +123,7 @@ UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ
|
||||
UARTINTS .EQU FALSE ; UART: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
UARTCFG .EQU DEFSERCFG ; UART: LINE CONFIG FOR UART PORTS
|
||||
UARTCASSPD .EQU SER_300_8N1 ; UART: ECB CASSETTE UART DEFAULT SPEED
|
||||
UARTSBC .EQU TRUE ; UART: AUTO-DETECT SBC/ZETA ONBOARD UART
|
||||
UARTSBC .EQU TRUE ; UART: AUTO-DETECT SBC/ZETA/DUO ONBOARD UART
|
||||
UARTSBCFORCE .EQU FALSE ; UART: FORCE DETECTION OF SBC UART (FOR SIMH)
|
||||
UARTCAS .EQU FALSE ; UART: AUTO-DETECT ECB CASSETTE UART
|
||||
UARTMFP .EQU FALSE ; UART: AUTO-DETECT MF/PIC UART
|
||||
@@ -161,6 +164,7 @@ TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VGASIZ .EQU V80X25 ; VGA: DISPLAY FORMAT [V80X25|V80X30|V80X43]
|
||||
VRCENABLE .EQU FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .EQU FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -222,6 +226,8 @@ SDCNT .EQU 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
SDCSIOFAST .EQU FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE
|
||||
;
|
||||
CHENABLE .EQU FALSE ; CH: ENABLE CH375/376 USB SUPPORT
|
||||
;
|
||||
PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
|
||||
PRPSDENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER SD CARD SUPPORT
|
||||
PRPSDTRACE .EQU 1 ; PRP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -229,6 +235,9 @@ PRPCONENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER VIDEO/KBD SUPPORT
|
||||
;
|
||||
PPPENABLE .EQU FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM)
|
||||
;
|
||||
ESPENABLE .EQU FALSE ; ESP: ENABLE ESP32 IO BOARD DRIVER (ESP.ASM)
|
||||
ESPCONENABLE .EQU TRUE ; ESP: ENABLE ESP32 CONSOLE IO DRIVER VIDEO/KBD SUPPORT
|
||||
;
|
||||
HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM)
|
||||
HDSKTRACE .EQU 1 ; HDSK: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
;
|
||||
@@ -288,8 +297,7 @@ SPKENABLE .EQU TRUE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM)
|
||||
;
|
||||
DMAENABLE .EQU FALSE ; DMA: ENABLE DMA DRIVER (DMA.ASM)
|
||||
DMABASE .EQU $E0 ; DMA: DMA BASE ADDRESS
|
||||
DMAMODE .EQU DMAMODE_MBC ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC)
|
||||
DMAMODE .EQU DMAMODE_MBC ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC|DUO)
|
||||
;
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER (MUTE STUB)
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76469s/CTC)
|
||||
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76489s/CTC)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ROMWBW 2.X CONFIGURATION FOR MARK IV
|
||||
; ROMWBW 3.X CONFIGURATION FOR MARK IV
|
||||
;==================================================================================================
|
||||
;
|
||||
; THIS FILE CONTAINS THE FULL SET OF DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
@@ -15,7 +15,7 @@
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_MK4 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO]
|
||||
PLATFORM .EQU PLT_MK4 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|S100|DUO|HEATH]
|
||||
CPUFAM .EQU CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
@@ -34,10 +34,8 @@ DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE .EQU 512 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .EQU 0 ; ROMSIZE VALUE VERIFICATION (0=DISABLED)
|
||||
MEMMGR .EQU MM_Z180 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
RAMLOC .EQU 19 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
RAMBIAS .EQU (1 << (RAMLOC - 10)) ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
RAMBIAS .EQU ROMSIZE ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
;
|
||||
Z180_BASE .EQU $40 ; Z180: I/O BASE ADDRESS FOR INTERNAL REGISTERS
|
||||
Z180_CLKDIV .EQU 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2
|
||||
@@ -60,6 +58,9 @@ CTCDEBUG .EQU FALSE ; ENABLE CTC DRIVER DEBUG OUTPUT
|
||||
CTCBASE .EQU $B0 ; CTC BASE I/O ADDRESS
|
||||
CTCTIMER .EQU FALSE ; ENABLE CTC PERIODIC TIMER
|
||||
;
|
||||
PCFENABLE .EQU FALSE ; ENABLE PCF8584 I2C CONTROLLER
|
||||
PCFBASE .EQU $F0 ; PCF8584 BASE I/O ADDRESS
|
||||
;
|
||||
EIPCENABLE .EQU FALSE ; EIPC: ENABLE Z80 EIPC (Z84C15) INITIALIZATION
|
||||
;
|
||||
SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
@@ -86,6 +87,7 @@ ICMPPIBASE .EQU $60 ; BASE I/O ADDRESS OF ICM PPI
|
||||
PKDENABLE .EQU FALSE ; ENABLES DSKY NG PKD DRIVER (8259)
|
||||
PKDPPIBASE .EQU $60 ; BASE I/O ADDRESS OF PKD PPI
|
||||
PKDOSC .EQU 3000000 ; OSCILLATOR FREQ FOR PKD (IN HZ)
|
||||
H8PENABLE .EQU FALSE ; ENABLES HEATH H8 FRONT PANEL
|
||||
;
|
||||
BOOTCON .EQU 0 ; BOOT CONSOLE DEVICE
|
||||
CRTACT .EQU FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
@@ -126,7 +128,7 @@ UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ
|
||||
UARTINTS .EQU FALSE ; UART: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
UARTCFG .EQU DEFSERCFG ; UART: LINE CONFIG FOR UART PORTS
|
||||
UARTCASSPD .EQU SER_300_8N1 ; UART: ECB CASSETTE UART DEFAULT SPEED
|
||||
UARTSBC .EQU FALSE ; UART: AUTO-DETECT SBC/ZETA ONBOARD UART
|
||||
UARTSBC .EQU FALSE ; UART: AUTO-DETECT SBC/ZETA/DUO ONBOARD UART
|
||||
UARTSBCFORCE .EQU FALSE ; UART: FORCE DETECTION OF SBC UART (FOR SIMH)
|
||||
UARTCAS .EQU TRUE ; UART: AUTO-DETECT ECB CASSETTE UART
|
||||
UARTMFP .EQU FALSE ; UART: AUTO-DETECT MF/PIC UART
|
||||
@@ -172,6 +174,7 @@ TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VGASIZ .EQU V80X25 ; VGA: DISPLAY FORMAT [V80X25|V80X30|V80X43]
|
||||
VRCENABLE .EQU FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .EQU FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -232,6 +235,8 @@ SDCNT .EQU 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
SDCSIOFAST .EQU TRUE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE
|
||||
;
|
||||
CHENABLE .EQU FALSE ; CH: ENABLE CH375/376 USB SUPPORT
|
||||
;
|
||||
PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
|
||||
PRPSDENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER SD CARD SUPPORT
|
||||
PRPSDTRACE .EQU 1 ; PRP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -243,6 +248,8 @@ PPPSDENABLE .EQU TRUE ; PPP: ENABLE PPP DRIVER SD CARD SUPPORT
|
||||
PPPSDTRACE .EQU 1 ; PPP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPPCONENABLE .EQU TRUE ; PPP: ENABLE PPP DRIVER VIDEO/KBD SUPPORT
|
||||
;
|
||||
ESPENABLE .EQU FALSE ; ESP: ENABLE ESP32 IO BOARD DRIVER (ESP.ASM)
|
||||
;
|
||||
HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM)
|
||||
;
|
||||
PIOENABLE .EQU FALSE ; PIO: ENABLE ZILOG PIO DRIVER (PIO.ASM)
|
||||
@@ -286,7 +293,7 @@ SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM)
|
||||
;
|
||||
DMAENABLE .EQU FALSE ; DMA: ENABLE DMA DRIVER (DMA.ASM)
|
||||
DMABASE .EQU $E0 ; DMA: DMA BASE ADDRESS
|
||||
DMAMODE .EQU DMAMODE_ECB ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC)
|
||||
DMAMODE .EQU DMAMODE_ECB ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC|DUO)
|
||||
;
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER (MUTE STUB)
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76469s/CTC)
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76489s/CTC)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ROMWBW 2.X CONFIGURATION FOR N8
|
||||
; ROMWBW 3.X CONFIGURATION FOR N8
|
||||
;==================================================================================================
|
||||
;
|
||||
; THIS FILE CONTAINS THE FULL SET OF DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
@@ -15,7 +15,7 @@
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_N8 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO]
|
||||
PLATFORM .EQU PLT_N8 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|S100|DUO|HEATH]
|
||||
CPUFAM .EQU CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
@@ -34,10 +34,8 @@ DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE .EQU 512 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .EQU 0 ; ROMSIZE VALUE VERIFICATION (0=DISABLED)
|
||||
MEMMGR .EQU MM_N8 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
RAMBIAS .EQU 0 ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
RAMLOC .EQU 0 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
;
|
||||
Z180_BASE .EQU $40 ; Z180: I/O BASE ADDRESS FOR INTERNAL REGISTERS
|
||||
Z180_CLKDIV .EQU 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2
|
||||
@@ -62,6 +60,9 @@ CTCDEBUG .EQU FALSE ; ENABLE CTC DRIVER DEBUG OUTPUT
|
||||
CTCBASE .EQU $B0 ; CTC BASE I/O ADDRESS
|
||||
CTCTIMER .EQU FALSE ; ENABLE CTC PERIODIC TIMER
|
||||
;
|
||||
PCFENABLE .EQU FALSE ; ENABLE PCF8584 I2C CONTROLLER
|
||||
PCFBASE .EQU $F0 ; PCF8584 BASE I/O ADDRESS
|
||||
;
|
||||
EIPCENABLE .EQU FALSE ; EIPC: ENABLE Z80 EIPC (Z84C15) INITIALIZATION
|
||||
;
|
||||
SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
@@ -88,6 +89,7 @@ ICMPPIBASE .EQU N8_PPI0 ; BASE I/O ADDRESS OF ICM PPI
|
||||
PKDENABLE .EQU FALSE ; ENABLES DSKY NG PKD DRIVER (8259)
|
||||
PKDPPIBASE .EQU N8_PPI0 ; BASE I/O ADDRESS OF PKD PPI
|
||||
PKDOSC .EQU 3000000 ; OSCILLATOR FREQ FOR PKD (IN HZ)
|
||||
H8PENABLE .EQU FALSE ; ENABLES HEATH H8 FRONT PANEL
|
||||
;
|
||||
BOOTCON .EQU 0 ; BOOT CONSOLE DEVICE
|
||||
CRTACT .EQU FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
@@ -128,7 +130,7 @@ UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ
|
||||
UARTINTS .EQU FALSE ; UART: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
UARTCFG .EQU DEFSERCFG ; UART: LINE CONFIG FOR UART PORTS
|
||||
UARTCASSPD .EQU SER_300_8N1 ; UART: ECB CASSETTE UART DEFAULT SPEED
|
||||
UARTSBC .EQU FALSE ; UART: AUTO-DETECT SBC/ZETA ONBOARD UART
|
||||
UARTSBC .EQU FALSE ; UART: AUTO-DETECT SBC/ZETA/DUO ONBOARD UART
|
||||
UARTSBCFORCE .EQU FALSE ; UART: FORCE DETECTION OF SBC UART (FOR SIMH)
|
||||
UARTCAS .EQU TRUE ; UART: AUTO-DETECT ECB CASSETTE UART
|
||||
UARTMFP .EQU FALSE ; UART: AUTO-DETECT MF/PIC UART
|
||||
@@ -174,6 +176,7 @@ TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VGASIZ .EQU V80X25 ; VGA: DISPLAY FORMAT [V80X25|V80X30|V80X43]
|
||||
VRCENABLE .EQU FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .EQU FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -234,6 +237,8 @@ SDCNT .EQU 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
SDCSIOFAST .EQU FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE
|
||||
;
|
||||
CHENABLE .EQU FALSE ; CH: ENABLE CH375/376 USB SUPPORT
|
||||
;
|
||||
PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
|
||||
PRPSDENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER SD CARD SUPPORT
|
||||
PRPSDTRACE .EQU 1 ; PRP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -241,6 +246,8 @@ PRPCONENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER VIDEO/KBD SUPPORT
|
||||
;
|
||||
PPPENABLE .EQU FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM)
|
||||
;
|
||||
ESPENABLE .EQU FALSE ; ESP: ENABLE ESP32 IO BOARD DRIVER (ESP.ASM)
|
||||
;
|
||||
HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM)
|
||||
;
|
||||
PIOENABLE .EQU FALSE ; PIO: ENABLE ZILOG PIO DRIVER (PIO.ASM)
|
||||
@@ -279,7 +286,7 @@ SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM)
|
||||
;
|
||||
DMAENABLE .EQU FALSE ; DMA: ENABLE DMA DRIVER (DMA.ASM)
|
||||
DMABASE .EQU $E0 ; DMA: DMA BASE ADDRESS
|
||||
DMAMODE .EQU DMAMODE_Z180 ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC)
|
||||
DMAMODE .EQU DMAMODE_Z180 ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC|DUO)
|
||||
;
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER (MUTE STUB)
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76469s/CTC)
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76489s/CTC)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ROMWBW 2.X CONFIGURATION DEFAULTS FOR RCBUS Z180 CPU
|
||||
; ROMWBW 3.X CONFIGURATION DEFAULTS FOR RCBUS Z180 CPU
|
||||
;==================================================================================================
|
||||
;
|
||||
; THIS FILE CONTAINS THE FULL SET OF DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
@@ -15,7 +15,7 @@
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_RCZ180 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO]
|
||||
PLATFORM .EQU PLT_RCZ180 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|S100|DUO|HEATH]
|
||||
CPUFAM .EQU CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
@@ -34,10 +34,8 @@ DEFSERCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE .EQU 512 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .EQU 0 ; ROMSIZE VALUE VERIFICATION (0=DISABLED)
|
||||
MEMMGR .EQU MM_Z180 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
RAMLOC .EQU 19 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
RAMBIAS .EQU (1 << (RAMLOC - 10)) ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
RAMBIAS .EQU ROMSIZE ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
MPGSEL_0 .EQU $78 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_1 .EQU $79 ; Z2 MEM MGR BANK 1 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_2 .EQU $7A ; Z2 MEM MGR BANK 2 PAGE SELECT REG (WRITE ONLY)
|
||||
@@ -60,6 +58,9 @@ CTCDEBUG .EQU FALSE ; ENABLE CTC DRIVER DEBUG OUTPUT
|
||||
CTCBASE .EQU $88 ; CTC BASE I/O ADDRESS
|
||||
CTCTIMER .EQU FALSE ; ENABLE CTC PERIODIC TIMER
|
||||
;
|
||||
PCFENABLE .EQU FALSE ; ENABLE PCF8584 I2C CONTROLLER
|
||||
PCFBASE .EQU $F0 ; PCF8584 BASE I/O ADDRESS
|
||||
;
|
||||
EIPCENABLE .EQU FALSE ; EIPC: ENABLE Z80 EIPC (Z84C15) INITIALIZATION
|
||||
;
|
||||
SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
@@ -85,7 +86,14 @@ LEDMODE .EQU LEDMODE_STD ; LEDMODE_[STD|RTC]
|
||||
LEDPORT .EQU $0E ; STATUS LED PORT ADDRESS
|
||||
LEDDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON STATUS LED
|
||||
;
|
||||
DSKYENABLE .EQU FALSE ; ENABLES DSKY (DO NOT COMBINE WITH PPIDE)
|
||||
DSKYENABLE .EQU FALSE ; ENABLES DSKY FUNCTIONALITY
|
||||
DSKYDSKACT .EQU TRUE ; ENABLES DISK ACTIVITY ON DSKY DISPLAY
|
||||
ICMENABLE .EQU FALSE ; ENABLES ORIGINAL DSKY ICM DRIVER (7218)
|
||||
ICMPPIBASE .EQU $60 ; BASE I/O ADDRESS OF ICM PPI
|
||||
PKDENABLE .EQU FALSE ; ENABLES DSKY NG PKD DRIVER (8259)
|
||||
PKDPPIBASE .EQU $60 ; BASE I/O ADDRESS OF PKD PPI
|
||||
PKDOSC .EQU 3000000 ; OSCILLATOR FREQ FOR PKD (IN HZ)
|
||||
H8PENABLE .EQU FALSE ; ENABLES HEATH H8 FRONT PANEL
|
||||
;
|
||||
BOOTCON .EQU 0 ; BOOT CONSOLE DEVICE
|
||||
CRTACT .EQU FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
@@ -132,7 +140,7 @@ UARTENABLE .EQU TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ
|
||||
UARTINTS .EQU FALSE ; UART: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
UARTCFG .EQU DEFSERCFG | SER_RTS ; UART: LINE CONFIG FOR UART PORTS
|
||||
UARTSBC .EQU FALSE ; UART: AUTO-DETECT SBC/ZETA ONBOARD UART
|
||||
UARTSBC .EQU FALSE ; UART: AUTO-DETECT SBC/ZETA/DUO ONBOARD UART
|
||||
UARTSBCFORCE .EQU FALSE ; UART: FORCE DETECTION OF SBC UART (FOR SIMH)
|
||||
UARTCAS .EQU FALSE ; UART: AUTO-DETECT ECB CASSETTE UART
|
||||
UARTMFP .EQU FALSE ; UART: AUTO-DETECT MF/PIC UART
|
||||
@@ -182,6 +190,7 @@ TMSMODE .EQU TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|MSX|MSX9958|MS
|
||||
TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VRCENABLE .EQU FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .EQU FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -242,6 +251,18 @@ SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
SDCSIOFAST .EQU FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE
|
||||
SDMTSWAP .EQU FALSE ; SD: SWAP THE LOGICAL ORDER OF THE SPI PORTS OF THE MT011
|
||||
;
|
||||
CHENABLE .EQU FALSE ; CH: ENABLE CH375/376 USB SUPPORT
|
||||
CHTRACE .EQU 1 ; CH: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
CHUSBTRACE .EQU 1 ; CHUSB: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
CHSDTRACE .EQU 1 ; CHSD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
CHCNT .EQU 1 ; CH: NUMBER OF BOARDS TO DETECT (1-2)
|
||||
CH0BASE .EQU $BE ; CH 0: BASE I/O ADDRESS
|
||||
CH0USBENABLE .EQU TRUE ; CH 0: ENABLE USB DISK
|
||||
CH0SDENABLE .EQU FALSE ; CH 0: ENABLE SD DISK
|
||||
CH1BASE .EQU $FF ; CH 1: BASE I/O ADDRESS
|
||||
CH1USBENABLE .EQU FALSE ; CH 1: ENABLE USB DISK
|
||||
CH1SDENABLE .EQU FALSE ; CH 1: ENABLE SD DISK
|
||||
;
|
||||
PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
|
||||
PRPSDENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER SD CARD SUPPORT
|
||||
PRPSDTRACE .EQU 1 ; PRP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -249,6 +270,8 @@ PRPCONENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER VIDEO/KBD SUPPORT
|
||||
;
|
||||
PPPENABLE .EQU FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM)
|
||||
;
|
||||
ESPENABLE .EQU FALSE ; ESP: ENABLE ESP32 IO BOARD DRIVER (ESP.ASM)
|
||||
;
|
||||
HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM)
|
||||
;
|
||||
PIOENABLE .EQU FALSE ; PIO: ENABLE ZILOG PIO DRIVER (PIO.ASM)
|
||||
@@ -303,7 +326,7 @@ SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM)
|
||||
;
|
||||
DMAENABLE .EQU FALSE ; DMA: ENABLE DMA DRIVER (DMA.ASM)
|
||||
DMABASE .EQU $E0 ; DMA: DMA BASE ADDRESS
|
||||
DMAMODE .EQU DMAMODE_Z180 ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC)
|
||||
DMAMODE .EQU DMAMODE_Z180 ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC|DUO)
|
||||
;
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER (MUTE STUB)
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76469s/CTC)
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76489s/CTC)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ROMWBW 2.X CONFIGURATION DEFAULTS FOR RCBUS Z280 CPU
|
||||
; ROMWBW 3.X CONFIGURATION DEFAULTS FOR RCBUS Z280 CPU
|
||||
;==================================================================================================
|
||||
;
|
||||
; THIS FILE CONTAINS THE FULL SET OF DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
@@ -15,7 +15,7 @@
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_RCZ280 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO]
|
||||
PLATFORM .EQU PLT_RCZ280 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|S100|DUO|HEATH]
|
||||
CPUFAM .EQU CPU_Z280 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
@@ -34,10 +34,8 @@ DEFSERCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE .EQU 512 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .EQU 0 ; ROMSIZE VALUE VERIFICATION (0=DISABLED)
|
||||
MEMMGR .EQU MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
RAMLOC .EQU 19 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
RAMBIAS .EQU (1 << (RAMLOC - 10)) ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
RAMBIAS .EQU ROMSIZE ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
MPGSEL_0 .EQU $78 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_1 .EQU $79 ; Z2 MEM MGR BANK 1 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_2 .EQU $7A ; Z2 MEM MGR BANK 2 PAGE SELECT REG (WRITE ONLY)
|
||||
@@ -60,6 +58,9 @@ CTCDEBUG .EQU FALSE ; ENABLE CTC DRIVER DEBUG OUTPUT
|
||||
CTCBASE .EQU $88 ; CTC BASE I/O ADDRESS
|
||||
CTCTIMER .EQU FALSE ; ENABLE CTC PERIODIC TIMER
|
||||
;
|
||||
PCFENABLE .EQU FALSE ; ENABLE PCF8584 I2C CONTROLLER
|
||||
PCFBASE .EQU $F0 ; PCF8584 BASE I/O ADDRESS
|
||||
;
|
||||
EIPCENABLE .EQU FALSE ; EIPC: ENABLE Z80 EIPC (Z84C15) INITIALIZATION
|
||||
;
|
||||
SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
@@ -79,7 +80,14 @@ LEDMODE .EQU LEDMODE_STD ; LEDMODE_[STD|RTC]
|
||||
LEDPORT .EQU $0E ; STATUS LED PORT ADDRESS
|
||||
LEDDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON STATUS LED
|
||||
;
|
||||
DSKYENABLE .EQU FALSE ; ENABLES DSKY (DO NOT COMBINE WITH PPIDE)
|
||||
DSKYENABLE .EQU FALSE ; ENABLES DSKY FUNCTIONALITY
|
||||
DSKYDSKACT .EQU TRUE ; ENABLES DISK ACTIVITY ON DSKY DISPLAY
|
||||
ICMENABLE .EQU FALSE ; ENABLES ORIGINAL DSKY ICM DRIVER (7218)
|
||||
ICMPPIBASE .EQU $60 ; BASE I/O ADDRESS OF ICM PPI
|
||||
PKDENABLE .EQU FALSE ; ENABLES DSKY NG PKD DRIVER (8259)
|
||||
PKDPPIBASE .EQU $60 ; BASE I/O ADDRESS OF PKD PPI
|
||||
PKDOSC .EQU 3000000 ; OSCILLATOR FREQ FOR PKD (IN HZ)
|
||||
H8PENABLE .EQU FALSE ; ENABLES HEATH H8 FRONT PANEL
|
||||
;
|
||||
BOOTCON .EQU 0 ; BOOT CONSOLE DEVICE
|
||||
CRTACT .EQU FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
@@ -126,7 +134,7 @@ UARTENABLE .EQU TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ
|
||||
UARTINTS .EQU FALSE ; UART: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
UARTCFG .EQU DEFSERCFG | SER_RTS ; UART: LINE CONFIG FOR UART PORTS
|
||||
UARTSBC .EQU FALSE ; UART: AUTO-DETECT SBC/ZETA ONBOARD UART
|
||||
UARTSBC .EQU FALSE ; UART: AUTO-DETECT SBC/ZETA/DUO ONBOARD UART
|
||||
UARTSBCFORCE .EQU FALSE ; UART: FORCE DETECTION OF SBC UART (FOR SIMH)
|
||||
UARTCAS .EQU FALSE ; UART: AUTO-DETECT ECB CASSETTE UART
|
||||
UARTMFP .EQU FALSE ; UART: AUTO-DETECT MF/PIC UART
|
||||
@@ -186,6 +194,7 @@ TMSMODE .EQU TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|MSX|MSX9958|MS
|
||||
TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VRCENABLE .EQU FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .EQU FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -246,6 +255,18 @@ SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
SDCSIOFAST .EQU FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE
|
||||
SDMTSWAP .EQU FALSE ; SD: SWAP THE LOGICAL ORDER OF THE SPI PORTS OF THE MT011
|
||||
;
|
||||
CHENABLE .EQU FALSE ; CH: ENABLE CH375/376 USB SUPPORT
|
||||
CHTRACE .EQU 1 ; CH: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
CHUSBTRACE .EQU 1 ; CHUSB: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
CHSDTRACE .EQU 1 ; CHSD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
CHCNT .EQU 1 ; CH: NUMBER OF BOARDS TO DETECT (1-2)
|
||||
CH0BASE .EQU $BE ; CH 0: BASE I/O ADDRESS
|
||||
CH0USBENABLE .EQU TRUE ; CH 0: ENABLE USB DISK
|
||||
CH0SDENABLE .EQU FALSE ; CH 0: ENABLE SD DISK
|
||||
CH1BASE .EQU $FF ; CH 1: BASE I/O ADDRESS
|
||||
CH1USBENABLE .EQU FALSE ; CH 1: ENABLE USB DISK
|
||||
CH1SDENABLE .EQU FALSE ; CH 1: ENABLE SD DISK
|
||||
;
|
||||
PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
|
||||
PRPSDENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER SD CARD SUPPORT
|
||||
PRPSDTRACE .EQU 1 ; PRP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -253,6 +274,8 @@ PRPCONENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER VIDEO/KBD SUPPORT
|
||||
;
|
||||
PPPENABLE .EQU FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM)
|
||||
;
|
||||
ESPENABLE .EQU FALSE ; ESP: ENABLE ESP32 IO BOARD DRIVER (ESP.ASM)
|
||||
;
|
||||
HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM)
|
||||
;
|
||||
PIOENABLE .EQU FALSE ; PIO: ENABLE ZILOG PIO DRIVER (PIO.ASM)
|
||||
@@ -307,7 +330,7 @@ SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM)
|
||||
;
|
||||
DMAENABLE .EQU FALSE ; DMA: ENABLE DMA DRIVER (DMA.ASM)
|
||||
DMABASE .EQU $E0 ; DMA: DMA BASE ADDRESS
|
||||
DMAMODE .EQU DMAMODE_Z280 ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC)
|
||||
DMAMODE .EQU DMAMODE_Z280 ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC|DUO)
|
||||
;
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER (MUTE STUB)
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76469s/CTC)
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76489s/CTC)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ROMWBW 2.X CONFIGURATION DEFAULTS FOR RCBUS Z80
|
||||
; ROMWBW 3.X CONFIGURATION DEFAULTS FOR RCBUS Z80
|
||||
;==================================================================================================
|
||||
;
|
||||
; THIS FILE CONTAINS THE FULL SET OF DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
@@ -15,7 +15,7 @@
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_RCZ80 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO]
|
||||
PLATFORM .EQU PLT_RCZ80 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|S100|DUO|HEATH]
|
||||
CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
@@ -34,7 +34,6 @@ DEFSERCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE .EQU 512 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .EQU 0 ; ROMSIZE VALUE VERIFICATION (0=DISABLED)
|
||||
MEMMGR .EQU MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
MPGSEL_0 .EQU $78 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_1 .EQU $79 ; Z2 MEM MGR BANK 1 PAGE SELECT REG (WRITE ONLY)
|
||||
@@ -57,6 +56,9 @@ CTCPRECH .EQU 2 ; PRESCALE CHANNEL (0-3)
|
||||
CTCTIMCH .EQU 3 ; TIMER CHANNEL (0-3)
|
||||
CTCOSC .EQU CPUOSC ; CTC CLOCK FREQUENCY
|
||||
;
|
||||
PCFENABLE .EQU FALSE ; ENABLE PCF8584 I2C CONTROLLER
|
||||
PCFBASE .EQU $F0 ; PCF8584 BASE I/O ADDRESS
|
||||
;
|
||||
EIPCENABLE .EQU FALSE ; EIPC: ENABLE Z80 EIPC (Z84C15) INITIALIZATION
|
||||
;
|
||||
SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
@@ -78,7 +80,14 @@ LEDMODE .EQU LEDMODE_STD ; LEDMODE_[STD|RTC]
|
||||
LEDPORT .EQU $0E ; STATUS LED PORT ADDRESS
|
||||
LEDDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON STATUS LED
|
||||
;
|
||||
DSKYENABLE .EQU FALSE ; ENABLES DSKY (DO NOT COMBINE WITH PPIDE)
|
||||
DSKYENABLE .EQU FALSE ; ENABLES DSKY FUNCTIONALITY
|
||||
DSKYDSKACT .EQU TRUE ; ENABLES DISK ACTIVITY ON DSKY DISPLAY
|
||||
ICMENABLE .EQU FALSE ; ENABLES ORIGINAL DSKY ICM DRIVER (7218)
|
||||
ICMPPIBASE .EQU $60 ; BASE I/O ADDRESS OF ICM PPI
|
||||
PKDENABLE .EQU FALSE ; ENABLES DSKY NG PKD DRIVER (8259)
|
||||
PKDPPIBASE .EQU $60 ; BASE I/O ADDRESS OF PKD PPI
|
||||
PKDOSC .EQU 3000000 ; OSCILLATOR FREQ FOR PKD (IN HZ)
|
||||
H8PENABLE .EQU FALSE ; ENABLES HEATH H8 FRONT PANEL
|
||||
;
|
||||
BOOTCON .EQU 0 ; BOOT CONSOLE DEVICE
|
||||
CRTACT .EQU FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
@@ -125,7 +134,7 @@ UARTENABLE .EQU TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ
|
||||
UARTINTS .EQU FALSE ; UART: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
UARTCFG .EQU DEFSERCFG | SER_RTS ; UART: LINE CONFIG FOR UART PORTS
|
||||
UARTSBC .EQU FALSE ; UART: AUTO-DETECT SBC/ZETA ONBOARD UART
|
||||
UARTSBC .EQU FALSE ; UART: AUTO-DETECT SBC/ZETA/DUO ONBOARD UART
|
||||
UARTSBCFORCE .EQU FALSE ; UART: FORCE DETECTION OF SBC UART (FOR SIMH)
|
||||
UARTCAS .EQU FALSE ; UART: AUTO-DETECT ECB CASSETTE UART
|
||||
UARTMFP .EQU FALSE ; UART: AUTO-DETECT MF/PIC UART
|
||||
@@ -180,6 +189,7 @@ TMSMODE .EQU TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|MSX|MSX9958|MS
|
||||
TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VRCENABLE .EQU FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .EQU FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -240,6 +250,18 @@ SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
SDCSIOFAST .EQU FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE
|
||||
SDMTSWAP .EQU FALSE ; SD: SWAP THE LOGICAL ORDER OF THE SPI PORTS OF THE MT011
|
||||
;
|
||||
CHENABLE .EQU FALSE ; CH: ENABLE CH375/376 USB SUPPORT
|
||||
CHTRACE .EQU 1 ; CH: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
CHUSBTRACE .EQU 1 ; CHUSB: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
CHSDTRACE .EQU 1 ; CHSD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
CHCNT .EQU 1 ; CH: NUMBER OF BOARDS TO DETECT (1-2)
|
||||
CH0BASE .EQU $BE ; CH 0: BASE I/O ADDRESS
|
||||
CH0USBENABLE .EQU TRUE ; CH 0: ENABLE USB DISK
|
||||
CH0SDENABLE .EQU FALSE ; CH 0: ENABLE SD DISK
|
||||
CH1BASE .EQU $FF ; CH 1: BASE I/O ADDRESS
|
||||
CH1USBENABLE .EQU FALSE ; CH 1: ENABLE USB DISK
|
||||
CH1SDENABLE .EQU FALSE ; CH 1: ENABLE SD DISK
|
||||
;
|
||||
PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
|
||||
PRPSDENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER SD CARD SUPPORT
|
||||
PRPSDTRACE .EQU 1 ; PRP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -247,6 +269,8 @@ PRPCONENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER VIDEO/KBD SUPPORT
|
||||
;
|
||||
PPPENABLE .EQU FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM)
|
||||
;
|
||||
ESPENABLE .EQU FALSE ; ESP: ENABLE ESP32 IO BOARD DRIVER (ESP.ASM)
|
||||
;
|
||||
HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM)
|
||||
;
|
||||
PIOENABLE .EQU FALSE ; PIO: ENABLE ZILOG PIO DRIVER (PIO.ASM)
|
||||
@@ -301,7 +325,7 @@ SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM)
|
||||
;
|
||||
DMAENABLE .EQU FALSE ; DMA: ENABLE DMA DRIVER (DMA.ASM)
|
||||
DMABASE .EQU $E0 ; DMA: DMA BASE ADDRESS
|
||||
DMAMODE .EQU DMAMODE_RC ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC)
|
||||
DMAMODE .EQU DMAMODE_RC ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC|DUO)
|
||||
;
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER (MUTE STUB)
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76469s/CTC)
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76489s/CTC)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ROMWBW 2.X CONFIGURATION FOR RHYOPHYRE
|
||||
; ROMWBW 3.X CONFIGURATION FOR RHYOPHYRE
|
||||
;==================================================================================================
|
||||
;
|
||||
; THIS FILE CONTAINS THE FULL SET OF DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
@@ -15,7 +15,7 @@
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_RPH ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO]
|
||||
PLATFORM .EQU PLT_RPH ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|S100|DUO|HEATH]
|
||||
CPUFAM .EQU CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU TRUE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
@@ -34,10 +34,8 @@ DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE .EQU 512 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .EQU 0 ; ROMSIZE VALUE VERIFICATION (0=DISABLED)
|
||||
MEMMGR .EQU MM_RPH ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
RAMBIAS .EQU 0 ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
RAMLOC .EQU 0 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
;
|
||||
Z180_BASE .EQU $40 ; Z180: I/O BASE ADDRESS FOR INTERNAL REGISTERS
|
||||
Z180_CLKDIV .EQU 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2
|
||||
@@ -60,6 +58,9 @@ CTCDEBUG .EQU FALSE ; ENABLE CTC DRIVER DEBUG OUTPUT
|
||||
CTCBASE .EQU $B0 ; CTC BASE I/O ADDRESS
|
||||
CTCTIMER .EQU FALSE ; ENABLE CTC PERIODIC TIMER
|
||||
;
|
||||
PCFENABLE .EQU FALSE ; ENABLE PCF8584 I2C CONTROLLER
|
||||
PCFBASE .EQU $F0 ; PCF8584 BASE I/O ADDRESS
|
||||
;
|
||||
EIPCENABLE .EQU FALSE ; EIPC: ENABLE Z80 EIPC (Z84C15) INITIALIZATION
|
||||
;
|
||||
SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
@@ -84,8 +85,9 @@ DSKYDSKACT .EQU TRUE ; ENABLES DISK ACTIVITY ON DSKY DISPLAY
|
||||
ICMENABLE .EQU FALSE ; ENABLES ORIGINAL DSKY ICM DRIVER (7218)
|
||||
ICMPPIBASE .EQU RPH_PPI0 ; BASE I/O ADDRESS OF ICM PPI
|
||||
PKDENABLE .EQU FALSE ; ENABLES DSKY NG PKD DRIVER (8259)
|
||||
PKDPPIBASE .EQU RPH_PPI0 ; BASE I/O ADDRESS OF PKD PPI
|
||||
PKDPPIBASE .EQU RPH_PPI0 ; BASE I/O ADDRESS OF PKD PPI
|
||||
PKDOSC .EQU 3000000 ; OSCILLATOR FREQ FOR PKD (IN HZ)
|
||||
H8PENABLE .EQU FALSE ; ENABLES HEATH H8 FRONT PANEL
|
||||
;
|
||||
BOOTCON .EQU 0 ; BOOT CONSOLE DEVICE
|
||||
CRTACT .EQU FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
@@ -126,7 +128,7 @@ UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ
|
||||
UARTINTS .EQU FALSE ; UART: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
UARTCFG .EQU DEFSERCFG ; UART: LINE CONFIG FOR UART PORTS
|
||||
UARTCASSPD .EQU SER_300_8N1 ; UART: ECB CASSETTE UART DEFAULT SPEED
|
||||
UARTSBC .EQU FALSE ; UART: AUTO-DETECT SBC/ZETA ONBOARD UART
|
||||
UARTSBC .EQU FALSE ; UART: AUTO-DETECT SBC/ZETA/DUO ONBOARD UART
|
||||
UARTSBCFORCE .EQU FALSE ; UART: FORCE DETECTION OF SBC UART (FOR SIMH)
|
||||
UARTCAS .EQU FALSE ; UART: AUTO-DETECT ECB CASSETTE UART
|
||||
UARTMFP .EQU FALSE ; UART: AUTO-DETECT MF/PIC UART
|
||||
@@ -163,6 +165,7 @@ TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VGASIZ .EQU V80X25 ; VGA: DISPLAY FORMAT [V80X25|V80X30|V80X43]
|
||||
VRCENABLE .EQU FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .EQU FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -223,6 +226,8 @@ SDCNT .EQU 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
SDCSIOFAST .EQU FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE
|
||||
;
|
||||
CHENABLE .EQU FALSE ; CH: ENABLE CH375/376 USB SUPPORT
|
||||
;
|
||||
PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
|
||||
PRPSDENABLE .EQU FALSE ; PRP: ENABLE PROPIO DRIVER SD CARD SUPPORT
|
||||
PRPSDTRACE .EQU 1 ; PRP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -230,6 +235,8 @@ PRPCONENABLE .EQU FALSE ; PRP: ENABLE PROPIO DRIVER VIDEO/KBD SUPPORT
|
||||
;
|
||||
PPPENABLE .EQU FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM)
|
||||
;
|
||||
ESPENABLE .EQU FALSE ; ESP: ENABLE ESP32 IO BOARD DRIVER (ESP.ASM)
|
||||
;
|
||||
HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM)
|
||||
;
|
||||
PIOENABLE .EQU FALSE ; PIO: ENABLE ZILOG PIO DRIVER (PIO.ASM)
|
||||
@@ -250,7 +257,7 @@ PIO4BASE .EQU $90 ; PIO: PIO REGISTERS BASE ADR FOR ECB 4P BOARD
|
||||
PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
PIOZBASE .EQU $88 ; PIO: PIO REGISTERS BASE ADR FOR ECB ZP BOARD
|
||||
PIO_SBC .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
PIOSBASE .EQU RPH_PPI0 ; PIO: PIO REGISTERS BASE ADR FOR SBC PPI
|
||||
PIOSBASE .EQU RPH_PPI0 ; PIO: PIO REGISTERS BASE ADR FOR SBC PPI
|
||||
;
|
||||
UFENABLE .EQU FALSE ; UF: ENABLE ECB USB FIFO DRIVER (UF.ASM)
|
||||
FIFO_BASE .EQU $0C ; UF: REGISTERS BASE ADR
|
||||
@@ -268,7 +275,7 @@ SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM)
|
||||
;
|
||||
DMAENABLE .EQU FALSE ; DMA: ENABLE DMA DRIVER (DMA.ASM)
|
||||
DMABASE .EQU $E0 ; DMA: DMA BASE ADDRESS
|
||||
DMAMODE .EQU DMAMODE_Z180 ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC)
|
||||
DMAMODE .EQU DMAMODE_Z180 ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC|DUO)
|
||||
;
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER (MUTE STUB)
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76469s/CTC)
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76489s/CTC)
|
||||
|
||||
316
Source/HBIOS/cfg_s100.asm
Normal file
316
Source/HBIOS/cfg_s100.asm
Normal file
@@ -0,0 +1,316 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ROMWBW 3.X CONFIGURATION DEFAULTS FOR S100 Z180
|
||||
;==================================================================================================
|
||||
;
|
||||
; THIS FILE CONTAINS THE FULL SET OF DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
; INDICATED ABOVE. THIS FILE SHOULD *NOT* NORMALLY BE CHANGED. INSTEAD, YOU SHOULD
|
||||
; OVERRIDE ANY SETTINGS YOU WANT USING A CONFIGURATION FILE IN THE CONFIG DIRECTORY
|
||||
; UNDER THIS DIRECTORY.
|
||||
;
|
||||
; THIS FILE CAN BE CONSIDERED A REFERENCE THAT LISTS ALL POSSIBLE CONFIGURATION SETTINGS
|
||||
; FOR THE PLATFORM.
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "S100", " [", CONFIG, "]"
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_S100 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|S100|DUO|HEATH]
|
||||
CPUFAM .EQU CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .EQU FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
USELZSA2 .EQU TRUE ; ENABLE FONT COMPRESSION
|
||||
TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ)
|
||||
;
|
||||
BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
|
||||
BOOT_DELAY .EQU 0 ; FIXED BOOT DELAY IN SECONDS PRIOR TO CONSOLE OUTPUT
|
||||
;
|
||||
CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO
|
||||
CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW
|
||||
CPUOSC .EQU 18432000 ; CPU OSC FREQ IN MHZ
|
||||
INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
|
||||
DEFSERCFG .EQU SER_57600_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE .EQU 512 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
MEMMGR .EQU MM_Z180 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
RAMBIAS .EQU ROMSIZE ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
MPGSEL_0 .EQU $78 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_1 .EQU $79 ; Z2 MEM MGR BANK 1 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_2 .EQU $7A ; Z2 MEM MGR BANK 2 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_3 .EQU $7B ; Z2 MEM MGR BANK 3 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGENA .EQU $7C ; Z2 MEM MGR PAGING ENABLE REGISTER (BIT 0, WRITE ONLY)
|
||||
;
|
||||
Z180_BASE .EQU $C0 ; Z180: I/O BASE ADDRESS FOR INTERNAL REGISTERS
|
||||
Z180_CLKDIV .EQU 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2
|
||||
Z180_MEMWAIT .EQU 1 ; Z180: MEMORY WAIT STATES (0-3)
|
||||
Z180_IOWAIT .EQU 2 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3)
|
||||
Z180_TIMER .EQU TRUE ; Z180: ENABLE Z180 SYSTEM PERIODIC TIMER
|
||||
;
|
||||
RTCIO .EQU $0C ; RTC LATCH REGISTER ADR
|
||||
;
|
||||
KIOENABLE .EQU FALSE ; ENABLE ZILOG KIO SUPPORT
|
||||
KIOBASE .EQU $80 ; KIO BASE I/O ADDRESS
|
||||
;
|
||||
CTCENABLE .EQU FALSE ; ENABLE ZILOG CTC SUPPORT
|
||||
CTCDEBUG .EQU FALSE ; ENABLE CTC DRIVER DEBUG OUTPUT
|
||||
CTCBASE .EQU $88 ; CTC BASE I/O ADDRESS
|
||||
CTCTIMER .EQU FALSE ; ENABLE CTC PERIODIC TIMER
|
||||
;
|
||||
PCFENABLE .EQU FALSE ; ENABLE PCF8584 I2C CONTROLLER
|
||||
PCFBASE .EQU $F0 ; PCF8584 BASE I/O ADDRESS
|
||||
;
|
||||
EIPCENABLE .EQU FALSE ; EIPC: ENABLE Z80 EIPC (Z84C15) INITIALIZATION
|
||||
;
|
||||
SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
;
|
||||
WDOGMODE .EQU WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ]
|
||||
;
|
||||
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 TRUE ; ENABLES STATUS LED (SINGLE LED)
|
||||
LEDMODE .EQU LEDMODE_STD ; LEDMODE_[STD|RTC]
|
||||
LEDPORT .EQU $0E ; STATUS LED PORT ADDRESS
|
||||
LEDDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON STATUS LED
|
||||
;
|
||||
DSKYENABLE .EQU FALSE ; ENABLES DSKY FUNCTIONALITY
|
||||
DSKYDSKACT .EQU TRUE ; ENABLES DISK ACTIVITY ON DSKY DISPLAY
|
||||
ICMENABLE .EQU FALSE ; ENABLES ORIGINAL DSKY ICM DRIVER (7218)
|
||||
ICMPPIBASE .EQU $60 ; BASE I/O ADDRESS OF ICM PPI
|
||||
PKDENABLE .EQU FALSE ; ENABLES DSKY NG PKD DRIVER (8259)
|
||||
PKDPPIBASE .EQU $60 ; BASE I/O ADDRESS OF PKD PPI
|
||||
PKDOSC .EQU 3000000 ; OSCILLATOR FREQ FOR PKD (IN HZ)
|
||||
H8PENABLE .EQU FALSE ; ENABLES HEATH H8 FRONT PANEL
|
||||
;
|
||||
BOOTCON .EQU 0 ; BOOT CONSOLE DEVICE
|
||||
CRTACT .EQU FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
VDAEMU .EQU EMUTYP_ANSI ; VDA EMULATION: EMUTYP_[TTY|ANSI]
|
||||
VDAEMU_SERKBD .EQU $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
|
||||
ANSITRACE .EQU 1 ; ANSI DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPKTRACE .EQU 1 ; PPK DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
KBDTRACE .EQU 1 ; KBD DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPKKBLOUT .EQU KBD_US ; PPK KEYBOARD LANGUAGE: KBD_[US|DE]
|
||||
KBDKBLOUT .EQU KBD_US ; KBD KEYBOARD LANGUAGE: KBD_[US|DE]
|
||||
MKYENABLE .EQU FALSE ; MSX 5255 PPI KEYBOARD COMPATIBLE DRIVER (REQUIRES TMS VDA DRIVER)
|
||||
MKYKBLOUT .EQU KBD_US ; KBD KEYBOARD LANGUAGE: KBD_[US|DE]
|
||||
;
|
||||
DSRTCENABLE .EQU TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
|
||||
DSRTCMODE .EQU DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTC_[STD|MFPIC]
|
||||
DSRTCCHG .EQU FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!)
|
||||
;
|
||||
DS1501RTCENABLE .EQU FALSE ; DS1501RTC: ENABLE DS-1501 CLOCK DRIVER (DS1501RTC.ASM)
|
||||
DS1501RTC_BASE .EQU $50 ; DS1501RTC: I/O BASE ADDRESS
|
||||
;
|
||||
BQRTCENABLE .EQU FALSE ; BQRTC: ENABLE BQ4845 CLOCK DRIVER (BQRTC.ASM)
|
||||
BQRTC_BASE .EQU $50 ; BQRTC: I/O BASE ADDRESS
|
||||
;
|
||||
INTRTCENABLE .EQU FALSE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
|
||||
;
|
||||
RP5RTCENABLE .EQU FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
|
||||
;
|
||||
HTIMENABLE .EQU FALSE ; ENABLE SIMH TIMER SUPPORT
|
||||
SIMRTCENABLE .EQU FALSE ; ENABLE SIMH CLOCK DRIVER (SIMRTC.ASM)
|
||||
;
|
||||
DS7RTCENABLE .EQU FALSE ; DS7RTC: ENABLE DS-1307 I2C CLOCK DRIVER (DS7RTC.ASM)
|
||||
DS7RTCMODE .EQU DS7RTCMODE_PCF ; DS7RTC: OPERATING MODE: DS7RTC_[PCF]
|
||||
;
|
||||
DUARTENABLE .EQU FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
DUARTCNT .EQU 1 ; DUART: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
DUART0BASE .EQU $A0 ; DUART 0: BASE ADDRESS OF CHIP
|
||||
DUART0ACFG .EQU DEFSERCFG ; DUART 0A: SERIAL LINE CONFIG
|
||||
DUART0BCFG .EQU DEFSERCFG ; DUART 0B: SERIAL LINE CONFIG
|
||||
DUART1BASE .EQU $40 ; DUART 1: BASE ADDRESS OF CHIP
|
||||
DUART1ACFG .EQU DEFSERCFG ; DUART 1A: SERIAL LINE CONFIG
|
||||
DUART1BCFG .EQU DEFSERCFG ; DUART 1B: SERIAL LINE CONFIG
|
||||
;
|
||||
UARTENABLE .EQU FALSE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ
|
||||
UARTINTS .EQU FALSE ; UART: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
UARTCFG .EQU DEFSERCFG | SER_RTS ; UART: LINE CONFIG FOR UART PORTS
|
||||
UARTSBC .EQU FALSE ; UART: AUTO-DETECT SBC/ZETA/DUO ONBOARD UART
|
||||
UARTSBCFORCE .EQU FALSE ; UART: FORCE DETECTION OF SBC UART (FOR SIMH)
|
||||
UARTCAS .EQU FALSE ; UART: AUTO-DETECT ECB CASSETTE UART
|
||||
UARTMFP .EQU FALSE ; UART: AUTO-DETECT MF/PIC UART
|
||||
UART4 .EQU FALSE ; UART: AUTO-DETECT 4UART UART
|
||||
UARTRC .EQU TRUE ; UART: AUTO-DETECT RC UART
|
||||
UARTDUAL .EQU FALSE ; UART: AUTO-DETECT DUAL UART
|
||||
;
|
||||
ASCIENABLE .EQU TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
|
||||
ASCIINTS .EQU TRUE ; ASCI: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
ASCISWAP .EQU FALSE ; ASCI: SWAP CHANNELS
|
||||
ASCIBOOT .EQU 0 ; ASCI: REBOOT ON RCV CHAR (0=DISABLED)
|
||||
ASCI0CFG .EQU DEFSERCFG ; ASCI 0: SERIAL LINE CONFIG
|
||||
ASCI1CFG .EQU DEFSERCFG ; ASCI 1: SERIAL LINE CONFIG
|
||||
;
|
||||
Z2UENABLE .EQU FALSE ; Z2U: ENABLE Z280 UART SERIAL DRIVER (Z2U.ASM)
|
||||
;
|
||||
ACIAENABLE .EQU FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
|
||||
;
|
||||
SIOENABLE .EQU FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
|
||||
SIODEBUG .EQU FALSE ; SIO: ENABLE DEBUG OUTPUT
|
||||
SIOBOOT .EQU 0 ; SIO: REBOOT ON RCV CHAR (0=DISABLED)
|
||||
SIOCNT .EQU 2 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
|
||||
SIO0MODE .EQU SIOMODE_RC ; SIO 0: CHIP TYPE: SIOMODE_[STD|RC|SMB|ZP|Z80R]
|
||||
SIO0BASE .EQU $80 ; SIO 0: REGISTERS BASE ADR
|
||||
SIO0ACLK .EQU 7372800 ; SIO 0A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
|
||||
SIO0ACFG .EQU SER_115200_8N1 ; SIO 0A: SERIAL LINE CONFIG
|
||||
SIO0ACTCC .EQU -1 ; SIO 0A: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
SIO0BCLK .EQU 7372800 ; SIO 0B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
|
||||
SIO0BCFG .EQU SER_115200_8N1 ; SIO 0B: SERIAL LINE CONFIG
|
||||
SIO0BCTCC .EQU -1 ; SIO 0B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
SIO1MODE .EQU SIOMODE_RC ; SIO 1: CHIP TYPE: SIOMODE_[STD|RC|SMB|ZP|Z80R]
|
||||
SIO1BASE .EQU $84 ; SIO 1: REGISTERS BASE ADR
|
||||
SIO1ACLK .EQU 7372800 ; SIO 1A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
|
||||
SIO1ACFG .EQU SER_115200_8N1 ; SIO 1A: SERIAL LINE CONFIG
|
||||
SIO1ACTCC .EQU -1 ; SIO 1A: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
SIO1BCLK .EQU 7372800 ; SIO 1B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
|
||||
SIO1BCFG .EQU SER_115200_8N1 ; SIO 1B: SERIAL LINE CONFIG
|
||||
SIO1BCTCC .EQU -1 ; SIO 1B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
;
|
||||
XIOCFG .EQU DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .EQU FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
GDCENABLE .EQU FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.ASM)
|
||||
TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .EQU TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|MSX|MSX9958|MSXKBD|COLECO]
|
||||
TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VRCENABLE .EQU FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .EQU FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
MDRAM .EQU TRUE ; MD: ENABLE RAM DISK
|
||||
MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
MDFFENABLE .EQU FALSE ; MD: ENABLE FLASH FILE SYSTEM
|
||||
;
|
||||
FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .EQU FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
|
||||
FDCNT .EQU 2 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2)
|
||||
FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL)
|
||||
FDMAUTO .EQU TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS
|
||||
FD0TYPE .EQU FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
FD1TYPE .EQU FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
;
|
||||
RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER
|
||||
;
|
||||
IDEENABLE .EQU FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
IDETRACE .EQU 1 ; IDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
IDECNT .EQU 1 ; IDE: NUMBER OF IDE INTERFACES TO DETECT (1-3), 2 DRIVES EACH
|
||||
IDE0MODE .EQU IDEMODE_RC ; IDE 0: DRIVER MODE: IDEMODE_[DIO|DIDE|MK4|RC]
|
||||
IDE0BASE .EQU $10 ; IDE 0: IO BASE ADDRESS
|
||||
IDE0DATLO .EQU $00 ; IDE 0: DATA LO PORT FOR 16-BIT I/O
|
||||
IDE0DATHI .EQU $00 ; IDE 0: DATA HI PORT FOR 16-BIT I/O
|
||||
IDE0A8BIT .EQU TRUE ; IDE 0A (MASTER): 8 BIT XFER
|
||||
IDE0B8BIT .EQU TRUE ; IDE 0B (MASTER): 8 BIT XFER
|
||||
IDE1MODE .EQU IDEMODE_NONE ; IDE 1: DRIVER MODE: IDEMODE_[DIO|DIDE|MK4|RC]
|
||||
IDE1BASE .EQU $00 ; IDE 1: IO BASE ADDRESS
|
||||
IDE1DATLO .EQU $00 ; IDE 1: DATA LO PORT FOR 16-BIT I/O
|
||||
IDE1DATHI .EQU $00 ; IDE 1: DATA HI PORT FOR 16-BIT I/O
|
||||
IDE1A8BIT .EQU TRUE ; IDE 1A (MASTER): 8 BIT XFER
|
||||
IDE1B8BIT .EQU TRUE ; IDE 1B (MASTER): 8 BIT XFER
|
||||
IDE2MODE .EQU IDEMODE_NONE ; IDE 2: DRIVER MODE: IDEMODE_[DIO|DIDE|MK4|RC]
|
||||
IDE2BASE .EQU $00 ; IDE 2: IO BASE ADDRESS
|
||||
IDE2DATLO .EQU $00 ; IDE 2: DATA LO PORT FOR 16-BIT I/O
|
||||
IDE2DATHI .EQU $00 ; IDE 2: DATA HI PORT FOR 16-BIT I/O
|
||||
IDE2A8BIT .EQU TRUE ; IDE 2A (MASTER): 8 BIT XFER
|
||||
IDE2B8BIT .EQU TRUE ; IDE 2B (MASTER): 8 BIT XFER
|
||||
;
|
||||
PPIDEENABLE .EQU FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .EQU 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .EQU 1 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0BASE .EQU $20 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .EQU FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .EQU FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1BASE .EQU $00 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .EQU FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .EQU FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2BASE .EQU $00 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .EQU FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .EQU FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
SDENABLE .EQU TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
|
||||
SDMODE .EQU SDMODE_SC ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|PIO|Z80R|USR]
|
||||
SDPPIBASE .EQU $60 ; SD: BASE I/O ADDRESS OF PPI FOR PPI MODDE
|
||||
SDCNT .EQU 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
SDCSIOFAST .EQU FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE
|
||||
SDMTSWAP .EQU FALSE ; SD: SWAP THE LOGICAL ORDER OF THE SPI PORTS OF THE MT011
|
||||
;
|
||||
CHENABLE .EQU FALSE ; CH: ENABLE CH375/376 USB SUPPORT
|
||||
;
|
||||
PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
|
||||
PRPSDENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER SD CARD SUPPORT
|
||||
PRPSDTRACE .EQU 1 ; PRP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PRPCONENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER VIDEO/KBD SUPPORT
|
||||
;
|
||||
PPPENABLE .EQU FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM)
|
||||
;
|
||||
ESPENABLE .EQU FALSE ; ESP: ENABLE ESP32 IO BOARD DRIVER (ESP.ASM)
|
||||
;
|
||||
HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM)
|
||||
;
|
||||
PIOENABLE .EQU FALSE ; PIO: ENABLE ZILOG PIO DRIVER (PIO.ASM)
|
||||
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 FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTMODE .EQU LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|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
|
||||
;
|
||||
PPAENABLE .EQU FALSE ; PPA: ENABLE PPA DISK DRIVER (PPA.ASM)
|
||||
PPACNT .EQU 1 ; PPA: NUMBER OF PPA DEVICES (1-2)
|
||||
PPATRACE .EQU 1 ; PPA: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPAMODE .EQU PPAMODE_MG014 ; PPA: DRIVER MODE: PPAMODE_[NONE|SPP|MG014]
|
||||
PPA0BASE .EQU LPT0BASE ; PPA 0: BASE I/O ADDRESS OF PPI FOR PPA
|
||||
PPA1BASE .EQU LPT1BASE ; PPA 1: BASE I/O ADDRESS OF PPI FOR PPA
|
||||
;
|
||||
IMMENABLE .EQU FALSE ; IMM: ENABLE IMM DISK DRIVER (IMM.ASM)
|
||||
IMMCNT .EQU 1 ; IMM: NUMBER OF IMM DEVICES (1-2)
|
||||
IMMTRACE .EQU 1 ; IMM: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
IMMMODE .EQU IMMMODE_MG014 ; IMM: DRIVER MODE: IMMMODE_[NONE|SPP|MG014]
|
||||
IMM0BASE .EQU LPT0BASE ; IMM 0: BASE I/O ADDRESS OF PPI FOR IMM
|
||||
IMM1BASE .EQU LPT1BASE ; IMM 1: BASE I/O ADDRESS OF PPI FOR IMM
|
||||
;
|
||||
SYQENABLE .EQU FALSE ; SYQ: ENABLE IMM DISK DRIVER (SYQ.ASM)
|
||||
SYQCNT .EQU 1 ; SYQ: NUMBER OF SYQ DEVICES (1-2)
|
||||
SYQTRACE .EQU 1 ; SYQ: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
SYQMODE .EQU IMMMODE_MG014 ; SYQ: DRIVER MODE: SYQMODE_[NONE|SPP|MG014]
|
||||
SYQ0BASE .EQU LPT0BASE ; SYQ 0: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
SYQ1BASE .EQU LPT1BASE ; SYQ 1: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
;
|
||||
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)
|
||||
PIO_SBC .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
;
|
||||
UFENABLE .EQU FALSE ; UF: ENABLE ECB USB FIFO DRIVER (UF.ASM)
|
||||
;
|
||||
SN76489ENABLE .EQU FALSE ; SN: ENABLE SN76489 SOUND DRIVER
|
||||
AUDIOTRACE .EQU FALSE ; ENABLE TRACING TO CONSOLE OF SOUND DRIVER
|
||||
SN7CLK .EQU 3579545 ; SN: PSG CLOCK FREQ, ASSUME MSX STD
|
||||
SNMODE .EQU SNMODE_RC ; SN: DRIVER MODE: SNMODE_[NONE|RC|VGM]
|
||||
;
|
||||
AY38910ENABLE .EQU FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
|
||||
AY_CLK .EQU 1789772 ; AY: PSG CLOCK FREQ, ASSUME MSX STD
|
||||
AYMODE .EQU AYMODE_RCZ180 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC]
|
||||
;
|
||||
SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM)
|
||||
;
|
||||
DMAENABLE .EQU FALSE ; DMA: ENABLE DMA DRIVER (DMA.ASM)
|
||||
DMABASE .EQU $E0 ; DMA: DMA BASE ADDRESS
|
||||
DMAMODE .EQU DMAMODE_Z180 ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC|DUO)
|
||||
;
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76489s/CTC)
|
||||
@@ -1,6 +1,6 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ROMWBW 2.X CONFIGURATION DEFAULTS FOR SBC
|
||||
; ROMWBW 3.X CONFIGURATION DEFAULTS FOR SBC
|
||||
;==================================================================================================
|
||||
;
|
||||
; THIS FILE CONTAINS THE FULL SET OF DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
@@ -15,7 +15,7 @@
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_SBC ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO]
|
||||
PLATFORM .EQU PLT_SBC ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|S100|DUO|HEATH]
|
||||
CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
@@ -34,7 +34,6 @@ DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE .EQU 512 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .EQU 0 ; ROMSIZE VALUE VERIFICATION (0=DISABLED)
|
||||
MEMMGR .EQU MM_SBC ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
MPCL_RAM .EQU $78 ; SBC MEM MGR RAM PAGE SELECT REG (WRITE ONLY)
|
||||
MPCL_ROM .EQU $7C ; SBC MEM MGR ROM PAGE SELECT REG (WRITE ONLY)
|
||||
@@ -54,6 +53,9 @@ CTCPRECH .EQU 2 ; PRESCALE CHANNEL (0-3)
|
||||
CTCTIMCH .EQU 3 ; TIMER CHANNEL (0-3)
|
||||
CTCOSC .EQU 614400 ; CTC CLOCK FREQUENCY
|
||||
;
|
||||
PCFENABLE .EQU FALSE ; ENABLE PCF8584 I2C CONTROLLER
|
||||
PCFBASE .EQU $F0 ; PCF8584 BASE I/O ADDRESS
|
||||
;
|
||||
EIPCENABLE .EQU FALSE ; EIPC: ENABLE Z80 EIPC (Z84C15) INITIALIZATION
|
||||
;
|
||||
SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
@@ -80,6 +82,7 @@ ICMPPIBASE .EQU $60 ; BASE I/O ADDRESS OF ICM PPI
|
||||
PKDENABLE .EQU FALSE ; ENABLES DSKY NG PKD DRIVER (8259)
|
||||
PKDPPIBASE .EQU $60 ; BASE I/O ADDRESS OF PKD PPI
|
||||
PKDOSC .EQU 3000000 ; OSCILLATOR FREQ FOR PKD (IN HZ)
|
||||
H8PENABLE .EQU FALSE ; ENABLES HEATH H8 FRONT PANEL
|
||||
;
|
||||
BOOTCON .EQU 0 ; BOOT CONSOLE DEVICE
|
||||
CRTACT .EQU FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
@@ -120,7 +123,7 @@ UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ
|
||||
UARTINTS .EQU FALSE ; UART: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
UARTCFG .EQU DEFSERCFG ; UART: LINE CONFIG FOR UART PORTS
|
||||
UARTCASSPD .EQU SER_300_8N1 ; UART: ECB CASSETTE UART DEFAULT SPEED
|
||||
UARTSBC .EQU TRUE ; UART: AUTO-DETECT SBC/ZETA ONBOARD UART
|
||||
UARTSBC .EQU TRUE ; UART: AUTO-DETECT SBC/ZETA/DUO ONBOARD UART
|
||||
UARTSBCFORCE .EQU FALSE ; UART: FORCE DETECTION OF SBC UART (FOR SIMH)
|
||||
UARTCAS .EQU TRUE ; UART: AUTO-DETECT ECB CASSETTE UART
|
||||
UARTMFP .EQU TRUE ; UART: AUTO-DETECT MF/PIC UART
|
||||
@@ -161,6 +164,7 @@ TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VGASIZ .EQU V80X25 ; VGA: DISPLAY FORMAT [V80X25|V80X30|V80X43]
|
||||
VRCENABLE .EQU FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .EQU FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -221,6 +225,8 @@ SDCNT .EQU 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
SDCSIOFAST .EQU FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE
|
||||
;
|
||||
CHENABLE .EQU FALSE ; CH: ENABLE CH375/376 USB SUPPORT
|
||||
;
|
||||
PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
|
||||
PRPSDENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER SD CARD SUPPORT
|
||||
PRPSDTRACE .EQU 1 ; PRP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -228,6 +234,8 @@ PRPCONENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER VIDEO/KBD SUPPORT
|
||||
;
|
||||
PPPENABLE .EQU FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM)
|
||||
;
|
||||
ESPENABLE .EQU FALSE ; ESP: ENABLE ESP32 IO BOARD DRIVER (ESP.ASM)
|
||||
;
|
||||
HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM)
|
||||
HDSKTRACE .EQU 1 ; HDSK: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
;
|
||||
@@ -267,7 +275,7 @@ SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM)
|
||||
;
|
||||
DMAENABLE .EQU FALSE ; DMA: ENABLE DMA DRIVER (DMA.ASM)
|
||||
DMABASE .EQU $E0 ; DMA: DMA BASE ADDRESS
|
||||
DMAMODE .EQU DMAMODE_ECB ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC)
|
||||
DMAMODE .EQU DMAMODE_ECB ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC|DUO)
|
||||
;
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER (MUTE STUB)
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76469s/CTC)
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76489s/CTC)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ROMWBW 2.X CONFIGURATION DEFAULTS FOR SC Z180 VARIANTS (SC126, SC130, ETC.)
|
||||
; ROMWBW 3.X CONFIGURATION DEFAULTS FOR SC Z180 VARIANTS (SC126, SC130, ETC.)
|
||||
;==================================================================================================
|
||||
;
|
||||
; THIS FILE CONTAINS THE FULL SET OF DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
@@ -15,7 +15,7 @@
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_SCZ180 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO]
|
||||
PLATFORM .EQU PLT_SCZ180 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|S100|DUO|HEATH]
|
||||
CPUFAM .EQU CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
@@ -34,10 +34,8 @@ DEFSERCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE .EQU 512 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .EQU 0 ; ROMSIZE VALUE VERIFICATION (0=DISABLED)
|
||||
MEMMGR .EQU MM_Z180 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
RAMLOC .EQU 19 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
RAMBIAS .EQU (1 << (RAMLOC - 10)) ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
RAMBIAS .EQU ROMSIZE ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
MPGSEL_0 .EQU $78 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_1 .EQU $79 ; Z2 MEM MGR BANK 1 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_2 .EQU $7A ; Z2 MEM MGR BANK 2 PAGE SELECT REG (WRITE ONLY)
|
||||
@@ -60,6 +58,9 @@ CTCDEBUG .EQU FALSE ; ENABLE CTC DRIVER DEBUG OUTPUT
|
||||
CTCBASE .EQU $88 ; CTC BASE I/O ADDRESS
|
||||
CTCTIMER .EQU FALSE ; ENABLE CTC PERIODIC TIMER
|
||||
;
|
||||
PCFENABLE .EQU FALSE ; ENABLE PCF8584 I2C CONTROLLER
|
||||
PCFBASE .EQU $F0 ; PCF8584 BASE I/O ADDRESS
|
||||
;
|
||||
EIPCENABLE .EQU FALSE ; EIPC: ENABLE Z80 EIPC (Z84C15) INITIALIZATION
|
||||
;
|
||||
SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
@@ -79,7 +80,14 @@ LEDMODE .EQU LEDMODE_STD ; LEDMODE_[STD|RTC]
|
||||
LEDPORT .EQU $0E ; STATUS LED PORT ADDRESS
|
||||
LEDDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON STATUS LED
|
||||
;
|
||||
DSKYENABLE .EQU FALSE ; ENABLES DSKY (DO NOT COMBINE WITH PPIDE)
|
||||
DSKYENABLE .EQU FALSE ; ENABLES DSKY FUNCTIONALITY
|
||||
DSKYDSKACT .EQU TRUE ; ENABLES DISK ACTIVITY ON DSKY DISPLAY
|
||||
ICMENABLE .EQU FALSE ; ENABLES ORIGINAL DSKY ICM DRIVER (7218)
|
||||
ICMPPIBASE .EQU $60 ; BASE I/O ADDRESS OF ICM PPI
|
||||
PKDENABLE .EQU FALSE ; ENABLES DSKY NG PKD DRIVER (8259)
|
||||
PKDPPIBASE .EQU $60 ; BASE I/O ADDRESS OF PKD PPI
|
||||
PKDOSC .EQU 3000000 ; OSCILLATOR FREQ FOR PKD (IN HZ)
|
||||
H8PENABLE .EQU FALSE ; ENABLES HEATH H8 FRONT PANEL
|
||||
;
|
||||
BOOTCON .EQU 0 ; BOOT CONSOLE DEVICE
|
||||
CRTACT .EQU FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
@@ -126,7 +134,7 @@ UARTENABLE .EQU TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ
|
||||
UARTINTS .EQU FALSE ; UART: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
UARTCFG .EQU DEFSERCFG | SER_RTS ; UART: LINE CONFIG FOR UART PORTS
|
||||
UARTSBC .EQU FALSE ; UART: AUTO-DETECT SBC/ZETA ONBOARD UART
|
||||
UARTSBC .EQU FALSE ; UART: AUTO-DETECT SBC/ZETA/DUO ONBOARD UART
|
||||
UARTSBCFORCE .EQU FALSE ; UART: FORCE DETECTION OF SBC UART (FOR SIMH)
|
||||
UARTCAS .EQU FALSE ; UART: AUTO-DETECT ECB CASSETTE UART
|
||||
UARTMFP .EQU FALSE ; UART: AUTO-DETECT MF/PIC UART
|
||||
@@ -176,6 +184,7 @@ TMSMODE .EQU TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|MSX|MSX9958|MS
|
||||
TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VRCENABLE .EQU FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .EQU FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -236,6 +245,18 @@ SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
SDCSIOFAST .EQU FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE
|
||||
SDMTSWAP .EQU FALSE ; SD: SWAP THE LOGICAL ORDER OF THE SPI PORTS OF THE MT011
|
||||
;
|
||||
CHENABLE .EQU FALSE ; CH: ENABLE CH375/376 USB SUPPORT
|
||||
CHTRACE .EQU 1 ; CH: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
CHUSBTRACE .EQU 1 ; CHUSB: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
CHSDTRACE .EQU 1 ; CHSD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
CHCNT .EQU 1 ; CH: NUMBER OF BOARDS TO DETECT (1-2)
|
||||
CH0BASE .EQU $BE ; CH 0: BASE I/O ADDRESS
|
||||
CH0USBENABLE .EQU TRUE ; CH 0: ENABLE USB DISK
|
||||
CH0SDENABLE .EQU FALSE ; CH 0: ENABLE SD DISK
|
||||
CH1BASE .EQU $FF ; CH 1: BASE I/O ADDRESS
|
||||
CH1USBENABLE .EQU FALSE ; CH 1: ENABLE USB DISK
|
||||
CH1SDENABLE .EQU FALSE ; CH 1: ENABLE SD DISK
|
||||
;
|
||||
PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
|
||||
PRPSDENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER SD CARD SUPPORT
|
||||
PRPSDTRACE .EQU 1 ; PRP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -243,6 +264,8 @@ PRPCONENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER VIDEO/KBD SUPPORT
|
||||
;
|
||||
PPPENABLE .EQU FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM)
|
||||
;
|
||||
ESPENABLE .EQU FALSE ; ESP: ENABLE ESP32 IO BOARD DRIVER (ESP.ASM)
|
||||
;
|
||||
HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM)
|
||||
;
|
||||
PIOENABLE .EQU FALSE ; PIO: ENABLE ZILOG PIO DRIVER (PIO.ASM)
|
||||
@@ -297,7 +320,7 @@ SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM)
|
||||
;
|
||||
DMAENABLE .EQU FALSE ; DMA: ENABLE DMA DRIVER (DMA.ASM)
|
||||
DMABASE .EQU $E0 ; DMA: DMA BASE ADDRESS
|
||||
DMAMODE .EQU DMAMODE_Z180 ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC)
|
||||
DMAMODE .EQU DMAMODE_Z180 ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC|DUO)
|
||||
;
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER (MUTE STUB)
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76469s/CTC)
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76489s/CTC)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ROMWBW 2.X CONFIGURATION DEFAULTS FOR UNA
|
||||
; ROMWBW 3.X CONFIGURATION DEFAULTS FOR UNA
|
||||
;==================================================================================================
|
||||
;
|
||||
; THIS FILE CONTAINS THE FULL SET OF DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
@@ -15,7 +15,7 @@
|
||||
;
|
||||
#INCLUDE "../UBIOS/ubios.inc"
|
||||
;
|
||||
;PLATFORM .EQU PLT_UNA ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO]
|
||||
;PLATFORM .EQU PLT_UNA ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|S100|DUO|HEATH]
|
||||
CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_UNA ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ROMWBW 2.X CONFIGURATION DEFAULTS FOR SIMPLE Z80 RETRO
|
||||
; ROMWBW 3.X CONFIGURATION DEFAULTS FOR SIMPLE Z80 RETRO
|
||||
;==================================================================================================
|
||||
;
|
||||
; THIS FILE CONTAINS THE FULL SET OF DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
@@ -15,7 +15,7 @@
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_Z80RETRO ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO]
|
||||
PLATFORM .EQU PLT_Z80RETRO ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|S100|DUO|HEATH]
|
||||
CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
@@ -34,7 +34,6 @@ DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE .EQU 512 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .EQU 0 ; ROMSIZE VALUE VERIFICATION (0=DISABLED)
|
||||
MEMMGR .EQU MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
MPGSEL_0 .EQU $60 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_1 .EQU $61 ; Z2 MEM MGR BANK 1 PAGE SELECT REG (WRITE ONLY)
|
||||
@@ -57,6 +56,9 @@ CTCPRECH .EQU 0 ; PRESCALE CHANNEL (0-3)
|
||||
CTCTIMCH .EQU 1 ; TIMER CHANNEL (0-3)
|
||||
CTCOSC .EQU 7372800 ; CTC CLOCK FREQUENCY
|
||||
;
|
||||
PCFENABLE .EQU FALSE ; ENABLE PCF8584 I2C CONTROLLER
|
||||
PCFBASE .EQU $F0 ; PCF8584 BASE I/O ADDRESS
|
||||
;
|
||||
EIPCENABLE .EQU FALSE ; EIPC: ENABLE Z80 EIPC (Z84C15) INITIALIZATION
|
||||
;
|
||||
SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
@@ -83,6 +85,7 @@ ICMPPIBASE .EQU $60 ; BASE I/O ADDRESS OF ICM PPI
|
||||
PKDENABLE .EQU FALSE ; ENABLES DSKY NG PKD DRIVER (8259)
|
||||
PKDPPIBASE .EQU $60 ; BASE I/O ADDRESS OF PKD PPI
|
||||
PKDOSC .EQU 3000000 ; OSCILLATOR FREQ FOR PKD (IN HZ)
|
||||
H8PENABLE .EQU FALSE ; ENABLES HEATH H8 FRONT PANEL
|
||||
;
|
||||
BOOTCON .EQU 0 ; BOOT CONSOLE DEVICE
|
||||
CRTACT .EQU FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
@@ -118,7 +121,7 @@ UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ
|
||||
UARTINTS .EQU FALSE ; UART: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
UARTCFG .EQU DEFSERCFG ; UART: LINE CONFIG FOR UART PORTS
|
||||
UARTCASSPD .EQU SER_300_8N1 ; UART: ECB CASSETTE UART DEFAULT SPEED
|
||||
UARTSBC .EQU TRUE ; UART: AUTO-DETECT SBC/ZETA ONBOARD UART
|
||||
UARTSBC .EQU TRUE ; UART: AUTO-DETECT SBC/ZETA/DUO ONBOARD UART
|
||||
UARTSBCFORCE .EQU FALSE ; UART: FORCE DETECTION OF SBC UART (FOR SIMH)
|
||||
UARTCAS .EQU FALSE ; UART: AUTO-DETECT ECB CASSETTE UART
|
||||
UARTMFP .EQU FALSE ; UART: AUTO-DETECT MF/PIC UART
|
||||
@@ -163,6 +166,7 @@ TMSMODE .EQU TMSMODE_NONE ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|MSX|MSX9958|M
|
||||
TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VRCENABLE .EQU FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .EQU FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -195,6 +199,8 @@ SDCNT .EQU 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
SDCSIOFAST .EQU FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE
|
||||
;
|
||||
CHENABLE .EQU FALSE ; CH: ENABLE CH375/376 USB SUPPORT
|
||||
;
|
||||
PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
|
||||
;
|
||||
PPPENABLE .EQU FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM)
|
||||
@@ -203,6 +209,8 @@ PPPSDENABLE .EQU TRUE ; PPP: ENABLE PPP DRIVER SD CARD SUPPORT
|
||||
PPPSDTRACE .EQU 1 ; PPP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPPCONENABLE .EQU TRUE ; PPP: ENABLE PPP DRIVER VIDEO/KBD SUPPORT
|
||||
;
|
||||
ESPENABLE .EQU FALSE ; ESP: ENABLE ESP32 IO BOARD DRIVER (ESP.ASM)
|
||||
;
|
||||
HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM)
|
||||
;
|
||||
PIOENABLE .EQU FALSE ; PIO: ENABLE ZILOG PIO DRIVER (PIO.ASM)
|
||||
@@ -228,7 +236,7 @@ SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM)
|
||||
;
|
||||
DMAENABLE .EQU FALSE ; DMA: ENABLE DMA DRIVER (DMA.ASM)
|
||||
DMABASE .EQU $E0 ; DMA: DMA BASE ADDRESS
|
||||
DMAMODE .EQU DMAMODE_NONE ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC)
|
||||
DMAMODE .EQU DMAMODE_NONE ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC|DUO)
|
||||
;
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER (MUTE STUB)
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76469s/CTC)
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76489s/CTC)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ROMWBW 2.X CONFIGURATION DEFAULTS FOR ZETA V1
|
||||
; ROMWBW 3.X CONFIGURATION DEFAULTS FOR ZETA V1
|
||||
;==================================================================================================
|
||||
;
|
||||
; THIS FILE CONTAINS THE FULL SET OF DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
@@ -15,7 +15,7 @@
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_ZETA ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO]
|
||||
PLATFORM .EQU PLT_ZETA ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|S100|DUO|HEATH]
|
||||
CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; BIOS_[WBW|UNA]: HARDWARE BIOS
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
@@ -34,7 +34,6 @@ DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE .EQU 512 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .EQU 0 ; ROMSIZE VALUE VERIFICATION (0=DISABLED)
|
||||
MEMMGR .EQU MM_SBC ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
MPCL_RAM .EQU $78 ; SBC MEM MGR RAM PAGE SELECT REG (WRITE ONLY)
|
||||
MPCL_ROM .EQU $7C ; SBC MEM MGR ROM PAGE SELECT REG (WRITE ONLY)
|
||||
@@ -46,6 +45,9 @@ KIOBASE .EQU $80 ; KIO BASE I/O ADDRESS
|
||||
;
|
||||
CTCENABLE .EQU FALSE ; ENABLE ZILOG CTC SUPPORT
|
||||
;
|
||||
PCFENABLE .EQU FALSE ; ENABLE PCF8584 I2C CONTROLLER
|
||||
PCFBASE .EQU $F0 ; PCF8584 BASE I/O ADDRESS
|
||||
;
|
||||
EIPCENABLE .EQU FALSE ; EIPC: ENABLE Z80 EIPC (Z84C15) INITIALIZATION
|
||||
;
|
||||
SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
@@ -72,6 +74,7 @@ ICMPPIBASE .EQU $60 ; BASE I/O ADDRESS OF ICM PPI
|
||||
PKDENABLE .EQU FALSE ; ENABLES DSKY NG PKD DRIVER (8259)
|
||||
PKDPPIBASE .EQU $60 ; BASE I/O ADDRESS OF PKD PPI
|
||||
PKDOSC .EQU 3000000 ; OSCILLATOR FREQ FOR PKD (IN HZ)
|
||||
H8PENABLE .EQU FALSE ; ENABLES HEATH H8 FRONT PANEL
|
||||
;
|
||||
BOOTCON .EQU 0 ; BOOT CONSOLE DEVICE
|
||||
CRTACT .EQU FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
@@ -133,6 +136,7 @@ TMSMODE .EQU TMSMODE_NONE ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|MSX|MSX9958|M
|
||||
TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VRCENABLE .EQU FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .EQU FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -166,6 +170,8 @@ SDCNT .EQU 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
SDCSIOFAST .EQU FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE
|
||||
;
|
||||
CHENABLE .EQU FALSE ; CH: ENABLE CH375/376 USB SUPPORT
|
||||
;
|
||||
PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
|
||||
;
|
||||
PPPENABLE .EQU FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM)
|
||||
@@ -174,6 +180,8 @@ PPPSDENABLE .EQU TRUE ; PPP: ENABLE PPP DRIVER SD CARD SUPPORT
|
||||
PPPSDTRACE .EQU 1 ; PPP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPPCONENABLE .EQU TRUE ; PPP: ENABLE PPP DRIVER VIDEO/KBD SUPPORT
|
||||
;
|
||||
ESPENABLE .EQU FALSE ; ESP: ENABLE ESP32 IO BOARD DRIVER (ESP.ASM)
|
||||
;
|
||||
HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM)
|
||||
;
|
||||
PIOENABLE .EQU FALSE ; PIO: ENABLE ZILOG PIO DRIVER (PIO.ASM)
|
||||
@@ -199,7 +207,7 @@ SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM)
|
||||
;
|
||||
DMAENABLE .EQU FALSE ; DMA: ENABLE DMA DRIVER (DMA.ASM)
|
||||
DMABASE .EQU $E0 ; DMA: DMA BASE ADDRESS
|
||||
DMAMODE .EQU DMAMODE_NONE ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC)
|
||||
DMAMODE .EQU DMAMODE_NONE ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC|DUO)
|
||||
;
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER (MUTE STUB)
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76469s/CTC)
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76489s/CTC)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ROMWBW 2.X CONFIGURATION DEFAULTS FOR ZETA V2
|
||||
; ROMWBW 3.X CONFIGURATION DEFAULTS FOR ZETA V2
|
||||
;==================================================================================================
|
||||
;
|
||||
; THIS FILE CONTAINS THE FULL SET OF DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
@@ -15,7 +15,7 @@
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_ZETA2 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO]
|
||||
PLATFORM .EQU PLT_ZETA2 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|S100|DUO|HEATH]
|
||||
CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
@@ -34,7 +34,6 @@ DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE .EQU 512 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .EQU 0 ; ROMSIZE VALUE VERIFICATION (0=DISABLED)
|
||||
MEMMGR .EQU MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
MPGSEL_0 .EQU $78 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_1 .EQU $79 ; Z2 MEM MGR BANK 1 PAGE SELECT REG (WRITE ONLY)
|
||||
@@ -57,6 +56,9 @@ CTCPRECH .EQU 0 ; PRESCALE CHANNEL (0-3)
|
||||
CTCTIMCH .EQU 1 ; TIMER CHANNEL (0-3)
|
||||
CTCOSC .EQU 921600 ; CTC CLOCK FREQUENCY
|
||||
;
|
||||
PCFENABLE .EQU FALSE ; ENABLE PCF8584 I2C CONTROLLER
|
||||
PCFBASE .EQU $F0 ; PCF8584 BASE I/O ADDRESS
|
||||
;
|
||||
EIPCENABLE .EQU FALSE ; EIPC: ENABLE Z80 EIPC (Z84C15) INITIALIZATION
|
||||
;
|
||||
SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
@@ -83,6 +85,7 @@ ICMPPIBASE .EQU $60 ; BASE I/O ADDRESS OF ICM PPI
|
||||
PKDENABLE .EQU FALSE ; ENABLES DSKY NG PKD DRIVER (8259)
|
||||
PKDPPIBASE .EQU $60 ; BASE I/O ADDRESS OF PKD PPI
|
||||
PKDOSC .EQU 3000000 ; OSCILLATOR FREQ FOR PKD (IN HZ)
|
||||
H8PENABLE .EQU FALSE ; ENABLES HEATH H8 FRONT PANEL
|
||||
;
|
||||
BOOTCON .EQU 0 ; BOOT CONSOLE DEVICE
|
||||
CRTACT .EQU FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
@@ -118,7 +121,7 @@ UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ
|
||||
UARTINTS .EQU FALSE ; UART: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
UARTCFG .EQU DEFSERCFG ; UART: LINE CONFIG FOR UART PORTS
|
||||
UARTCASSPD .EQU SER_300_8N1 ; UART: ECB CASSETTE UART DEFAULT SPEED
|
||||
UARTSBC .EQU TRUE ; UART: AUTO-DETECT SBC/ZETA ONBOARD UART
|
||||
UARTSBC .EQU TRUE ; UART: AUTO-DETECT SBC/ZETA/DUO ONBOARD UART
|
||||
UARTSBCFORCE .EQU FALSE ; UART: FORCE DETECTION OF SBC UART (FOR SIMH)
|
||||
UARTCAS .EQU FALSE ; UART: AUTO-DETECT ECB CASSETTE UART
|
||||
UARTMFP .EQU FALSE ; UART: AUTO-DETECT MF/PIC UART
|
||||
@@ -144,6 +147,7 @@ TMSMODE .EQU TMSMODE_NONE ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|MSX|MSX9958|M
|
||||
TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VRCENABLE .EQU FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .EQU FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -177,6 +181,8 @@ SDCNT .EQU 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
SDCSIOFAST .EQU FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE
|
||||
;
|
||||
CHENABLE .EQU FALSE ; CH: ENABLE CH375/376 USB SUPPORT
|
||||
;
|
||||
PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
|
||||
;
|
||||
PPPENABLE .EQU FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM)
|
||||
@@ -185,6 +191,8 @@ PPPSDENABLE .EQU TRUE ; PPP: ENABLE PPP DRIVER SD CARD SUPPORT
|
||||
PPPSDTRACE .EQU 1 ; PPP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPPCONENABLE .EQU TRUE ; PPP: ENABLE PPP DRIVER VIDEO/KBD SUPPORT
|
||||
;
|
||||
ESPENABLE .EQU FALSE ; ESP: ENABLE ESP32 IO BOARD DRIVER (ESP.ASM)
|
||||
;
|
||||
HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM)
|
||||
;
|
||||
PIOENABLE .EQU FALSE ; PIO: ENABLE ZILOG PIO DRIVER (PIO.ASM)
|
||||
@@ -210,7 +218,7 @@ SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM)
|
||||
;
|
||||
DMAENABLE .EQU FALSE ; DMA: ENABLE DMA DRIVER (DMA.ASM)
|
||||
DMABASE .EQU $E0 ; DMA: DMA BASE ADDRESS
|
||||
DMAMODE .EQU DMAMODE_NONE ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC)
|
||||
DMAMODE .EQU DMAMODE_NONE ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC|DUO)
|
||||
;
|
||||
YM2612ENABLE .EQU FALSE ; YM2612: ENABLE YM2612 DRIVER (MUTE STUB)
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76469s/CTC)
|
||||
VGMBASE .EQU $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76489s/CTC)
|
||||
|
||||
1179
Source/HBIOS/ch.asm
Normal file
1179
Source/HBIOS/ch.asm
Normal file
File diff suppressed because it is too large
Load Diff
@@ -2,6 +2,18 @@
|
||||
; Z80 DMA DRIVER
|
||||
;==================================================================================================
|
||||
;
|
||||
#IF ((DMAMODE == DMAMODE_ECB) | (DMAMODE == DMAMODE_MBC))
|
||||
DMA_IO .EQU DMABASE
|
||||
DMA_CTL .EQU DMABASE + 1
|
||||
DMA_USEHALF .EQU TRUE
|
||||
#ENDIF
|
||||
;
|
||||
#IF (DMAMODE == DMAMODE_DUO)
|
||||
DMA_IO .EQU DMABASE
|
||||
DMA_CTL .EQU DMABASE + 3
|
||||
DMA_USEHALF .EQU FALSE
|
||||
#ENDIF
|
||||
;
|
||||
DMA_CONTINUOUS .equ %10111101 ; + Pulse
|
||||
DMA_BYTE .equ %10011101 ; + Pulse
|
||||
DMA_BURST .equ %11011101 ; + Pulse
|
||||
@@ -30,21 +42,18 @@ DMA_FORCE .EQU 0
|
||||
; DMA CLOCK SPEED CONTROL - OPTION TO SWITCH TO HALF CLOCK SPEED. MOST SYSTEMS NEED THIS.
|
||||
;==================================================================================================
|
||||
;
|
||||
DMA_USEHALF .equ TRUE ; USE CLOCK DIVIDER
|
||||
;
|
||||
#IF (DMA_USEHALF & (DMAMODE=DMAMODE_MBC))
|
||||
#DEFINE DMAIOHALF LD A,(HB_RTCVAL) \ AND ~%00001000 \ OUT (RTCIO),A
|
||||
#DEFINE DMAIOFULL PUSH AF \ LD A,(HB_RTCVAL) \ OUT (RTCIO),A \ POP AF
|
||||
#ENDIF
|
||||
;
|
||||
#IF (DMA_USEHALF & (DMAMODE=DMAMODE_ECB))
|
||||
#DEFINE DMAIOHALF LD A,(HB_RTCVAL) \ OR %00001000 \ OUT (RTCIO),A
|
||||
#DEFINE DMAIOFULL PUSH AF \ LD A,(HB_RTCVAL) \ OUT (RTCIO),A \ POP AF
|
||||
#ENDIF
|
||||
;
|
||||
#IF (!DMA_USEHALF)
|
||||
#DEFINE DMAIOHALF \;
|
||||
#DEFINE DMAIOFULL \;
|
||||
#IF (DMA_USEHALF)
|
||||
#IF (DMAMODE=DMAMODE_MBC)
|
||||
#DEFINE DMAIOHALF LD A,(HB_RTCVAL) \ AND ~%00001000 \ OUT (RTCIO),A
|
||||
#DEFINE DMAIOFULL PUSH AF \ LD A,(HB_RTCVAL) \ OUT (RTCIO),A \ POP AF
|
||||
#ENDIF
|
||||
#IF (DMAMODE=DMAMODE_ECB)
|
||||
#DEFINE DMAIOHALF LD A,(HB_RTCVAL) \ OR %00001000 \ OUT (RTCIO),A
|
||||
#DEFINE DMAIOFULL PUSH AF \ LD A,(HB_RTCVAL) \ OUT (RTCIO),A \ POP AF
|
||||
#ENDIF
|
||||
#ELSE
|
||||
#DEFINE DMAIOHALF \;
|
||||
#DEFINE DMAIOFULL \;
|
||||
#ENDIF
|
||||
;
|
||||
;==================================================================================================
|
||||
@@ -54,11 +63,11 @@ DMA_USEHALF .equ TRUE ; USE CLOCK DIVIDER
|
||||
DMA_INIT:
|
||||
CALL NEWLINE
|
||||
PRTS("DMA: IO=0x$") ; announce
|
||||
LD A, DMABASE
|
||||
LD A, DMA_IO
|
||||
CALL PRTHEXBYTE
|
||||
;
|
||||
LD A,DMA_FORCE
|
||||
out (DMABASE+1),a ; force ready off
|
||||
out (DMA_CTL),a ; force ready off
|
||||
;
|
||||
DMAIOHALF
|
||||
;
|
||||
@@ -67,7 +76,7 @@ DMA_INIT:
|
||||
;
|
||||
ld hl,DMACode ; program the
|
||||
ld b,DMACode_Len ; dma command
|
||||
ld c,DMABASE ; block
|
||||
ld c,DMA_IO ; block
|
||||
;
|
||||
di
|
||||
otir ; load dma
|
||||
@@ -103,31 +112,31 @@ DMA_FAIL_FLAG:
|
||||
;==================================================================================================
|
||||
;
|
||||
DMAProbe:
|
||||
ld a,DMA_RESET
|
||||
out (DMABASE),a
|
||||
ld a,%01111101 ; R0-Transfer mode, A -> B, start address follows
|
||||
out (DMABASE),a
|
||||
ld a,DMA_RESET ; $C3
|
||||
out (DMA_IO),a
|
||||
ld a,%01111101 ; R0-Transfer mode, A -> B, start address follows $7D
|
||||
out (DMA_IO),a
|
||||
ld a,$cc
|
||||
out (DMABASE),a
|
||||
out (DMA_IO),a
|
||||
ld a,$dd
|
||||
out (DMABASE),a
|
||||
out (DMA_IO),a
|
||||
ld a,$e5
|
||||
out (DMABASE),a
|
||||
out (DMA_IO),a
|
||||
ld a,$1a
|
||||
out (DMABASE),a
|
||||
ld a,DMA_LOAD
|
||||
out (DMABASE),a
|
||||
out (DMA_IO),a
|
||||
ld a,DMA_LOAD ; $CF
|
||||
out (DMA_IO),a
|
||||
;
|
||||
ld a,DMA_READ_MASK_FOLLOWS ; set up
|
||||
out (DMABASE),a ; for
|
||||
ld a,%00011000 ; register
|
||||
out (DMABASE),a ; read
|
||||
ld a,DMA_START_READ_SEQUENCE
|
||||
out (DMABASE),a
|
||||
ld a,DMA_READ_MASK_FOLLOWS ; set up ; $BB
|
||||
out (DMA_IO),a ; for
|
||||
ld a,%00011000 ; register $18
|
||||
out (DMA_IO),a ; read
|
||||
ld a,DMA_START_READ_SEQUENCE ; $A7
|
||||
out (DMA_IO),a
|
||||
;
|
||||
in a,(DMABASE) ; read in
|
||||
in a,(DMA_IO) ; read in
|
||||
ld c,a ; address
|
||||
in a,(DMABASE)
|
||||
in a,(DMA_IO)
|
||||
ld b,a
|
||||
;
|
||||
xor a ; is it
|
||||
@@ -165,7 +174,7 @@ DMALDIR:
|
||||
;
|
||||
ld hl,DMACopy ; program the
|
||||
ld b,DMACopy_Len ; dma command
|
||||
ld c,DMABASE ; block
|
||||
ld c,DMA_IO ; block
|
||||
;
|
||||
DMAIOHALF
|
||||
;
|
||||
@@ -174,8 +183,8 @@ DMALDIR:
|
||||
ei
|
||||
;
|
||||
ld a,DMA_READ_STATUS_BYTE ; check status
|
||||
out (DMABASE),a ; of transfer
|
||||
in a,(DMABASE) ; set non-zero
|
||||
out (DMA_IO),a ; of transfer
|
||||
in a,(DMA_IO) ; set non-zero
|
||||
and %00111011 ; if failed
|
||||
sub %00011011
|
||||
|
||||
@@ -211,7 +220,7 @@ DMAOTIR:
|
||||
;
|
||||
ld hl,DMAOutCode ; program the
|
||||
ld b,DMAOut_Len ; dma command
|
||||
ld c,DMABASE ; block
|
||||
ld c,DMA_IO ; block
|
||||
;
|
||||
DMAIOHALF
|
||||
|
||||
@@ -220,8 +229,8 @@ DMAOTIR:
|
||||
ei
|
||||
;
|
||||
ld a,DMA_READ_STATUS_BYTE ; check status
|
||||
out (DMABASE),a ; of transfer
|
||||
in a,(DMABASE) ; set non-zero
|
||||
out (DMA_IO),a ; of transfer
|
||||
in a,(DMA_IO) ; set non-zero
|
||||
and %00111011 ; if failed
|
||||
sub %00011011
|
||||
;
|
||||
@@ -262,7 +271,7 @@ DMAINIR:
|
||||
;
|
||||
ld hl,DMAInCode ; program the
|
||||
ld b,DMAIn_Len ; dma command
|
||||
ld c,DMABASE ; block
|
||||
ld c,DMA_IO ; block
|
||||
;
|
||||
DMAIOHALF
|
||||
;
|
||||
@@ -271,8 +280,8 @@ DMAINIR:
|
||||
ei
|
||||
;
|
||||
ld a,DMA_READ_STATUS_BYTE ; check status
|
||||
out (DMABASE),a ; of transfer
|
||||
in a,(DMABASE) ; set non-zero
|
||||
out (DMA_IO),a ; of transfer
|
||||
in a,(DMA_IO) ; set non-zero
|
||||
and %00111011 ; if failed
|
||||
sub %00011011
|
||||
;
|
||||
@@ -306,31 +315,31 @@ DMAIn_Len .equ $-DMAInCode
|
||||
;
|
||||
DMARegDump:
|
||||
ld a,DMA_READ_MASK_FOLLOWS
|
||||
out (DMABASE),a
|
||||
out (DMA_IO),a
|
||||
ld a,%01111110
|
||||
out (DMABASE),a
|
||||
out (DMA_IO),a
|
||||
ld a,DMA_START_READ_SEQUENCE
|
||||
out (DMABASE),a
|
||||
out (DMA_IO),a
|
||||
;
|
||||
in a,(DMABASE)
|
||||
in a,(DMA_IO)
|
||||
ld c,a
|
||||
in a,(DMABASE)
|
||||
in a,(DMA_IO)
|
||||
ld b,a
|
||||
call PRTHEXWORD
|
||||
ld a,':'
|
||||
call COUT
|
||||
;
|
||||
in a,(DMABASE)
|
||||
in a,(DMA_IO)
|
||||
ld c,a
|
||||
in a,(DMABASE)
|
||||
in a,(DMA_IO)
|
||||
ld b,a
|
||||
call PRTHEXWORD
|
||||
ld a,':'
|
||||
call COUT
|
||||
;
|
||||
in a,(DMABASE)
|
||||
in a,(DMA_IO)
|
||||
ld c,a
|
||||
in a,(DMABASE)
|
||||
in a,(DMA_IO)
|
||||
ld b,a
|
||||
call PRTHEXWORD
|
||||
;
|
||||
|
||||
@@ -5,6 +5,11 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
;
|
||||
#IF (!PCFENABLE)
|
||||
.ECHO "*** DS7 DRIVER REQUIRES PCF DRIVER. SET PCFENABLE!!!\n"
|
||||
!!! ; FORCE AN ASSEMBLY ERROR
|
||||
#ENDIF
|
||||
;
|
||||
DS7_OUT .EQU 10000000B ; SELECT SQUARE WAVE FUNCTION
|
||||
DS7_SQWE .EQU 00010000B ; ENABLE SQUARE WAVE OUTPUT
|
||||
DS7_RATE .EQU 00000000B ; SET 1HZ OUPUT
|
||||
@@ -31,6 +36,7 @@ DS7_CTL .EQU (DS7_OUT | DS7_SQWE | DS7_RATE)
|
||||
; 12HR MODE IS CURRENTLY ASSUMED
|
||||
;
|
||||
DS7RTC_INIT:
|
||||
CALL NEWLINE ; Formatting
|
||||
PRTS("DS1307: $") ; ANNOUNCE DRIVER
|
||||
;
|
||||
LD A,(PCF_FAIL_FLAG) ; CHECK IF THE
|
||||
|
||||
@@ -145,6 +145,8 @@ DSRTC_PREINIT:
|
||||
;OR DSRTC_IDLE ; SET OUR IDLE BITS
|
||||
;LD (DSRTC_OPRVAL),A ; SAVE IT
|
||||
;
|
||||
XOR A ; ZERO
|
||||
LD (DSRTC_STAT),A ; CLEAR STATUS
|
||||
CALL DSRTC_DETECT ; HARDWARE DETECTION
|
||||
LD (DSRTC_STAT),A ; SAVE RESULT
|
||||
RET NZ ; ABORT IF ERROR
|
||||
|
||||
700
Source/HBIOS/esp.asm
Normal file
700
Source/HBIOS/esp.asm
Normal file
@@ -0,0 +1,700 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ESP32 DRIVER
|
||||
;
|
||||
; SUPPORTS DAN WERNER'S NHYODYNE (MBC) ESP32 MODULE
|
||||
; https://github.com/danwerner21/nhyodyne/tree/main/Z80ESP
|
||||
;==================================================================================================
|
||||
;
|
||||
; TODO:
|
||||
; - CLEAR CONSOLE SCREEN AT INITIALIZATION
|
||||
; - INITIALIZE BAUD/MODE OF SERIAL INTERFACES AT INITIALIZATION?
|
||||
;
|
||||
ESP_IOBASE .EQU $9C
|
||||
ESP_0_IO .EQU ESP_IOBASE + 0
|
||||
ESP_1_IO .EQU ESP_IOBASE + 1
|
||||
ESP_STAT .EQU ESP_IOBASE + 2
|
||||
;
|
||||
; ESP STATUS PORT
|
||||
; MSB X X S S S S S S
|
||||
; | | | | | +- ESP0 READY OUTPUT
|
||||
; | | | | +--- ESP0 BUSY
|
||||
; | | | +----- ESP0 SPARE
|
||||
; | | +------- ESP1 READY OUTPUT
|
||||
; | +--------- ESP1 BUSY
|
||||
; +----------- ESP1 SPARE
|
||||
;
|
||||
ESP_0_RDY .EQU %00000001
|
||||
ESP_0_BUSY .EQU %00000010
|
||||
ESP_0_SPARE .EQU %00000100
|
||||
ESP_1_RDY .EQU %00001000
|
||||
ESP_1_BUSY .EQU %00010000
|
||||
ESP_1_SPARE .EQU %00100000
|
||||
;
|
||||
; COMMAND OPCODES
|
||||
;
|
||||
ESP_CMD_NOP .EQU 0 ; NO OP/SYNC
|
||||
ESP_CMD_SYNC .EQU 0 ; NO OP/SYNC
|
||||
ESP_0_CMD_COUT .EQU 1 ; CHAR OUT
|
||||
ESP_0_CMD_CSTR .EQU 2 ; STRING OUT
|
||||
ESP_0_CMD_KIN .EQU 3 ; KEY IN
|
||||
ESP_0_CMD_KST .EQU 4 ; KBD BUF STATUS
|
||||
ESP_CMD_SBAUD .EQU 6 ; SET SERIAL BAUD RATE
|
||||
ESP_CMD_SMODE .EQU 7 ; SET SERIAL LINE MODE
|
||||
ESP_CMD_SOUT .EQU 8 ; SERIAL BYTE OUT
|
||||
ESP_CMD_SIN .EQU 10 ; SERIAL BYTE IN
|
||||
ESP_CMD_SST .EQU 11 ; SERIAL INPUT STATUS
|
||||
ESP_CMD_DISC .EQU $FF ; DISCOVER
|
||||
;
|
||||
; ESP CONFIG TABLE ENTRY OFFSETS
|
||||
;
|
||||
ESP_CFG_DEV .EQU 0 ; DEVICE NUMBER
|
||||
ESP_CFG_IO .EQU 1 ; ESP I/O PORT
|
||||
ESP_CFG_ST .EQU 2 ; ESP STATUS PORT
|
||||
ESP_CFG_RDYMSK .EQU 3 ; ESP READY MASK
|
||||
ESP_CFG_BSYMSK .EQU 4 ; ESP BUSY MASK
|
||||
;
|
||||
; GLOBAL ESP INITIALIZATION
|
||||
;
|
||||
ESP_INIT:
|
||||
;
|
||||
CALL NEWLINE ; FORMATTING
|
||||
PRTS("ESP: IO=0x$")
|
||||
LD A,ESP_IOBASE
|
||||
CALL PRTHEXBYTE
|
||||
;
|
||||
XOR A ; ZERO ACCUM
|
||||
LD (ESP_PRES),A ; CLEAR MODULE PRESENCE BITS
|
||||
;
|
||||
; DETECT FIRST ESP32 MODULE
|
||||
PRTS(" A=$")
|
||||
LD IY,ESPSER0_CFG
|
||||
CALL ESP_DETECT
|
||||
JR Z,ESP_INIT1 ; FOUND
|
||||
LD DE,ESP_STR_NOHW
|
||||
CALL WRITESTR
|
||||
JR ESP_INIT2
|
||||
;
|
||||
ESP_INIT1:
|
||||
CALL ESP_PRTVER
|
||||
|
||||
LD A,(ESP_PRES)
|
||||
SET 0,A
|
||||
LD (ESP_PRES),A
|
||||
|
||||
;
|
||||
ESP_INIT2:
|
||||
; DETECT SECOND ESP32 MODULE
|
||||
PRTS(" B=$")
|
||||
LD IY,ESPSER1_CFG
|
||||
CALL ESP_DETECT
|
||||
JR Z,ESP_INIT3 ; FOUND
|
||||
LD DE,ESP_STR_NOHW
|
||||
CALL WRITESTR
|
||||
JR ESP_INIT4
|
||||
;
|
||||
ESP_INIT3:
|
||||
CALL ESP_PRTVER
|
||||
|
||||
LD A,(ESP_PRES)
|
||||
SET 1,A
|
||||
LD (ESP_PRES),A
|
||||
|
||||
;
|
||||
ESP_INIT4:
|
||||
; INITIALIZE FIRST MODULE CHILD DRIVERS
|
||||
LD A,(ESP_PRES)
|
||||
BIT 0,A
|
||||
JR Z,ESP_INIT5
|
||||
LD IY,ESPSER0_CFG
|
||||
CALL ESPSER_INIT ; SERIAL INITIALIZATION
|
||||
LD IY,ESPCON0_CFG
|
||||
CALL ESPCON_INIT ; CONSOLE INITIALIZATION
|
||||
;
|
||||
ESP_INIT5:
|
||||
; INITIALIZE SECOND MODULE CHILD DRIVERS
|
||||
LD A,(ESP_PRES)
|
||||
BIT 1,A
|
||||
JR Z,ESP_INIT6
|
||||
LD IY,ESPSER1_CFG
|
||||
CALL ESPSER_INIT ; SERIAL INITIALIZATION
|
||||
;
|
||||
ESP_INIT6:
|
||||
RET
|
||||
;
|
||||
;==================================================================================================
|
||||
; ESP32 INTERFACE FUNCTIONS
|
||||
;==================================================================================================
|
||||
;
|
||||
ESP_DETECT:
|
||||
; TRY TO DETECT IF PORT IS FLOATING AND
|
||||
; FAIL DETECTION IF SO
|
||||
LD C,(IY+ESP_CFG_ST) ; ESP STATUS PORT
|
||||
IN A,(C) ; READ IT
|
||||
;CALL PC_SPACE ; *DEBUG*
|
||||
;CALL PRTHEXBYTE ; *DEBUG*
|
||||
AND %11100000 ; ISOLATE TOP 3 BITS
|
||||
CP $00 ; ALWAYS ZERO IF PRESENT
|
||||
RET NZ ; ABORT ON FAILURE
|
||||
;
|
||||
; ESP32 PROCESSOR MAY TAKE A FEW SECONDS TO START UP, SO
|
||||
; HERE WE WAIT FOR BUSY TO CLEAR WITH ABOUT A 5 SECOND TIMEOUT
|
||||
LD B,0 ; LOOP UP TO 256 TIMES
|
||||
LD C,(IY+ESP_CFG_ST) ; ESP STATUS PORT
|
||||
ESP_DETECT1:
|
||||
IN A,(C) ; GET STATUS
|
||||
AND (IY+ESP_CFG_BSYMSK) ; IS ESP BUSY?
|
||||
JR Z,ESP_DETECT2 ; MOVE ALONG IF NOT BUSY
|
||||
LD DE,1500 ; 1500 * 16US = 24MS
|
||||
CALL VDELAY ; DELAY
|
||||
DJNZ ESP_DETECT1 ; LOOP
|
||||
OR $FF ; SIGNAL FAILURE
|
||||
RET ; DONE
|
||||
;
|
||||
ESP_DETECT2:
|
||||
CALL ESP_SYNC
|
||||
;LD A,B ; *DEBUG*
|
||||
;CALL PC_SPACE ; *DEBUG*
|
||||
;CALL PRTHEXBYTE ; *DEBUG*
|
||||
CALL ESP_CLR ; CLEAR ANY PENDING DATA
|
||||
LD A,ESP_CMD_DISC ; DISCOVER COMMAND
|
||||
CALL ESP_OUT ; SEND IT
|
||||
;
|
||||
; LOOK FOR SIGNATURE STARTING WITH "ESP"
|
||||
CALL ESP_INWAIT ; ATTEMPT TO GET CHAR
|
||||
;CALL PC_SPACE ; *DEBUG*
|
||||
;CALL PRTHEXBYTE ; *DEBUG*
|
||||
CP 'E'
|
||||
RET NZ
|
||||
CALL ESP_INWAIT ; ATTEMPT TO GET CHAR
|
||||
;CALL PC_SPACE ; *DEBUG*
|
||||
;CALL PRTHEXBYTE ; *DEBUG*
|
||||
CP 'S'
|
||||
RET NZ
|
||||
CALL ESP_INWAIT ; ATTEMPT TO GET CHAR
|
||||
;CALL PC_SPACE ; *DEBUG*
|
||||
;CALL PRTHEXBYTE ; *DEBUG*
|
||||
CP 'P'
|
||||
RET
|
||||
;
|
||||
; CLEAR ESP INPUT QUEUE
|
||||
;
|
||||
ESP_CLR:
|
||||
; LD B,0 ; MAX CHARS TO READ /Removed DDW
|
||||
;ESP_CLR0: /Removed DDW
|
||||
CALL ESP_WTNBSY ; WAIT TILL NOT BUSY
|
||||
RET NZ ; BAIL OUT IF TIMEOUT
|
||||
IN A,(ESP_STAT) ; GET STATUS
|
||||
AND (IY+ESP_CFG_RDYMSK) ; IS THERE MORE DATA?
|
||||
RET Z ; IF NOT, DONE
|
||||
LD C,(IY+ESP_CFG_IO) ; ESP I/O PORT
|
||||
IN A,(C) ; GET BYTE
|
||||
JP ESP_CLR
|
||||
; DJNZ ESP_CLR0 ; LOOP TILL DONE /Removed DDW
|
||||
; OR $FF ; SIGNAL FAILURE /Removed DDW
|
||||
; RET /Removed DDW
|
||||
|
||||
;
|
||||
; RE-SYNC ESP (added DDW)
|
||||
;
|
||||
ESP_SYNC:
|
||||
LD B,0 ; sync count -- WORST CASE PERFORMACE COULD BE IMPROVED BY REDUCING THIS VALUE
|
||||
ESP_SYNC0:
|
||||
PUSH BC
|
||||
LD A,ESP_CMD_SYNC ; Sync ESP
|
||||
CALL ESP_OUT ; SEND CMD OPCODE
|
||||
POP BC
|
||||
DJNZ ESP_SYNC0 ; LOOP TILL DONE
|
||||
RET
|
||||
;
|
||||
; PRINT ESP VERSION STRING TO CONSOLE
|
||||
;
|
||||
ESP_PRTVER:
|
||||
CALL ESP_SYNC
|
||||
CALL ESP_CLR ; CLEAR ANY PENDING DATA
|
||||
;LD DE,1000 ; SMALL DELAY HERE
|
||||
;CALL VDELAY ; ... SEEMS TO HELP RELIABILITY
|
||||
LD A,ESP_CMD_DISC ; DISCOVER COMMAND
|
||||
CALL ESP_OUT ; SEND IT
|
||||
CALL ESP_WTRDY ; WAIT FOR READY TO OUTPUT
|
||||
ESP_PRTVER1:
|
||||
CALL ESP_WTNBSY ; WAIT TILL NOT BUSY
|
||||
IN A,(ESP_STAT) ; GET STATUS
|
||||
AND (IY+ESP_CFG_RDYMSK) ; ISOLATE OUTPUT READY BIT
|
||||
RET Z ; DONE IF NOTHING READY
|
||||
CALL ESP_IN ; GET NEXT CHAR
|
||||
CALL COUT ; PRINT CHAR
|
||||
JR ESP_PRTVER1 ; LOOP
|
||||
;
|
||||
; SEND BYTE TO ESP
|
||||
;
|
||||
ESP_OUT:
|
||||
PUSH AF ; SAVE VALUE
|
||||
CALL ESP_WTNBSY ; WAIT TILL NOT BUSY
|
||||
POP AF ; POP VALUE
|
||||
LD C,(IY+ESP_CFG_IO) ; ESP I/O PORT
|
||||
OUT (C),A ; SEND BYTE
|
||||
JR ESP_WTBSY ; RETURN VIA WTBSY
|
||||
;
|
||||
; GET BYTE FROM ESP (BLOCKING)
|
||||
;
|
||||
ESP_INWAIT:
|
||||
CALL ESP_WTNBSY ; WAIT TILL NOT BUSY
|
||||
CALL ESP_WTRDY ; WAIT FOR READY TO OUTPUT
|
||||
JP ESP_IN1 ; Added DDW
|
||||
;
|
||||
; GET BYTE FROM ESP (NON BLOCKING)
|
||||
;
|
||||
ESP_IN:
|
||||
CALL ESP_WTNBSY ; WAIT TILL NOT BUSY
|
||||
ESP_IN1:
|
||||
LD C,(IY+ESP_CFG_IO) ; ESP I/O PORT
|
||||
IN A,(C) ; GET BYTE
|
||||
PUSH AF ; SAVE VALUE
|
||||
CALL ESP_WTBSY ; WAIT TILL BUSY
|
||||
POP AF ; RESTORE VALUE
|
||||
RET ; AND RETURN
|
||||
;
|
||||
; WAIT FOR ESP TO BE NOT BUSY
|
||||
;
|
||||
ESP_WTNBSY:
|
||||
LD B,0 ; MAX TRIES
|
||||
;PUSH HL ; SAVE HL
|
||||
;LD HL,0 ; MAX TRIES
|
||||
ESP_WTNBSY1:
|
||||
LD C,(IY+ESP_CFG_ST) ; ESP STATUS PORT
|
||||
IN A,(C) ; GET STATUS
|
||||
AND (IY+ESP_CFG_BSYMSK) ; IS ESP BUSY?
|
||||
RET Z ; RETURN IF NOT BUSY
|
||||
;JR Z,ESP_WTNBSY_Z ; RETURN IF NOT BUSY
|
||||
DJNZ ESP_WTNBSY1 ; ELSE LOOP
|
||||
;DEC HL ; DEC LOOP COUNTER
|
||||
;LD A,H ; CHECK FOR
|
||||
;OR L ; ... TIMEOUT
|
||||
;JR NZ,ESP_WTNBSY1 ; LOOP AS NEEDED
|
||||
;CALL PC_ASTERISK ; *DEBUG*
|
||||
OR $FF ; SIGNAL TIMEOUT
|
||||
;ESP_WTNBSY_Z:
|
||||
;POP HL ; RECOVER HL
|
||||
RET ; AND RETURN
|
||||
;
|
||||
; WAIT FOR ESP TO BE BUSY
|
||||
;
|
||||
ESP_WTBSY:
|
||||
LD B,3 ; MAX TRIES
|
||||
ESP_WTBSY1:
|
||||
LD C,(IY+ESP_CFG_ST) ; ESP STATUS PORT
|
||||
IN A,(C) ; GET STATUS
|
||||
XOR $FF ; INVERT SO 0=BUSY
|
||||
AND (IY+ESP_CFG_BSYMSK) ; IS ESP BUSY?
|
||||
RET Z ; RETURN IF BUSY
|
||||
DJNZ ESP_WTBSY1 ; ELSE LOOP
|
||||
OR $FF ; SIGNAL TIMEOUT
|
||||
RET ; AND RETURN
|
||||
;;;;
|
||||
;;;; WAIT FOR ESP TO BE READY TO OUTPUT
|
||||
;;;;
|
||||
;;;ESP_WTRDY:
|
||||
;;; PUSH HL ; SAVE HL
|
||||
;;; LD HL,0 ; MAX TRIES
|
||||
;;;ESP_WTRDY1:
|
||||
;;; LD C,(IY+ESP_CFG_ST) ; ESP STATUS PORT
|
||||
;;; IN A,(C) ; GET STATUS
|
||||
;;; XOR $FF ; INVERT SO 0=READY
|
||||
;;; AND (IY+ESP_CFG_RDYMSK) ; IS ESP READY TO OUTPUT
|
||||
;;; JR Z,ESP_WTRDY_Z ; RETURN IF READY
|
||||
;;; DEC HL ; DEC LOOP COUNTER
|
||||
;;; LD A,H ; CHECK FOR
|
||||
;;; OR L ; ... TIMEOUT
|
||||
;;; JR NZ,ESP_WTRDY1 ; LOOP AS NEEDED
|
||||
;;; CALL PC_PERIOD ; *DEBUG*
|
||||
;;; OR $FF ; SIGNAL TIMEOUT
|
||||
;;;ESP_WTRDY_Z:
|
||||
;;; POP HL ; RECOVER HL
|
||||
;;; RET ; AND RETURN
|
||||
;
|
||||
; WAIT FOR ESP TO BE READY TO OUTPUT
|
||||
;
|
||||
ESP_WTRDY:
|
||||
LD B,0 ; MAX TRIES
|
||||
ESP_WTRDY1:
|
||||
LD C,(IY+ESP_CFG_ST) ; ESP STATUS PORT
|
||||
IN A,(C) ; GET STATUS
|
||||
XOR $FF ; INVERT SO 0=READY
|
||||
AND (IY+ESP_CFG_RDYMSK) ; IS ESP READY TO OUTPUT
|
||||
RET Z ; RETURN IF READY
|
||||
DJNZ ESP_WTRDY1 ; ELSE LOOP
|
||||
;CALL PC_PERIOD ; *DEBUG*
|
||||
CALL ESP_SYNC ; SOMETHING WENT WRONG, ENSURE SYNC (Added DDW)
|
||||
OR $FF ; SIGNAL TIMEOUT
|
||||
RET ; AND RETURN
|
||||
;
|
||||
;
|
||||
;
|
||||
ESP_PRES .DB 0 ; MODULE PRESENCE BITS
|
||||
;
|
||||
ESP_STR_NOHW .TEXT "NOT PRESENT$"
|
||||
ESP_STR_UPGRADE .TEXT "!!!UPGRADE REQUIRED!!!$"
|
||||
;
|
||||
;==================================================================================================
|
||||
; ESP32 CONSOLE DRIVER
|
||||
;==================================================================================================
|
||||
;
|
||||
;
|
||||
ESPCON_ROWS .EQU 25 ; VGA DISPLAY ROWS
|
||||
ESPCON_COLS .EQU 80 ; VGA DISPLAY COLS
|
||||
;
|
||||
;
|
||||
;
|
||||
ESPCON_INIT:
|
||||
LD A,(ESPCON_DEVCNT) ; GET ESPCON PHYSICAL DEVICE COUNT
|
||||
LD (IY+ESP_CFG_DEV),A ; SAVE PHYSICAL UNIT NUMBER
|
||||
INC A ; UPDATE COUNT
|
||||
LD (ESPCON_DEVCNT),A ; SAVE COUNT
|
||||
;
|
||||
; ADD OURSELVES TO CIO DISPATCH TABLE
|
||||
;
|
||||
LD BC,ESPCON_FNTBL ; BC := FUNCTION TABLE ADDRESS
|
||||
PUSH IY ; COPY CONFIG ENTRY PTR
|
||||
POP DE ; ... TO DE
|
||||
CALL CIO_ADDENT ; ADD ENTRY, A := UNIT ASSIGNED
|
||||
LD (HCB + HCB_CRTDEV),A ; SET OURSELVES AS THE CRT DEVICE
|
||||
;
|
||||
; ANNOUNCE OURSLEVES
|
||||
;
|
||||
CALL NEWLINE ; FORMATTING
|
||||
PRTS("ESPCON$") ; NAME
|
||||
LD A,(IY+ESP_CFG_DEV) ; GET PHYSICAL UNIT NUMBER
|
||||
CALL PRTDECB ; UNIT STILL IN A FROM ABOVE
|
||||
CALL PC_COLON ; FORMATTING
|
||||
;
|
||||
; DISPLAY CONSOLE DIMENSIONS
|
||||
CALL PC_SPACE
|
||||
LD A,ESPCON_COLS
|
||||
CALL PRTDECB
|
||||
LD A,'X'
|
||||
CALL COUT
|
||||
LD A,ESPCON_ROWS
|
||||
CALL PRTDECB
|
||||
CALL PRTSTRD
|
||||
.TEXT " TEXT (ANSI)$"
|
||||
;
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
; DRIVER FUNCTION TABLE
|
||||
;
|
||||
ESPCON_FNTBL:
|
||||
.DW ESPCON_IN
|
||||
.DW ESPCON_OUT
|
||||
.DW ESPCON_IST
|
||||
.DW ESPCON_OST
|
||||
.DW ESPCON_INITDEV
|
||||
.DW ESPCON_QUERY
|
||||
.DW ESPCON_DEVICE
|
||||
#IF (($ - ESPCON_FNTBL) != (CIO_FNCNT * 2))
|
||||
.ECHO "*** INVALID ESPCON FUNCTION TABLE ***\n"
|
||||
#ENDIF
|
||||
;
|
||||
;
|
||||
;
|
||||
ESPCON_IN:
|
||||
CALL ESPCON_IST
|
||||
JR Z,ESPCON_IN
|
||||
LD A,ESP_0_CMD_KIN ; KBD INPUT
|
||||
CALL ESP_OUT ; SEND CMD OPCODE
|
||||
CALL ESP_INWAIT ; GET KEY
|
||||
LD E,A ; PUT IN E
|
||||
XOR A ; SIGNAL SUCCES
|
||||
RET ; AND DONE
|
||||
;
|
||||
;
|
||||
;
|
||||
ESPCON_IST:
|
||||
CALL ESP_CLR ; CLEAR ANY PENDING DATA (Added DDW)
|
||||
LD A,ESP_0_CMD_KST ; KBD BUF STATUS
|
||||
CALL ESP_OUT ; SEND CMD OPCODE
|
||||
CALL ESP_INWAIT ; GET BUF SIZE
|
||||
OR A ; SET FLAGS
|
||||
RET Z ; AND DONE
|
||||
OR A
|
||||
RET
|
||||
;
|
||||
;
|
||||
;
|
||||
ESPCON_OUT:
|
||||
PUSH DE
|
||||
LD A,ESP_0_CMD_COUT ; CHAR OUT OPCODE
|
||||
CALL ESP_OUT
|
||||
POP DE
|
||||
LD A,E
|
||||
CALL ESP_OUT ; SEND CHAR VALUE
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
;
|
||||
;
|
||||
ESPCON_OST:
|
||||
XOR A ; ZERO ACCUM
|
||||
INC A ; ACCUM := 1 TO SIGNAL 1 BUFFER POSITION
|
||||
RET ; RETURN
|
||||
;
|
||||
;
|
||||
;
|
||||
ESPCON_INITDEV:
|
||||
CALL ESP_CLR
|
||||
CALL ESP_SYNC
|
||||
; SYSCHKERR(ERR_NOTIMPL) Removed DDW
|
||||
RET
|
||||
;
|
||||
;
|
||||
;
|
||||
ESPCON_QUERY:
|
||||
LD DE,0
|
||||
LD HL,0
|
||||
XOR A
|
||||
RET
|
||||
;
|
||||
;
|
||||
;
|
||||
ESPCON_DEVICE:
|
||||
LD D,CIODEV_ESPCON ; D := DEVICE TYPE
|
||||
LD E,(IY+ESP_CFG_DEV) ; E := DEVICE NUM
|
||||
LD C,$BF ; C := DEVICE TYPE, 0xBF IS PROP TERM
|
||||
LD H,0 ; H := 0, DRIVER HAS NO MODES
|
||||
LD L,(IY+ESP_CFG_IO) ; L := BASE I/O ADDRESS
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
; ESPCON CONFIGURATION
|
||||
;
|
||||
ESPCON_CFG:
|
||||
ESPCON0_CFG:
|
||||
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
|
||||
.DB ESP_0_IO ; ESP DATA PORT
|
||||
.DB ESP_STAT ; ESP STATUS PORT
|
||||
.DB ESP_0_RDY ; ESP READY BIT MASK
|
||||
.DB ESP_0_BUSY ; ESP BUSY BIT MASK
|
||||
;
|
||||
;
|
||||
;
|
||||
ESPCON_DEVCNT .DB 0 ; ESPCON DEVICES COUNT
|
||||
;
|
||||
;==================================================================================================
|
||||
; ESP32 SERIAL DRIVER
|
||||
;==================================================================================================
|
||||
;
|
||||
ESPSER_LINECFG .EQU SER_115200_8N1
|
||||
;
|
||||
ESPSER_CFG_LINE .EQU 5
|
||||
;
|
||||
;
|
||||
;
|
||||
ESPSER_INIT:
|
||||
LD A,(ESPSER_DEVCNT) ; GET ESPSER PHYSICAL DEVICE COUNT
|
||||
LD (IY+ESP_CFG_DEV),A ; SAVE PHYSICAL UNIT NUMBER
|
||||
INC A ; UPDATE COUNT
|
||||
LD (ESPSER_DEVCNT),A ; SAVE COUNT
|
||||
;
|
||||
; ADD OURSELVES TO CIO DISPATCH TABLE
|
||||
;
|
||||
LD BC,ESPSER_FNTBL ; BC := FUNCTION TABLE ADDRESS
|
||||
PUSH IY ; COPY CONFIG ENTRY PTR
|
||||
POP DE ; ... TO DE
|
||||
CALL CIO_ADDENT ; ADD ENTRY, A := UNIT ASSIGNED
|
||||
;
|
||||
; ANNOUNCE OURSLEVES
|
||||
;
|
||||
CALL NEWLINE ; FORMATTING
|
||||
PRTS("ESPSER$") ; NAME
|
||||
LD A,(IY+ESP_CFG_DEV) ; GET PHYSICAL UNIT NUMBER
|
||||
CALL PRTDECB ; UNIT STILL IN A FROM ABOVE
|
||||
CALL PC_COLON ; FORMATTING
|
||||
;
|
||||
PRTS(" MODE=$") ; FORMATTING
|
||||
LD E,(IY+ESPSER_CFG_LINE+0) ; FIRST CONFIG BYTE TO E
|
||||
LD D,(IY+ESPSER_CFG_LINE+1) ; SECOND CONFIG BYTE TO D
|
||||
CALL PS_PRTSC0 ; PRINT CONFIG
|
||||
;
|
||||
; TODO: PRINT SERIAL CONFIG
|
||||
;
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
; DRIVER FUNCTION TABLE
|
||||
;
|
||||
ESPSER_FNTBL:
|
||||
.DW ESPSER_IN
|
||||
.DW ESPSER_OUT
|
||||
.DW ESPSER_IST
|
||||
.DW ESPSER_OST
|
||||
.DW ESPSER_INITDEV
|
||||
.DW ESPSER_QUERY
|
||||
.DW ESPSER_DEVICE
|
||||
#IF (($ - ESPSER_FNTBL) != (CIO_FNCNT * 2))
|
||||
.ECHO "*** INVALID ESPSER FUNCTION TABLE ***\n"
|
||||
#ENDIF
|
||||
;
|
||||
;
|
||||
;
|
||||
ESPSER_IN:
|
||||
CALL ESPSER_IST
|
||||
JR Z,ESPSER_IN
|
||||
LD A,ESP_CMD_SIN ; SERIAL INPUT
|
||||
CALL ESP_OUT ; SEND CMD OPCODE
|
||||
CALL ESP_INWAIT ; GET KEY
|
||||
LD E,A ; PUT IN E
|
||||
XOR A ; SIGNAL SUCCES
|
||||
RET ; AND DONE
|
||||
;
|
||||
;
|
||||
;
|
||||
ESPSER_IST:
|
||||
CALL ESP_CLR ; CLEAR ANY PENDING DATA (Added DDW)
|
||||
LD A,ESP_CMD_SST ; SERIAL STATUS
|
||||
CALL ESP_OUT ; SEND CMD OPCODE
|
||||
CALL ESP_INWAIT ; GET BUF SIZE
|
||||
OR A ; SET FLAGS
|
||||
RET Z ; AND DONE
|
||||
OR A
|
||||
RET
|
||||
;
|
||||
;
|
||||
;
|
||||
ESPSER_OUT:
|
||||
PUSH DE
|
||||
LD A,ESP_CMD_SOUT ; CHAR OUT OPCODE
|
||||
CALL ESP_OUT
|
||||
POP DE
|
||||
LD A,E
|
||||
CALL ESP_OUT ; SEND CHAR VALUE
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
;
|
||||
;
|
||||
ESPSER_OST:
|
||||
XOR A ; ZERO ACCUM
|
||||
INC A ; ACCUM := 1 TO SIGNAL 1 BUFFER POSITION
|
||||
RET ; RETURN
|
||||
;
|
||||
;
|
||||
;
|
||||
ESPSER_INITDEV:
|
||||
CALL ESP_CLR
|
||||
CALL ESP_SYNC
|
||||
PUSH DE ; SAVE INCOMING CONFIG WORD
|
||||
;
|
||||
; XLATE NEW LINE MODE INTO C
|
||||
LD A,E
|
||||
AND %00111111 ; ISOLATE MODE BITS
|
||||
LD C,0 ; 8N1 = 0
|
||||
CP SER_DATA8 | SER_PARNONE | SER_STOP1
|
||||
JR Z,ESPSER_INITDEV1 ; IF MATCH, DO IT
|
||||
INC C ; 8E1 = 1
|
||||
CP SER_DATA8 | SER_PAREVEN | SER_STOP1
|
||||
JR Z,ESPSER_INITDEV1 ; IF MATCH, DO IT
|
||||
INC C ; 8O1 = 2
|
||||
CP SER_DATA8 | SER_PARODD | SER_STOP1
|
||||
JR Z,ESPSER_INITDEV1 ; IF MATCH, DO IT
|
||||
INC C ; 7N1 = 3
|
||||
CP SER_DATA7 | SER_PARNONE | SER_STOP1
|
||||
JR Z,ESPSER_INITDEV1 ; IF MATCH, DO IT
|
||||
INC C ; 7E1 = 4
|
||||
CP SER_DATA7 | SER_PAREVEN | SER_STOP1
|
||||
JR Z,ESPSER_INITDEV1 ; IF MATCH, DO IT
|
||||
INC C ; 7O1 = 5
|
||||
CP SER_DATA7 | SER_PARODD | SER_STOP1
|
||||
JR Z,ESPSER_INITDEV1 ; IF MATCH, DO IT
|
||||
JR NZ,ESPSER_INITDEV_ERR ; ELSE FAIL
|
||||
;
|
||||
ESPSER_INITDEV1:
|
||||
; DECODE NEW BAUD RATE INTO DE:HL
|
||||
LD H,0
|
||||
LD A,D
|
||||
AND %00011111
|
||||
LD L,A
|
||||
LD DE,75
|
||||
PUSH BC ; SAVE NEW LINE MODE
|
||||
CALL DECODE ; DE:HL IS DECODED BAUD RATE
|
||||
POP BC ; RESTORE NEW LINE MODE
|
||||
JR NZ,ESPSER_INITDEV_ERR ; IF ERROR, FAIL
|
||||
;
|
||||
; PROGRAM NEW LINE MODE
|
||||
PUSH BC
|
||||
LD A,ESP_CMD_SMODE
|
||||
CALL ESP_OUT
|
||||
POP BC
|
||||
LD A,C
|
||||
;CALL PRTHEXBYTE
|
||||
;CALL LDELAY
|
||||
CALL ESP_OUT
|
||||
;
|
||||
; PROGRAM NEW BAUD RATE
|
||||
LD A,ESP_CMD_SBAUD
|
||||
CALL ESP_OUT
|
||||
LD A,L
|
||||
CALL ESP_OUT
|
||||
LD A,H
|
||||
CALL ESP_OUT
|
||||
LD A,E
|
||||
CALL ESP_OUT
|
||||
LD A,D
|
||||
CALL ESP_OUT
|
||||
;
|
||||
; SAVE NEW LINE CONFIG WORD
|
||||
POP DE ; RESTORE CONFIG WORD
|
||||
LD (IY+ESPSER_CFG_LINE+0),E ; FIRST CONFIG BYTE
|
||||
LD (IY+ESPSER_CFG_LINE+1),D ; SECOND CONFIG BYTE
|
||||
;
|
||||
XOR A
|
||||
RET
|
||||
;
|
||||
ESPSER_INITDEV_ERR:
|
||||
POP DE ; THROW AWAY CONFIG WORD ON STACK
|
||||
OR $FF
|
||||
RET
|
||||
;
|
||||
;
|
||||
;
|
||||
ESPSER_QUERY:
|
||||
LD E,(IY+ESPSER_CFG_LINE+0) ; FIRST CONFIG BYTE TO E
|
||||
LD D,(IY+ESPSER_CFG_LINE+1) ; SECOND CONFIG BYTE TO D
|
||||
LD HL,0
|
||||
XOR A
|
||||
RET
|
||||
;
|
||||
;
|
||||
;
|
||||
ESPSER_DEVICE:
|
||||
LD D,CIODEV_ESPSER ; D := DEVICE TYPE
|
||||
LD E,(IY+ESP_CFG_DEV) ; E := DEVICE NUM
|
||||
LD C,$00 ; C := DEVICE TYPE, 0x00 IS RS-232
|
||||
LD H,0 ; H := 0, DRIVER HAS NO MODES
|
||||
LD L,(IY+ESP_CFG_IO) ; L := BASE I/O ADDRESS
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
; ESPSER CONFIGURATION
|
||||
;
|
||||
ESPSER_CFG:
|
||||
ESPSER0_CFG:
|
||||
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
|
||||
.DB ESP_0_IO ; ESP DATA PORT
|
||||
.DB ESP_STAT ; ESP STATUS PORT
|
||||
.DB ESP_0_RDY ; ESP READY BIT MASK
|
||||
.DB ESP_0_BUSY ; ESP BUSY BIT MASK
|
||||
.DW ESPSER_LINECFG ; LINE CONFIGURATION
|
||||
|
||||
;
|
||||
ESPSER1_CFG:
|
||||
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
|
||||
.DB ESP_1_IO ; ESP DATA PORT
|
||||
.DB ESP_STAT ; ESP STATUS PORT
|
||||
.DB ESP_1_RDY ; ESP READY BIT MASK
|
||||
.DB ESP_1_BUSY ; ESP BUSY BIT MASK
|
||||
.DW ESPSER_LINECFG ; LINE CONFIGURATION
|
||||
;
|
||||
;
|
||||
;
|
||||
ESPSER_DEVCNT .DB 0 ; ESPSER DEVICES COUNT
|
||||
@@ -811,19 +811,27 @@ FD_DETECT:
|
||||
IN A,(FDC_MSR) ; READ MSR
|
||||
;CALL PC_SPACE ; *DEBUG*
|
||||
;CALL PRTHEXBYTE ; *DEBUG*
|
||||
CP $80
|
||||
JR Z,FD_DETECT1 ; $80 IS OK
|
||||
CP $D0
|
||||
JR Z,FD_DETECT1 ; $D0 IS OK
|
||||
RET ; NOPE, ABORT WITH ZF=NZ
|
||||
;
|
||||
FD_DETECT1:
|
||||
CALL DLY32 ; WAIT A BIT FOR FDC
|
||||
IN A,(FDC_MSR) ; READ MSR AGAIN
|
||||
|
||||
CP $D0 ; SPECIAL CASE: DATA PENDING?
|
||||
JR NZ,FD_DETECT1 ; NOPE, MOVE ALONG
|
||||
IN A,(FDC_DATA) ; SWALLOW THE PENDING DATA
|
||||
CALL DLY32 ; SETTLE
|
||||
IN A,(FDC_MSR) ; ... AND REREAD THE STATUS
|
||||
;CALL PC_SPACE ; *DEBUG*
|
||||
;CALL PRTHEXBYTE ; *DEBUG*
|
||||
CP $80
|
||||
RET ; $80 OK, ELSE NOT PRESENT
|
||||
|
||||
FD_DETECT1:
|
||||
CP $80 ; WE EXPECT $80
|
||||
RET Z ; IF SO, ALL DONE
|
||||
|
||||
; WE HAVE SEEN AN FDC THAT NEEDS A SECOND READ TO GET
|
||||
; DESIRED VALUE, SO TRY ONE MORE TIME
|
||||
CALL DLY32 ; WAIT A BIT
|
||||
IN A,(FDC_MSR) ; ... AND REREAD THE STATUS
|
||||
;CALL PC_SPACE ; *DEBUG*
|
||||
;CALL PRTHEXBYTE ; *DEBUG*
|
||||
CP $80 ; CHECK FOR CORRECT VALUE
|
||||
RET ; RETURN WITH ZF ACCORDING TO RESULT
|
||||
;
|
||||
; UNIT INITIALIZATION
|
||||
;
|
||||
|
||||
162
Source/HBIOS/h8p.asm
Normal file
162
Source/HBIOS/h8p.asm
Normal file
@@ -0,0 +1,162 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; HEATH H8 FRONT PANEL (DISPLAY AND KEYBOARD) ROUTINES
|
||||
;==================================================================================================
|
||||
;
|
||||
; LED SEGMENTS (BIT VALUES)
|
||||
;
|
||||
; +--02--+
|
||||
; 40 04
|
||||
; +--01--+
|
||||
; 20 08
|
||||
; +--10--+ 80
|
||||
;
|
||||
;__H8P_PREINIT_______________________________________________________________________________________
|
||||
;
|
||||
; CONFIGURE AND RESET PANEL
|
||||
;____________________________________________________________________________________________________
|
||||
;
|
||||
; HARDWARE RESET PRIOR TO ROMWBW CONSOLE INITIALIZATION
|
||||
;
|
||||
H8P_PREINIT:
|
||||
LD A,(DSKY_DISPACT) ; DSKY DISPATCHER ALREADY SET?
|
||||
OR A ; SET FLAGS
|
||||
RET NZ ; IF ALREADY ACTIVE, ABORT
|
||||
;
|
||||
; REGISTER DRIVER WITH HBIOS
|
||||
LD BC,H8P_DISPATCH
|
||||
CALL DSKY_SETDISP
|
||||
;
|
||||
RET
|
||||
;
|
||||
;__H8P_INIT__________________________________________________________________________________________
|
||||
;
|
||||
; DISPLAY DSKY INFO ON ROMWBW CONSOLE
|
||||
;____________________________________________________________________________________________________
|
||||
;
|
||||
H8P_INIT:
|
||||
CALL NEWLINE ; FORMATTING
|
||||
PRTS("H8P:$") ; DRIVER TAG
|
||||
;
|
||||
RET ; DONE
|
||||
;
|
||||
; DSKY DEVICE FUNCTION DISPATCH ENTRY
|
||||
; A: RESULT (OUT), 0=OK, Z=OK, NZ=ERR
|
||||
; B: FUNCTION (IN)
|
||||
;
|
||||
H8P_DISPATCH:
|
||||
LD A,B ; GET REQUESTED FUNCTION
|
||||
AND $0F ; ISOLATE SUB-FUNCTION
|
||||
JP Z,H8P_RESET ; RESET DSKY HARDWARE
|
||||
DEC A
|
||||
JP Z,H8P_STAT ; GET KEYPAD STATUS
|
||||
DEC A
|
||||
JP Z,H8P_GETKEY ; READ A KEY FROM THE KEYPAD
|
||||
DEC A
|
||||
JP Z,H8P_SHOWHEX ; DISPLAY A 32-BIT BINARY VALUE IN HEX
|
||||
DEC A
|
||||
JP Z,H8P_SHOWSEG ; DISPLAY SEGMENTS
|
||||
DEC A
|
||||
JP Z,H8P_KEYLEDS ; SET KEYPAD LEDS
|
||||
DEC A
|
||||
JP Z,H8P_STATLED ; SET STATUS LED
|
||||
DEC A
|
||||
JP Z,H8P_BEEP ; BEEP DSKY SPEAKER
|
||||
DEC A
|
||||
JP Z,H8P_DEVICE ; DEVICE INFO
|
||||
SYSCHKERR(ERR_NOFUNC)
|
||||
RET
|
||||
;
|
||||
; RESET DSKY -- CLEAR DISPLAY AND KEYPAD FIFO
|
||||
;
|
||||
H8P_RESET:
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
; CHECK FOR KEY PRESS, SAVE RAW VALUE, RETURN STATUS
|
||||
;
|
||||
H8P_STAT:
|
||||
XOR A ; ZERO KEYS PENDING (FOR NOW)
|
||||
RET
|
||||
;
|
||||
; WAIT FOR A DSKY KEYPRESS AND RETURN
|
||||
;
|
||||
H8P_GETKEY:
|
||||
; PUT KEY VALUE IN REGISTER E
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
; DISPLAY HEX VALUE FROM DE:HL
|
||||
;
|
||||
H8P_SHOWHEX:
|
||||
LD BC,DSKY_HEXBUF ; POINT TO HEX BUFFER
|
||||
CALL ST32 ; STORE 32-BIT BINARY THERE
|
||||
LD HL,DSKY_HEXBUF ; FROM: BINARY VALUE (HL)
|
||||
LD DE,DSKY_BUF ; TO: SEGMENT BUFFER (DE)
|
||||
CALL DSKY_BIN2SEG ; CONVERT
|
||||
LD HL,DSKY_BUF ; POINT TO SEGMENT BUFFER
|
||||
; AND FALL THRU TO DISPLAY IT
|
||||
;
|
||||
; DISPLAY BYTE VALUES POINTED TO BY DE. THE INCOMING BYTES ARE IN
|
||||
; THE STANDARD ROMWBW SEGMENT ENCODING AND MUST BE TRANSLATED TO THE
|
||||
; HEATH ENCODING (SEE ICM.ASM FOR EXAMPLE):
|
||||
;
|
||||
;
|
||||
; From: To:
|
||||
; +--01--+ +--02--+
|
||||
; 20 02 40 04
|
||||
; +--40--+ +--01--+
|
||||
; 10 04 20 08
|
||||
; +--08--+ 80 +--10--+ 80
|
||||
;
|
||||
H8P_SHOWSEG:
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
; UPDATE KEY LEDS (H8 HAS NONE)
|
||||
;
|
||||
H8P_KEYLEDS:
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
; SET STATUS LEDS BASED ON BITS IN E
|
||||
;
|
||||
H8P_STATLED:
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
; BEEP THE SPEAKER ON THE H8P
|
||||
;
|
||||
H8P_BEEP:
|
||||
POP BC
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
; DEVICE INFORMATION
|
||||
;
|
||||
H8P_DEVICE:
|
||||
LD D,DSKYDEV_H8P ; D := DEVICE TYPE
|
||||
LD E,0 ; E := PHYSICAL DEVICE NUMBER
|
||||
LD H,0 ; H := MODE
|
||||
LD L,0 ; L := BASE I/O ADDRESS
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
;_KEYMAP_TABLE_____________________________________________________________________________________________________________
|
||||
;
|
||||
H8P_KEYMAP: ; *** NEEDS TO BE UPDATED ***
|
||||
; POS $00 $01 $02 $03 $04 $05 $06 $07
|
||||
; KEY [0] [1] [2] [3] [4] [5] [6] [7]
|
||||
.DB $0D, $04, $0C, $14, $03, $0B, $13, $02
|
||||
;
|
||||
; POS $08 $09 $0A $0B $0C $0D $0E $0F
|
||||
; KEY [8] [9] [A] [B] [C] [D] [E] [F]
|
||||
.DB $0A, $12, $01, $09, $11, $00, $08, $10
|
||||
;
|
||||
; POS $10 $11 $12 $13 $14 $15 $16 $17
|
||||
; KEY [FW] [BK] [CL] [EN] [DE] [EX] [GO] [BO]
|
||||
.DB $05, $15, $1D, $1C, $1B, $1A, $19, $18
|
||||
|
||||
; POS $18 $19 $1A $1B
|
||||
; KEY [F4] [F3] [F2] [F1]
|
||||
.DB $23, $22, $21, $20
|
||||
File diff suppressed because it is too large
Load Diff
@@ -150,6 +150,9 @@ PLT_RCZ280 .EQU 12 ; RCBUS W/ Z280
|
||||
PLT_MBC .EQU 13 ; MULTI BOARD COMPUTER
|
||||
PLT_RPH .EQU 14 ; RHYOPHYRE GRAPHICS COMPUTER
|
||||
PLT_Z80RETRO .EQU 15 ; Z80 RETRO COMPUTER
|
||||
PLT_S100 .EQU 16 ; S100 COMPUTERS Z180 SYSTEM
|
||||
PLT_DUO .EQU 17 ; DUODYNE Z80 SYSTEM
|
||||
PLT_HEATH .EQU 18 ; HEATHKIT H8 Z80 SYSTEM
|
||||
;
|
||||
; HBIOS GLOBAL ERROR RETURN VALUES
|
||||
;
|
||||
@@ -311,6 +314,9 @@ CIODEV_UF .EQU $80
|
||||
CIODEV_DUART .EQU $90
|
||||
CIODEV_Z2U .EQU $A0
|
||||
CIODEV_LPT .EQU $B0
|
||||
CIODEV_ESPCON .EQU $C0
|
||||
CIODEV_ESPSER .EQU $D0
|
||||
CIODEV_SCON .EQU $E0
|
||||
;
|
||||
; SUB TYPES OF CHAR DEVICES
|
||||
;
|
||||
@@ -334,6 +340,8 @@ DIODEV_HDSK .EQU $90
|
||||
DIODEV_PPA .EQU $A0
|
||||
DIODEV_IMM .EQU $B0
|
||||
DIODEV_SYQ .EQU $C0
|
||||
DIODEV_CHUSB .EQU $D0
|
||||
DIODEV_CHSD .EQU $E0
|
||||
;
|
||||
; RTC DEVICE IDS
|
||||
;
|
||||
@@ -348,6 +356,7 @@ RTCDEV_RP5 .EQU $50 ; RP5C01
|
||||
;
|
||||
DSKYDEV_ICM .EQU $00 ; Intersil ICM7218
|
||||
DSKYDEV_PKD .EQU $10 ; Intel P8279
|
||||
DSKYDEV_H8P .EQU $20 ; Heath H8 Panel
|
||||
;
|
||||
; VIDEO DEVICE IDS
|
||||
;
|
||||
@@ -426,9 +435,9 @@ HCB_BIDUSR .EQU $D9 ; USER BANK (TPA)
|
||||
HCB_BIDBIOS .EQU $DA ; BIOS BANK (HBIOS, UBIOS)
|
||||
HCB_BIDAUX .EQU $DB ; AUX BANK (BPBIOS)
|
||||
HCB_BIDRAMD0 .EQU $DC ; FIRST BANK OF RAM DRIVE
|
||||
HCB_BIDRAMDN .EQU $DD ; LAST BANK OF RAM DRIVE
|
||||
HCB_RAMD_BNKS .EQU $DD ; RAM DRIVE BANK COUNT
|
||||
HCB_BIDROMD0 .EQU $DE ; FIRST BANK OF ROM DRIVE
|
||||
HCB_BIDROMDN .EQU $DF ; LAST BANK OF ROM DRIVE
|
||||
HCB_ROMD_BNKS .EQU $DF ; ROM DRIVE BANK COUNT
|
||||
;
|
||||
; HBIOS PROXY COMMON DATA BLOCK
|
||||
; EXACTLY 32 BYTES AT $FFE0-$FFFF
|
||||
|
||||
@@ -24,7 +24,11 @@
|
||||
;
|
||||
; Print all desired config values...
|
||||
;
|
||||
#if (ROMSIZE > 0)
|
||||
prtval("ROMSIZE$", ROMSIZE)
|
||||
#else
|
||||
prtval("ROMSIZE$", RAMSIZE)
|
||||
#endif
|
||||
prtval("CPUFAM$", CPUFAM)
|
||||
;
|
||||
ret
|
||||
|
||||
@@ -180,11 +180,16 @@ ICM_GETKEY2:
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
;
|
||||
; DISPLAY HEX VALUE FROM DE:HL
|
||||
;
|
||||
ICM_SHOWHEX:
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
LD BC,DSKY_HEXBUF ; POINT TO HEX BUFFER
|
||||
CALL ST32 ; STORE 32-BIT BINARY THERE
|
||||
LD HL,DSKY_HEXBUF ; FROM: BINARY VALUE (HL)
|
||||
LD DE,DSKY_BUF ; TO: SEGMENT BUFFER (DE)
|
||||
CALL DSKY_BIN2SEG ; CONVERT
|
||||
LD HL,DSKY_BUF ; POINT TO SEGMENT BUFFER
|
||||
; AND FALL THRU TO DISPLAY IT
|
||||
;
|
||||
; ICM SHOW BUFFER
|
||||
; HL: ADDRESS OF BUFFER
|
||||
|
||||
@@ -72,32 +72,30 @@ MD_INIT:
|
||||
;
|
||||
#IF (MDROM)
|
||||
PRTS(" ROMDISK=$")
|
||||
; LD HL,ROMSIZE - 128
|
||||
LD A,(HCB + HCB_ROMBANKS) ; GET NUMBER OF BANKS
|
||||
SUB (TOT_ROM_RB)
|
||||
LD L,A
|
||||
LD H,0 ; CALCULATE RAM SIZE
|
||||
LD A,(CB_ROMD_BNKS) ; ROM DISK SIZE IN BANKS
|
||||
LD L,A ; PUT IN L
|
||||
LD H,0 ; CALCULATE ROM DISK SIZE
|
||||
ADD HL,HL ; X2
|
||||
ADD HL,HL ; X4
|
||||
ADD HL,HL ; X8
|
||||
ADD HL,HL ; X16
|
||||
ADD HL,HL ; X32
|
||||
LD (MD_ROMDSIZE),HL ; SAVE ROM DISK SIZE
|
||||
CALL PRTDEC
|
||||
PRTS("KB$")
|
||||
#ENDIF
|
||||
;
|
||||
#IF (MDRAM)
|
||||
PRTS(" RAMDISK=$")
|
||||
; LD HL,RAMSIZE - 256
|
||||
LD A,(HCB + HCB_RAMBANKS) ; GET NUMBER OF BANKS
|
||||
SUB (TOT_RAM_RB) ; LESS RESERVED BANKS
|
||||
LD L,A
|
||||
LD H,0 ; CALCULATE RAM SIZE
|
||||
LD A,(CB_RAMD_BNKS) ; RAM DISK SIZE IN BANKS
|
||||
LD L,A ; PUT IN L
|
||||
LD H,0 ; CALCULATE RAM DISK SIZE
|
||||
ADD HL,HL ; X2
|
||||
ADD HL,HL ; X4
|
||||
ADD HL,HL ; X8
|
||||
ADD HL,HL ; X16
|
||||
ADD HL,HL ; X32
|
||||
LD (MD_RAMDSIZE),HL ; SAVE RAM DISK SIZE
|
||||
CALL PRTDEC
|
||||
PRTS("KB$")
|
||||
#ENDIF
|
||||
@@ -183,21 +181,18 @@ MD_CAP: ; ASSUMES THAT UNIT 0 IS RAM, UNIT 1 IS ROM
|
||||
SYSCHKERR(ERR_NOUNIT) ; INVALID UNIT
|
||||
RET
|
||||
MD_CAP0:
|
||||
LD A,(HCB + HCB_RAMBANKS) ; POINT TO RAM BANK COUNT
|
||||
LD B,TOT_RAM_RB ; SET # RESERVED RAM BANKS
|
||||
JR MD_CAP2
|
||||
; RAM DISK SIZE
|
||||
LD HL,(MD_RAMDSIZE) ; SIZE IN KB
|
||||
JR MD_CAP2 ; CONTINUE
|
||||
MD_CAP1:
|
||||
LD A,(HCB + HCB_ROMBANKS) ; POINT TO ROM BANK COUNT
|
||||
LD B,TOT_ROM_RB ; SET # RESERVED ROM BANKS
|
||||
; ROM DISK SIZE
|
||||
LD HL,(MD_ROMDSIZE) ; SIZE IN KB
|
||||
MD_CAP2:
|
||||
SUB B ; SUBTRACT OUT RESERVED BANKS
|
||||
LD H,A ; H := # BANKS
|
||||
LD E,64 ; # 512 BYTE BLOCKS / BANK
|
||||
CALL MULT8 ; HL := TOTAL # 512 BYTE BLOCKS
|
||||
LD DE,0 ; NEVER EXCEEDS 64K, ZERO HIGH WORD
|
||||
ADD HL,HL ; CONVERT TO BLOCK COUNT
|
||||
LD DE,0 ; FILL IN HIGH WORD
|
||||
LD BC,512 ; 512 BYTE SECTOR
|
||||
XOR A
|
||||
RET
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET ; DONE
|
||||
;
|
||||
;
|
||||
;
|
||||
@@ -1032,6 +1027,8 @@ MD_FFSEN .DB 00h ; FLASH FILES SYSTEM ENABLE
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
MD_ROMDSIZE .DW 0
|
||||
MD_RAMDSIZE .DW 0
|
||||
MD_RWFNADR .DW 0
|
||||
MD_DSKBUF .DW 0
|
||||
MD_SRCBNK .DB 0
|
||||
|
||||
@@ -2,12 +2,11 @@
|
||||
; PCF8584 I2C CLOCK DRIVER
|
||||
;==================================================================================================
|
||||
;
|
||||
PCF_BASE .EQU 0F0H
|
||||
PCF_BASE .EQU PCFBASE
|
||||
PCF_ID .EQU 0AAH
|
||||
CPU_CLK .EQU 12
|
||||
|
||||
;
|
||||
PCF_RS0 .EQU PCF_BASE
|
||||
PCF_RS1 .EQU PCF_RS0+1
|
||||
PCF_RS1 .EQU PCF_BASE+1
|
||||
PCF_OWN .EQU (PCF_ID >> 1) ; PCF'S ADDRESS IN SLAVE MODE
|
||||
;
|
||||
;T4LC512D .EQU 10100000B ; DEVICE IDENTIFIER
|
||||
@@ -37,10 +36,10 @@ PCF_STA .EQU 00000100B
|
||||
PCF_STO .EQU 00000010B
|
||||
PCF_ACK .EQU 00000001B
|
||||
;
|
||||
PCF_START_ .EQU (PCF_PIN | PCF_ES0 | PCF_STA | PCF_ACK)
|
||||
PCF_STOP_ .EQU (PCF_PIN | PCF_ES0 | PCF_STO | PCF_ACK)
|
||||
PCF_REPSTART_ .EQU ( PCF_ES0 | PCF_STA | PCF_ACK)
|
||||
PCF_IDLE_ .EQU (PCF_PIN | PCF_ES0 | PCF_ACK)
|
||||
PCF_START_ .EQU (PCF_PIN | PCF_ES0 | PCF_STA | PCF_ACK)
|
||||
PCF_STOP_ .EQU (PCF_PIN | PCF_ES0 | PCF_STO | PCF_ACK)
|
||||
PCF_REPSTART_ .EQU (PCF_ES0 | PCF_STA | PCF_ACK)
|
||||
PCF_IDLE_ .EQU (PCF_PIN | PCF_ES0 | PCF_ACK)
|
||||
;
|
||||
; STATUS REGISTER BITS
|
||||
;
|
||||
@@ -54,43 +53,6 @@ PCF_AAS .EQU 00000100B
|
||||
PCF_LAB .EQU 00000010B
|
||||
PCF_BB .EQU 00000001B
|
||||
;
|
||||
; CLOCK CHIP FREQUENCIES
|
||||
;
|
||||
PCF_CLK3 .EQU 000H
|
||||
PCF_CLK443 .EQU 010H
|
||||
PCF_CLK6 .EQU 014H
|
||||
PCF_CLK8 .EQU 018H
|
||||
PCF_CLK12 .EQU 01cH
|
||||
;
|
||||
; TRANSMISSION FREQUENCIES
|
||||
;
|
||||
PCF_TRNS90 .EQU 000H ; 90 kHz */
|
||||
PCF_TRNS45 .EQU 001H ; 45 kHz */
|
||||
PCF_TRNS11 .EQU 002H ; 11 kHz */
|
||||
PCF_TRNS15 .EQU 003H ; 1.5 kHz */
|
||||
;
|
||||
; TIMEOUT AND DELAY VALUES (ARBITRARY)
|
||||
;
|
||||
PCF_PINTO .EQU 65000
|
||||
PCF_ACKTO .EQU 65000
|
||||
PCF_BBTO .EQU 65000
|
||||
PCF_LABDLY .EQU 65000
|
||||
;
|
||||
; DATA PORT REGISTERS
|
||||
;
|
||||
#IF (CPU_CLK = 443)
|
||||
PCF_CLK .EQU PCF_CLK4433
|
||||
#ELSE
|
||||
#IF (CPU_CLK = 8)
|
||||
PCF_CLK .EQU PCF_CLK8
|
||||
#ELSE
|
||||
#IF (CPU_CLK = 12)
|
||||
PCF_CLK .EQU PCF_CLK12
|
||||
#ELSE ***ERROR
|
||||
#ENDIF
|
||||
#ENDIF
|
||||
#ENDIF
|
||||
;
|
||||
; THE PCF8584 TARGETS A TOP I2C CLOCK SPEED OF 90KHZ AND SUPPORTS DIVIDERS FOR
|
||||
; 3, 4.43, 6, 8 AND 12MHZ TO ACHEIVE THIS.
|
||||
;
|
||||
@@ -104,14 +66,44 @@ PCF_CLK .EQU PCF_CLK12
|
||||
; | 12MHz | | | | | | 90Khz | 120Khz | 138Khz | 150Khz |
|
||||
; +----------------------------------------------------------------------------------+---------+
|
||||
;
|
||||
PCF8584_INIT:
|
||||
; CLOCK CHIP FREQUENCIES
|
||||
;
|
||||
PCF_CLK3 .EQU 000H
|
||||
PCF_CLK443 .EQU 010H
|
||||
PCF_CLK6 .EQU 014H
|
||||
PCF_CLK8 .EQU 018H
|
||||
PCF_CLK12 .EQU 01CH
|
||||
;
|
||||
; TRANSMISSION FREQUENCIES
|
||||
;
|
||||
PCF_TRNS90 .EQU 000H ; 90 kHz */
|
||||
PCF_TRNS45 .EQU 001H ; 45 kHz */
|
||||
PCF_TRNS11 .EQU 002H ; 11 kHz */
|
||||
PCF_TRNS15 .EQU 003H ; 1.5 kHz */
|
||||
;
|
||||
; BELOW VARIABLES CONTROL PCF CLOCK DIVISOR PROGRAMMING
|
||||
; HARD-CODED FOR NOW
|
||||
;
|
||||
PCF_CLK .EQU PCF_CLK12
|
||||
PCF_TRNS .EQU PCF_TRNS90
|
||||
;
|
||||
; TIMEOUT AND DELAY VALUES (ARBITRARY)
|
||||
;
|
||||
PCF_PINTO .EQU 65000
|
||||
PCF_ACKTO .EQU 65000
|
||||
PCF_BBTO .EQU 65000
|
||||
PCF_LABDLY .EQU 65000
|
||||
;
|
||||
; DATA PORT REGISTERS
|
||||
;
|
||||
PCF_INIT:
|
||||
CALL NEWLINE ; Formatting
|
||||
PRTS("I2C: IO=0x$")
|
||||
PRTS("PCF: IO=0x$")
|
||||
LD A, PCF_BASE
|
||||
CALL PRTHEXBYTE
|
||||
CALL PC_SPACE
|
||||
CALL PCF_INIT
|
||||
CALL NEWLINE
|
||||
CALL PCF_INITDEV
|
||||
;CALL NEWLINE
|
||||
RET
|
||||
;
|
||||
; LINUX DRIVER BASED CODE
|
||||
@@ -141,11 +133,13 @@ PCF_STOP:
|
||||
;
|
||||
;-----------------------------------------------------------------------------
|
||||
;
|
||||
PCF_INIT:
|
||||
PCF_INITDEV:
|
||||
LD A,PCF_PIN ; S1=80H: S0 SELECTED, SERIAL
|
||||
OUT (PCF_RS1),A ; INTERFACE OFF
|
||||
NOP
|
||||
IN A,(PCF_RS1) ; CHECK TO SEE S1 NOW USED AS R/W
|
||||
;CALL PC_SPACE
|
||||
;CALL PRTHEXBYTE
|
||||
AND 07FH ; CTRL. PCF8584 DOES THAT WHEN ESO
|
||||
JR NZ,PCF_FAIL ; IS ZERO
|
||||
;
|
||||
@@ -153,6 +147,8 @@ PCF_INIT:
|
||||
OUT (PCF_RS0),A ; EFFECTIVE ADDRESS IS (OWN <<1)
|
||||
NOP
|
||||
IN A,(PCF_RS0) ; CHECK IT IS REALLY WRITTEN
|
||||
;CALL PC_SPACE
|
||||
;CALL PRTHEXBYTE
|
||||
CP PCF_OWN
|
||||
JP NZ,PCF_SETERR
|
||||
;
|
||||
@@ -160,14 +156,18 @@ PCF_INIT:
|
||||
OUT (PCF_RS1),A ; NEXT BYTE IN S2
|
||||
NOP
|
||||
IN A,(PCF_RS1)
|
||||
;CALL PC_SPACE
|
||||
;CALL PRTHEXBYTE
|
||||
AND 07FH
|
||||
CP PCF_ES1
|
||||
JP NZ,PCF_REGERR
|
||||
;
|
||||
LD A,PCF_CLK ; LOAD CLOCK REGISTER S2
|
||||
LD A,PCF_CLK | PCF_TRNS ; LOAD CLOCK REGISTER S2
|
||||
OUT (PCF_RS0),A
|
||||
NOP
|
||||
IN A,(PCF_RS0) ; CHECK IT'S REALLY WRITTEN, ONLY
|
||||
;CALL PC_SPACE
|
||||
;CALL PRTHEXBYTE
|
||||
AND 1FH ; THE LOWER 5 BITS MATTER
|
||||
CP PCF_CLK
|
||||
JP NZ,PCF_CLKERR
|
||||
@@ -176,6 +176,8 @@ PCF_INIT:
|
||||
OUT (PCF_RS1),A
|
||||
NOP
|
||||
IN A,(PCF_RS1)
|
||||
;CALL PC_SPACE
|
||||
;CALL PRTHEXBYTE
|
||||
CP +(PCF_PIN | PCF_BB)
|
||||
JP NZ,PCF_IDLERR
|
||||
;
|
||||
@@ -381,12 +383,12 @@ PCF_READI2C:
|
||||
;
|
||||
; POLL THE BUS BUSY BIT TO DETERMINE IF BUS IS FREE.
|
||||
; RETURN WITH A=00H/Z STATUS IF BUS IS FREE
|
||||
; RETURN WITH A=FFH/NZ STATUS IF BUS
|
||||
; RETURN WITH A=FFH/NZ STATUS IF BUS IS BUSY
|
||||
;
|
||||
; AFTER RESET THE BUS BUSY BIT WILL BE SET TO 1 I.E. NOT BUSY
|
||||
;
|
||||
PCF_WAIT_FOR_BB:
|
||||
LD HL,PCF_BBTO
|
||||
LD HL,PCF_BBTO
|
||||
PCF_WFBB0:
|
||||
IN A,(PCF_RS1)
|
||||
AND PCF_BB
|
||||
@@ -238,11 +238,16 @@ PKD_GETKEY2:
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
;
|
||||
; DISPLAY HEX VALUE FROM DE:HL
|
||||
;
|
||||
PKD_SHOWHEX:
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
LD BC,DSKY_HEXBUF ; POINT TO HEX BUFFER
|
||||
CALL ST32 ; STORE 32-BIT BINARY THERE
|
||||
LD HL,DSKY_HEXBUF ; FROM: BINARY VALUE (HL)
|
||||
LD DE,DSKY_BUF ; TO: SEGMENT BUFFER (DE)
|
||||
CALL DSKY_BIN2SEG ; CONVERT
|
||||
LD HL,DSKY_BUF ; POINT TO SEGMENT BUFFER
|
||||
; AND FALL THRU TO DISPLAY IT
|
||||
;
|
||||
;
|
||||
;
|
||||
@@ -366,7 +371,6 @@ PKD_KEYMAP:
|
||||
; POS $18 $19 $1A $1B
|
||||
; KEY [F4] [F3] [F2] [F1]
|
||||
.DB $23, $22, $21, $20
|
||||
|
||||
;
|
||||
;==================================================================================================
|
||||
; PKD OUTPUT ROUTINES
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
;==================================================================================================
|
||||
;
|
||||
; TODO:
|
||||
; 1) ADD SUPPORT FOR DSKY
|
||||
;
|
||||
PPP_IO .EQU PPPBASE + 0 ; PPP DATA I/O (PPI PORT A)
|
||||
PPP_CTL .EQU PPPBASE + 2 ; PPP CTL LINES (PPI PORT C)
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
;==================================================================================================
|
||||
;
|
||||
; TODO:
|
||||
; 1) ADD SUPPORT FOR DSKY
|
||||
;
|
||||
PRP_IOBASE .EQU $A8
|
||||
;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user