Versiono algunos archivos del firmware

This commit is contained in:
antoniovillena 2016-05-05 10:40:11 +02:00
parent 801bef8dd2
commit c9304955ab
12 changed files with 4678 additions and 0 deletions

BIN
firmware/av.zx7b Normal file

Binary file not shown.

BIN
firmware/crctable.bin Normal file

Binary file not shown.

BIN
firmware/es.zx7b Normal file

Binary file not shown.

4464
firmware/firmware.asm Normal file

File diff suppressed because it is too large Load Diff

BIN
firmware/fuente6x8.bin Normal file

Binary file not shown.

66
firmware/generamcs.bat Normal file
View File

@ -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

View File

@ -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

BIN
firmware/header.bin Normal file

Binary file not shown.

Binary file not shown.

5
firmware/make.bat Normal file
View File

@ -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

139
firmware/sd.asm Normal file
View File

@ -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

BIN
firmware/us.zx7b Normal file

Binary file not shown.