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