mirror of https://github.com/zxdos/zxuno.git
Versiono algunos archivos del firmware
This commit is contained in:
parent
801bef8dd2
commit
c9304955ab
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
@ -0,0 +1,66 @@
|
||||||
|
echo define version %1 > version.asm
|
||||||
|
call make.bat
|
||||||
|
Bit2Bin ..\cores\Spectrum\zxuno.%2.bit tmp.bin
|
||||||
|
fpad 2000 00 tmp0.bin
|
||||||
|
fpad 4c000 00 tmp1.bin
|
||||||
|
fpad 354000 00 tmp2.bin
|
||||||
|
copy /b /y header.bin+rom_binaries\esxdos.rom+tmp0.bin+firmware.rom+tmp1.bin+tmp.bin+tmp2.bin FLASH.ZX1
|
||||||
|
fpoke FLASH.ZX1 007000 000040xFF 007044 g0203020202
|
||||||
|
fcut tmp.bin 0 53f00 sd_binaries\SPECTRUM.%3
|
||||||
|
GenRom 0 203 0 0 0 Machine tmp.bin core_taps\SPECTRUM.TAP
|
||||||
|
rem CgLeches core_taps\SPECTRUM.TAP core_wavs\SPECTRUM.WAV 4
|
||||||
|
call :CreateMachine CORE2 "Sam Coupe" SamCoupe\tld_sam.%2.bit 0 %3
|
||||||
|
call :CreateMachine CORE3 "Jupiter ACE" JupiterAce\jupiter_ace.%2.bit JupiterAce\jupiter_ace.v2_v3.bit %3
|
||||||
|
rem call :CreateMachine CORE4 "Master System" sms_v2_spartan6\test4\sms_final_v4.bit
|
||||||
|
rem call :CreateMachine CORE5 "Oric Atmos" oric_spartan6\test1\build\oric_v4.bit
|
||||||
|
rem call :CreateMachine CORE6 "BBC Micro" BBCMicro\test3\working\bbc_micro_v4.bit
|
||||||
|
rem call :CreateMachine CORE7 "Apple ][ (VGA)" Apple2_spartan6\test2\build\apple2_top_v4.bit
|
||||||
|
rem call :CreateMachine CORE8 "Acorn Atom (VGA)" acorn_atom_spartan6\test2\working\atomic_top_zxuno_v4.bit
|
||||||
|
rem call :CreateMachine CORE9 "NES (VGA)" nes_v2_spartan6\test1_v4\xilinx\nes_zxuno_v4.bit
|
||||||
|
copy /y rom_binaries\esxdos.rom sd_binaries\ESXDOS.%3
|
||||||
|
copy /y firmware.rom sd_binaries\FIRMWARE.%3
|
||||||
|
GenRom 0 202 0 0 0 BIOS firmware.rom core_taps\FIRMWARE.TAP
|
||||||
|
GenRom 0 0 0 0 0 ESXDOS rom_binaries\esxdos.rom core_taps\ESXDOS.TAP
|
||||||
|
call :CreateRom 0 "ZX Spectrum 48K Cargando Leches" leches dn 8 4 0 0
|
||||||
|
call :CreateRom 1 "ZX +3e DivMMC" plus3en40divmmc t 8 4 0 0
|
||||||
|
call :CreateRom 5 "SE Basic IV 4.0 Anya" se d 8 4 0 0
|
||||||
|
call :CreateRom 7 "ZX Spectrum 48K" 48 dn 8 4 0 32
|
||||||
|
call :CreateRom 8 "Jet Pac (1983)" JetPac 0 8 1 0 32
|
||||||
|
call :CreateRom 9 "Pssst (1983)" Pssst 0 8 1 0 32
|
||||||
|
call :CreateRom 10 "Cookie (1983)" Cookie 0 8 1 0 32
|
||||||
|
call :CreateRom 11 "Tranz Am (1983)" TranzAm 0 8 1 0 32
|
||||||
|
call :CreateRom 12 "Master Chess (1983)" MasterChess 0 8 1 0 32
|
||||||
|
call :CreateRom 13 "Backgammon (1983)" Backgammon 0 8 1 0 32
|
||||||
|
call :CreateRom 14 "Hungry Horace (1983)" HungryHorace 0 8 1 0 32
|
||||||
|
call :CreateRom 15 "Horace & the Spiders (1983)" HoraceSpiders 0 8 1 0 32
|
||||||
|
call :CreateRom 16 "Planetoids (1983)" Planetoids 0 8 1 0 32
|
||||||
|
call :CreateRom 17 "Space Raiders (1983)" SpaceRaiders 0 8 1 0 32
|
||||||
|
call :CreateRom 18 "Deathchase (1983)" Deathchase 0 8 1 0 32
|
||||||
|
call :CreateRom 19 "Manic Miner (1983)" ManicMiner 0 8 1 0 32
|
||||||
|
call :CreateRom 20 "Misco Jones (2013)" MiscoJones 0 8 1 0 32
|
||||||
|
call :CreateRom 21 "Jet Set Willy (1984)" JetSetWilly 0 8 1 0 32
|
||||||
|
call :CreateRom 22 "Lala Prologue (2010)" LalaPrologue 0 8 1 0 32
|
||||||
|
srec_cat FLASH.ZX1 -binary ^
|
||||||
|
-o prom.%2.mcs -Intel ^
|
||||||
|
-line-length=44 ^
|
||||||
|
-line-termination=nl
|
||||||
|
del tmp.bin tmp0.bin tmp1.bin tmp2.bin
|
||||||
|
move /y FLASH.ZX1 sd_binaries\FLASH.%3
|
||||||
|
goto :eof
|
||||||
|
|
||||||
|
:CreateMachine
|
||||||
|
IF EXIST ..\cores\%3 (
|
||||||
|
Bit2Bin ..\cores\%3 sd_binaries\%1.%5
|
||||||
|
) ELSE (
|
||||||
|
Bit2Bin ..\cores\%4 sd_binaries\%1.%5
|
||||||
|
)
|
||||||
|
GenRom 0 0 0 0 0 %2 sd_binaries\%1.%5 core_taps\%1.TAP
|
||||||
|
AddItem %1 core_taps\%1.tap
|
||||||
|
rem CgLeches core_taps\%1.TAP core_wavs\%1.WAV 4
|
||||||
|
goto :eof
|
||||||
|
|
||||||
|
:CreateRom
|
||||||
|
GenRom %4 %5 %6 %7 %8 %2 rom_binaries\%3.rom rom_taps\%3.tap
|
||||||
|
AddItem ROM %1 rom_taps\%3.tap
|
||||||
|
rem CgLeches rom_taps\%3.tap rom_wavs\%3.wav 4
|
||||||
|
:eof
|
|
@ -0,0 +1,4 @@
|
||||||
|
rem call generamcs 1 Ap ZZA
|
||||||
|
call generamcs 2 v2 ZZ2
|
||||||
|
rem call generamcs 3 v3 ZZ3
|
||||||
|
rem call generamcs 4 v4 ZX1
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,5 @@
|
||||||
|
sjasmplus firmware.asm
|
||||||
|
fcut firmware_strings.rom 7e00 -7e00 strings.bin
|
||||||
|
zx7b strings.bin strings.bin.zx7b
|
||||||
|
sjasmplus firmware.asm
|
||||||
|
fcut firmware_strings.rom 0000 4000 firmware.rom
|
|
@ -0,0 +1,139 @@
|
||||||
|
define debug 0
|
||||||
|
|
||||||
|
inirea push hl
|
||||||
|
push bc
|
||||||
|
reinit call mmcinit
|
||||||
|
pop bc
|
||||||
|
pop hl
|
||||||
|
ret nz
|
||||||
|
; defb $32
|
||||||
|
readat0 ld e, 0
|
||||||
|
readata push hl
|
||||||
|
push bc
|
||||||
|
ld a, READ_SINGLE ; Command code for multiple block read
|
||||||
|
call cs_low ; set cs high
|
||||||
|
ld bc, READ_SINGLE<<8 | SPI_PORT
|
||||||
|
out (c), b
|
||||||
|
ld a, (sdhc)
|
||||||
|
or a
|
||||||
|
jr z, mul2
|
||||||
|
out (c), 0
|
||||||
|
out (c), e
|
||||||
|
out (c), h
|
||||||
|
out (c), l
|
||||||
|
call send0z
|
||||||
|
jr mul3
|
||||||
|
mul2 ld a, e
|
||||||
|
add hl, hl
|
||||||
|
adc a, a
|
||||||
|
out (c), a
|
||||||
|
out (c), h
|
||||||
|
out (c), l
|
||||||
|
call send1z
|
||||||
|
mul3 or a
|
||||||
|
jr nz, reinit
|
||||||
|
waitl call waitr
|
||||||
|
sub $fe ; waits for the MMC to reply $FE (DATA TOKEN)
|
||||||
|
jr z, waitm
|
||||||
|
djnz waitl
|
||||||
|
waitm push ix
|
||||||
|
pop hl ; INI usa HL come puntatore
|
||||||
|
ld b, a
|
||||||
|
inir
|
||||||
|
inir
|
||||||
|
pop bc
|
||||||
|
pop hl
|
||||||
|
ret
|
||||||
|
|
||||||
|
mmcinit xor a
|
||||||
|
ld (sdhc), a
|
||||||
|
ld iyl, a
|
||||||
|
dec a
|
||||||
|
call cs_high ; set cs high
|
||||||
|
ld bc, $09<<8 | SPI_PORT
|
||||||
|
l_init out (c), a
|
||||||
|
djnz l_init
|
||||||
|
call cs_low ; set cs low
|
||||||
|
ld hl, $95<<8 | CMD0
|
||||||
|
call send5
|
||||||
|
dec a ; MMC should respond 01 to this command
|
||||||
|
ret nz ; fail to reset
|
||||||
|
ld l, CMD8
|
||||||
|
out (c), l ; sends the command
|
||||||
|
out (c), 0
|
||||||
|
out (c), 0
|
||||||
|
inc a
|
||||||
|
out (c), a
|
||||||
|
ld hl, $87aa
|
||||||
|
out (c), l
|
||||||
|
call send0z
|
||||||
|
dec a
|
||||||
|
jr z, sdv2
|
||||||
|
ld h, 0
|
||||||
|
call acmd41
|
||||||
|
cp 2
|
||||||
|
jr nc, mmc
|
||||||
|
IF debug=1
|
||||||
|
ld a, 1
|
||||||
|
out ($fe), a
|
||||||
|
ENDIF
|
||||||
|
sdv1 call acmd41
|
||||||
|
call count
|
||||||
|
jr z, count
|
||||||
|
and a
|
||||||
|
jr nz, sdv1
|
||||||
|
mmc1 and a
|
||||||
|
ret z
|
||||||
|
mmc ld l, CMD1
|
||||||
|
call send5
|
||||||
|
call count
|
||||||
|
jr nz, mmc1
|
||||||
|
count dec b
|
||||||
|
ret nz
|
||||||
|
dec iyl
|
||||||
|
ret
|
||||||
|
sdv2 ld h, $40
|
||||||
|
call sdv1
|
||||||
|
ld l, CMD58
|
||||||
|
call send5
|
||||||
|
in a, (c)
|
||||||
|
cp $c0
|
||||||
|
jr nz, sig2
|
||||||
|
ld (sdhc), a
|
||||||
|
sig2 in a, (c)
|
||||||
|
in a, (c)
|
||||||
|
in a, (c)
|
||||||
|
|
||||||
|
cs_low push af
|
||||||
|
ld a, MMC_0
|
||||||
|
jr cs_hig1
|
||||||
|
|
||||||
|
acmd41 ld l, CMD55
|
||||||
|
call send5
|
||||||
|
ld l, CMD41
|
||||||
|
out (c), l
|
||||||
|
out (c), h
|
||||||
|
jr send3z
|
||||||
|
|
||||||
|
cs_high push af
|
||||||
|
ld a, $ff
|
||||||
|
cs_hig1 out (OUT_PORT), a
|
||||||
|
pop af
|
||||||
|
ret
|
||||||
|
|
||||||
|
send5 out (c), l ; sends the command
|
||||||
|
out (c), 0 ; then sends four "00" bytes (parameters = NULL)
|
||||||
|
send3z out (c), 0
|
||||||
|
out (c), 0
|
||||||
|
send1z out (c), 0
|
||||||
|
send0z out (c), h ; then this byte is ignored.
|
||||||
|
waitr push bc
|
||||||
|
ld c, 50 ; retry counter
|
||||||
|
resp in a, (SPI_PORT) ; reads a byte from MMC
|
||||||
|
cp $ff ; $FF = no card data line activity
|
||||||
|
jr nz, resp_ok
|
||||||
|
djnz resp
|
||||||
|
dec c
|
||||||
|
jr nz, resp
|
||||||
|
resp_ok pop bc
|
||||||
|
ret
|
Binary file not shown.
Loading…
Reference in New Issue