mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
best so far
This commit is contained in:
@@ -3,21 +3,34 @@
|
||||
; ROMWBW 2.X CONFIGURATION FOR N8 5/8/2012
|
||||
;==================================================================================================
|
||||
;
|
||||
; About Doug's configuration
|
||||
;
|
||||
; The CPU Frequency is specified as 18 (MHz)
|
||||
; The Platform is PLT_N8
|
||||
; The default VDA is the TMS9918 (N8V)
|
||||
; The default emulation is ANSI
|
||||
; The DSKMAP is DM_PPIDE
|
||||
; The N8VENABLE is TRUE
|
||||
; The PPIDEENABLE is TRUE
|
||||
; The PPIDECAPACITY is 200*9
|
||||
; The TTYENABLE AND ANSIENABLE ARE TRUE
|
||||
|
||||
|
||||
; BUILD CONFIGURATION OPTIONS
|
||||
;
|
||||
CPUFREQ .EQU 20 ; IN MHZ, USED TO COMPUTE DELAY FACTORS
|
||||
CPUFREQ .EQU 18 ; IN MHZ, USED TO COMPUTE DELAY FACTORS
|
||||
;
|
||||
PLATFORM .EQU PLT_N8 ; PLT_N8VEM, PLT_ZETA, PLT_N8
|
||||
;
|
||||
DEFCON .EQU CIODEV_UART ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, CIODEV_VDU, DIODEV_PRPCON
|
||||
ALTCON .EQU DEFCON ; ALT CONSOLE DEVICE (USED WHEN CONFIG JUMPER SHORTED)
|
||||
DEFVDA .EQU VDADEV_N8V ; DEFAULT VDA (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_7220, VDADEV_N8V)
|
||||
DEFEMU .EQU EMUTYP_TTY ; DEFAULT EMULATION TYPE (EMUTYP_TTY, EMUTYP_ANSI, ...)
|
||||
DEFEMU .EQU EMUTYP_ANSI ; EMUTYP_TTY ; DEFAULT EMULATION TYPE (EMUTYP_TTY, EMUTYP_ANSI, ...)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
|
||||
CLRRAMDISK .EQU CLR_AUTO ; CLR_ALWAYS, CLR_NEVER, CLR_AUTO (CLEAR IF INVALID DIR AREA)
|
||||
;
|
||||
DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD
|
||||
DSKMAP .EQU DM_PPIDE ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD
|
||||
;
|
||||
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
|
||||
;
|
||||
@@ -48,16 +61,16 @@ IDETRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
|
||||
IDE8BIT .EQU FALSE ; USE IDE 8BIT TRANSFERS (PROBABLY ONLY WORKS FOR CF CARDS!)
|
||||
IDECAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
|
||||
;
|
||||
PPIDEENABLE .EQU FALSE ; TRUE FOR PPIDE SUPPORT (DO NOT COMBINE WITH DSKYENABLE)
|
||||
PPIDEENABLE .EQU TRUE ; TRUE FOR PPIDE SUPPORT (DO NOT COMBINE WITH DSKYENABLE)
|
||||
PPIDEMODE .EQU PPIDEMODE_STD ; PPIDEMODE_STD, PPIDEMODE_DIO3
|
||||
PPIDETRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPIDEENABLE = TRUE)
|
||||
PPIDE8BIT .EQU FALSE ; USE IDE 8BIT TRANSFERS (PROBABLY ONLY WORKS FOR CF CARDS!)
|
||||
PPIDECAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
|
||||
PPIDECAPACITY .EQU 200*9 ; CAPACITY OF DEVICE (IN MB)
|
||||
PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPIDE IS UNRELIABLE)
|
||||
;
|
||||
SDENABLE .EQU TRUE ; TRUE FOR SD SUPPORT
|
||||
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
|
||||
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
|
||||
SDTRACE .EQU 2 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
|
||||
SDCAPACITY .EQU 200*9 ; CAPACITY OF DEVICE (IN MB)
|
||||
SDCSIO .EQU TRUE ; TRUE IF USING THE CSIO PORT (N8 ONLY)
|
||||
SDCSIOFAST .EQU FALSE ; TRUE IF USING THE LOOKUP TABLE RATHER THAN SHIFTS AND ROTATES (N8 ONLY)
|
||||
PPISD .EQU FALSE ; TRUE IF USING PPISD MINI-BOARD (DO NOT COMBINE WITH PPIDE)
|
||||
|
||||
@@ -502,11 +502,10 @@ N8V_OFFSET:
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
N8V_VDAWRC:
|
||||
|
||||
LD (VDP_POS),HL ; accept curpos from caller in HL
|
||||
;;; LD (VDP_POS),HL ; accept curpos from caller in HL
|
||||
|
||||
PUSH DE
|
||||
|
||||
LD hl,row_offs ; hl -> row offset table
|
||||
LD A,(VDP_ROW) ; pick up cursor row
|
||||
LD E,A ; place in LO byte of DE
|
||||
LD d,0 ; make 16 bits
|
||||
@@ -527,25 +526,7 @@ N8V_VDAWRC:
|
||||
LD C,DATAP ; I/O address for subsequent VRAM write
|
||||
OUT (C),a ; prime the auto incrementer
|
||||
OUT (C),a ; output the data byte into the name table
|
||||
|
||||
; LD A,(VDP_COL)
|
||||
; INC A
|
||||
; LD (VDP_COL),A
|
||||
; CP 40
|
||||
; JR NZ,N8V_VDAWRC2
|
||||
; LD A,0
|
||||
; LD (VDP_COL),A
|
||||
; LD A,(VDP_ROW)
|
||||
; INC A
|
||||
; LD (VDP_ROW),A
|
||||
; CP 24
|
||||
; JR NZ, N8V_VDAWRC2
|
||||
; ; need to scroll up one line
|
||||
; LD A,1 ; SCROLL ONE LINE
|
||||
; LD E,A ; NEEDS TO BE IN A
|
||||
; CALL N8V_VDASCR ; USE SCROLLING FUNCTION
|
||||
;N8V_VDAWRC2:
|
||||
|
||||
|
||||
XOR A ; set SUCCESS return code
|
||||
RET ; return from HBIOS call
|
||||
|
||||
@@ -727,6 +708,14 @@ RECOVER:
|
||||
|
||||
VDP_DEVUNIT .DB 0
|
||||
|
||||
|
||||
; The following data items, VDP_COL and VDP_ROW area
|
||||
; data bytes that can be retrieved together with a
|
||||
; word fetch using the VDP_POS label. It is generally
|
||||
; set by a call to VDASCP from the emulation layer.
|
||||
; It is used by VDAFIL specifically to denote the beginning
|
||||
; of the fill area not specified in the API of VDAFIL.
|
||||
|
||||
VDP_POS:
|
||||
VDP_COL .DB 0 ; col number 0-39
|
||||
VDP_ROW .DB 0 ; row number 0-23
|
||||
|
||||
@@ -95,7 +95,7 @@ TTY_DOCHAR:
|
||||
CP 32 ; COMPARE TO SPACE (FIRST PRINTABLE CHARACTER)
|
||||
RET C ; SWALLOW OTHER CONTROL CHARACTERS
|
||||
|
||||
LD HL,(TTY_POS) ; physical driver needs pos data to write
|
||||
;;; LD HL,(TTY_POS) ; physical driver needs pos data to write
|
||||
|
||||
LD B,BF_VDAWRC
|
||||
CALL EMU_VDADISP ; SPIT OUT THE RAW CHARACTER
|
||||
|
||||
@@ -147,6 +147,10 @@ endif
|
||||
endif
|
||||
|
||||
all: tasm80.tab tasm85.tab $(OUTDIR)/$(ROMNAME).rom $(OUTDIR)/$(ROMNAME).sys $(OUTDIR)/$(ROMNAME).com
|
||||
rm -f *.asm
|
||||
rm -f *.bin
|
||||
rm -f *.inc *.tab *.tmp
|
||||
rm -f diskdefs *.exp
|
||||
|
||||
tasm80.tab: bin/TASM80.TAB
|
||||
cp bin/TASM80.TAB tasm80.tab
|
||||
|
||||
Reference in New Issue
Block a user