From 6647b09cf7f6705b5568bd66b01610b938a1ff65 Mon Sep 17 00:00:00 2001 From: Wayne Warthen Date: Fri, 20 Dec 2024 15:57:36 -0800 Subject: [PATCH] Fixes to EaZy80-512 Build --- .gitignore | 1 + Source/EZ512/ez512_cfldr.bin | Bin 0 -> 144 bytes Source/EZ512/ez512_mon.bin | Bin 0 -> 3425 bytes Source/EZ512/ez512_ptbl.bin | Bin 0 -> 72 bytes Source/HBIOS/Config/RCZ80_ez512_std.asm | 112 ++++++++++++++++++++++++ Source/HBIOS/sd.asm | 8 ++ 6 files changed, 121 insertions(+) create mode 100644 Source/EZ512/ez512_cfldr.bin create mode 100644 Source/EZ512/ez512_mon.bin create mode 100644 Source/EZ512/ez512_ptbl.bin create mode 100644 Source/HBIOS/Config/RCZ80_ez512_std.asm diff --git a/.gitignore b/.gitignore index de5cc743..a468cb9a 100644 --- a/.gitignore +++ b/.gitignore @@ -98,6 +98,7 @@ Tools/unix/zx/zx !Source/ZSDOS/*.[Cc][Oo][Mm] !Source/ZRC/*.bin !Source/ZRC512/*.bin +!Source/EZ512/*.bin !Source/Z1RCC/*.bin !Source/ZZRCC/*.bin !Source/FZ80/*.bin diff --git a/Source/EZ512/ez512_cfldr.bin b/Source/EZ512/ez512_cfldr.bin new file mode 100644 index 0000000000000000000000000000000000000000..a819d677ad248195b6c7f07efabe7f8d3b65b4db GIT binary patch literal 144 zcmYL>Ee?b*6b2uLpa?&uMHa^?p4~g4dI8Qt()17;l2xC?fWZ-vr2;m)D|V8RGtBc0 zNXZ;UK%O)2JD}7wDYdS~XdS{Z096GDA*J_CLu755X4$VPimtn^`yNLk=YXbO`2YX_ literal 0 HcmV?d00001 diff --git a/Source/EZ512/ez512_mon.bin b/Source/EZ512/ez512_mon.bin new file mode 100644 index 0000000000000000000000000000000000000000..67f86b5b3a402b20fb019f8da58b714c3317f50e GIT binary patch literal 3425 zcmdrPYiwIr`8dte?xLH2g^9H)$euo4)ECOqtXX8^!l+bW)+6}bdY6EVXMdO^@ETdTSuLP zBLXPqD5pPLt(*Glq~lpSp2!8kG8eGb?eV+Z!#+Kt<4@r2J8<;>^OHU=N}ZxKnvkv} zr0WTOTCHh9v(oS8pIjnP33I0TpxDfb&9x%;!$fKz!Tl4}R*Ngs>jrb-%C)LbxHzGv z-cD$(Wg?S65l`FSyg6X)$V z82hKm=%%BFl%}9&Fu$x7CMSc_wn?o3W?(lzD^h{x{ra5l2;=_N{o+y`EK#lD4PcQ! zQDp~F?hf%aqt<}mXwI<~V0ssR2#Pry-%~XLuk+(pA zi2dFCi;#<|r}QK1Z_eLD^&?s2uZ zh)IfYizLqCk~Y2-mNWr2S5waT_;=s3%>W!A4zHjG=4*X?vA(A+;vkf;a@YA@$AB1E3b-UB(-)Yr9~2ctb0I z2|d&d$$hVZ(|`$W~3p?!rFd{65X5XUnCY5N9Jf zEJD)vLtG;TH@3&lq1*h1#}rTA2qoa*&`pbHDwupfL>6r&d%@N1*tX{9M6PKk<$wrQ zj3{Y91?ii)+?Dc3t!O0tND$1@=}!75->tR1Kr}WT+UWQT?c@0nNb)|Qy(z|&j%Cb-~ zsyr7>2?^c~g~5LX1~`is8)44o-c3nMjGWWZ-`$WJ2#MRcN@5}nrF<@C$yQ65C=Hs@ zsa*^80em@1_@yzDkWP{KIZ6DSh5-;b=}13T(z2(=Vb8$YW-eCY=zc_`avWN_w2ncK zm?9@8;adroJE7l;jp-zlIujy(_&yPj>l^Z7=-R_olkzV0}CfEXa%3>wbBxPM(5Je-j?rh!C`M>S)4z`6B7- zJ?1n)zO`i1|8qI&K0@tGEyZ=A3WB}_sJ0<5eM$dU-CC+&+Q0p&L{$r5rgZx=cTv`` zxd<*G1v7F;hUk{{0Pfy9Pu{zG%zx5YTo{^MCOmMX97rtH>i^kFL;14&(z1LHB!RUX zenbht*=6~DW9D2!V;kh)N3-!?7W2I(Z&~#;HJjIO-BzmA7L59 zG7JyHtLOqC*y9y^KI{aHQr zpfDs16ONl0AQx{i*@_#-5vKR^Rs!iabOH*_zWj#+V%T1%*Xwfj3)riNaLMh(!@{^f zr*H^6hbOSx|Ayej1HuF*?0i5TuY1VjhYtpZ?Qr^?_^bA_*ykJ)u+vADHR^JY_`s~Q zZ%gE}*u$O?KfVO^F!>J~7(ax! nK09FbuOOWN@}QV&a4@em=JLM*x#{eLs06P&M<&RoWkCJ~V=CP$ literal 0 HcmV?d00001 diff --git a/Source/EZ512/ez512_ptbl.bin b/Source/EZ512/ez512_ptbl.bin new file mode 100644 index 0000000000000000000000000000000000000000..5e9fc41de3484117f956625e9ae56931c6dd2949 GIT binary patch literal 72 ncmdOGQ=G{F1dJSd{1^T+aDdnXKz#5&8<-Db^MC~Lg3wg}k^u-} literal 0 HcmV?d00001 diff --git a/Source/HBIOS/Config/RCZ80_ez512_std.asm b/Source/HBIOS/Config/RCZ80_ez512_std.asm new file mode 100644 index 00000000..cc926d55 --- /dev/null +++ b/Source/HBIOS/Config/RCZ80_ez512_std.asm @@ -0,0 +1,112 @@ +; +;================================================================================================== +; ROMWBW DEFAULT BUILD SETTINGS FOR RCBUS Z80 ZRC512 +;================================================================================================== +; +; THIS FILE DEFINES THE DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM +; INDICATED ABOVE. THESE SETTINGS DEFINE THE OFFICIAL BUILD FOR THIS +; PLATFORM AS DISTRIBUTED IN ROMWBW RELEASES. +; +; ROMWBW USES CASCADING CONFIGURATION FILES AS INDICATED BELOW: +; +; cfg_MASTER.asm - MASTER: CONFIGURATION FILE DEFINES ALL POSSIBLE ROMWBW SETTINGS +; | +; +-> cfg_.asm - PLATFORM: DEFAULT SETTINGS FOR SPECIFIC PLATFORM +; | +; +-> Config/_std.asm - BUILD: SETTINGS FOR EACH OFFICIAL DIST BUILD +; | +; +-> Config/_.asm - USER: CUSTOM USER BUILD SETTINGS +; +; THE TOP (MASTER CONFIGURATION) FILE DEFINES ALL POSSIBLE ROMWBW +; CONFIGURATION SETTINGS. EACH FILE BELOW THE MASTER CONFIGURATION FILE +; INHERITS THE CUMULATIVE SETTINGS OF THE FILES ABOVE IT AND MAY +; OVERRIDE THESE SETTINGS AS DESIRED. +; +; OTHER THAN THE TOP MASTER FILE, EACH FILE MUST "#INCLUDE" ITS PARENT +; FILE (SEE #INCLUDE STATEMENT BELOW). THE TOP TWO FILES SHOULD NOT BE +; MODIFIED. +; +; TO CUSTOMIZE YOUR BUILD SETTINGS YOU SHOULD MODIFY THIS FILE, THE +; DEFAULT BUILD SETTINGS (Config/_std.asm) OR PREFERABLY +; CREATE AN OPTIONAL CUSTOM USER SETTINGS FILE THAT INCLUDES THE DEFAULT +; BUILD SETTINGS FILE (SEE EXAMPLE Config/SBC_user.asm). +; +; BY CREATING A CUSTOM USER SETTINGS FILE, YOU ARE LESS LIKELY TO BE +; IMPACTED BY FUTURE CHANGES BECAUSE YOU WILL BE INHERITING MOST +; OF YOUR SETTINGS WHICH WILL BE UPDATED BY AUTHORS AS ROMWBW EVOLVES. +; +; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE +; SOURCE DIRECTORY (TWO DIRECTORIES ABOVE THIS ONE). +; +; *** WARNING: ASIDE FROM THE MASTER CONFIGURATION FILE, YOU MUST USE +; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT +; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU". +; +#DEFINE PLATFORM_NAME "EaZy80-512", " [", CONFIG, "]" +; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE +#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED +; +#INCLUDE "cfg_RCZ80.asm" +; +CPUOSC .SET 22000000 ; CPU OSC FREQ IN MHZ +; +INTMODE .SET 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280) +; +KIOENABLE .SET TRUE ; ENABLE ZILOG KIO SUPPORT +KIOBASE .SET $00 ; KIO BASE I/O ADDRESS +; +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_EZ512 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH|MON|EZ512] +FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS +FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES +CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP +VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD +; +CTCENABLE .SET TRUE ; ENABLE ZILOG CTC SUPPORT +CTCBASE .SET KIOBASE+$04 ; CTC BASE I/O ADDRESS +CTCTIMER .SET TRUE ; ENABLE CTC PERIODIC TIMER +CTCOSC .SET 3686400 ; CTC CLOCK FREQUENCY +; +DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.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) +SIOCNT .SET 1 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP +SIO0MODE .SET SIOMODE_STD ; SIO 0: CHIP TYPE: SIOMODE_[STD|RC|SMB|ZP|Z80R] +SIO0BASE .SET KIOBASE+$08 ; SIO 0: REGISTERS BASE ADR +SIO0ACLK .SET CTCOSC ; SIO 0A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800 +SIO0ACTCC .SET 0 ; SIO 0A: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE +SIO0BCLK .SET CTCOSC ; SIO 0B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800 +SIO0BCTCC .SET 1 ; SIO 0B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE +; +TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM) +TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU] +TMS80COLS .SET FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958 +TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1) +VRCENABLE .SET TRUE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM) +EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM) +; +MDROM .SET FALSE ; MD: ENABLE ROM DISK +; +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|MBC] +; +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_EZ512 ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512] +SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY +PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM) +IMMENABLE .SET FALSE ; IMM: ENABLE IMM DISK DRIVER (IMM.ASM) +; +SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER +; +AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER +AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU] +AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT diff --git a/Source/HBIOS/sd.asm b/Source/HBIOS/sd.asm index cd97c26c..36090bb6 100644 --- a/Source/HBIOS/sd.asm +++ b/Source/HBIOS/sd.asm @@ -453,6 +453,7 @@ SD_CINIT .EQU TRUE ; INITIALIZE OUTPUT PORT SD_DDR .EQU $03 ; DATA DIRECTION REGISTER SD_DDRVAL .EQU %11100110 ; DATA DIRECTION REGISTER VALUE SD_INVCS .EQU TRUE ; INVERT CS + DEVECHO "EZ512" #ENDIF ; DEVECHO ", IO=" @@ -713,6 +714,13 @@ SD_INIT: LD A,SD_IOBASE CALL PRTHEXBYTE #ENDIF +; +#IF (SDMODE == SDMODE_EZ512) + PRTS(" MODE=EZ512$") + PRTS(" IO=0x$") + LD A,SD_IOBASE + CALL PRTHEXBYTE +#ENDIF ; CALL SD_PROBE ; CHECK FOR HARDWARE JR Z,SD_INIT00 ; CONTINUE IF PRESENT