Simplifico recovery

This commit is contained in:
antoniovillena 2016-05-28 23:27:53 +02:00
parent 96843db620
commit 5c7bdec867
6 changed files with 6966 additions and 363 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,39 @@
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date: 04:12:52 02/09/2014
// Design Name:
// Module Name: rom
// Project Name:
// Target Devices:
// Tool versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//////////////////////////////////////////////////////////////////////////////////
module rom (
input wire clk,
input wire [13:0] a,
output reg [7:0] dout
);
reg [7:0] mem[0:8191];
integer i;
initial begin // usa $readmemb/$readmemh dependiendo del formato del fichero que contenga la ROM
for (i=0;i<8192;i=i+1) begin
mem[i] = 8'h00;
end
$readmemh ("firmloader_hex.txt", mem, 0);
end
always @(posedge clk) begin
dout <= mem[a[12:0]];
end
endmodule

86
firmware/firmloader.asm Normal file
View File

@ -0,0 +1,86 @@
output firmloader.rom
macro wreg dir, dato
rst $28
defb dir, dato
endm
define zxuno_port $fc3b
define master_conf 0
define master_mapper 1
di
ld sp, $bfff
ld de, $c771 ; tras el out (c), h de bffc se ejecuta
push de ; un rst 0 para iniciar la nueva ROM
ld de, $edff ; en $bffc para evitar que el cambio de ROM
push de ; colisione con la siguiente instruccion
wreg master_mapper, 8 ; paginamos la ROM en $c000
ld hl, fin-1
ld d, e
rst $38
ld bc, zxuno_port
out (c), 0 ; a master_conf quiero enviar un 0 para pasar
inc b
jp $bffc
acab rr e
ex de, hl
adc hl, de
lddr
exitdz pop hl
jr nc, mainlo
ret
rst28 ld bc, zxuno_port + $100
pop hl
outi
ld b, (zxuno_port >> 8)+2
outi
jp (hl)
getbit ld a, (hl)
dec hl
adc a, a
ret
nop
; -----------------------------------------------------------------------------
; ZX7 Backwards by Einar Saukas, Antonio Villena
; Parameters:
; HL: source address (compressed data)
; DE: destination address (decompressing)
; -----------------------------------------------------------------------------
dzx7b ld bc, $8000
ld a, b
copyby inc c
ldd
mainlo add a, a
call z, getbit
jr nc, copyby
push de
ld d, c
defb $30
lenval add a, a
call z, getbit
rl c
rl b
add a, a
call z, getbit
jr nc, lenval
inc c
jr z, exitdz
ld e, (hl)
dec hl
sll e
jr nc, offend
ld d, $10
nexbit add a, a
call z, getbit
rl d
jr nc, nexbit
inc d
srl d
offend ex (sp), hl
jr acab
incbin firmware.rom.zx7b
fin

3
firmware/firmloader.bat Normal file
View File

@ -0,0 +1,3 @@
sjasmplus firmware.asm
zx7b firmware_strings.rom firmware.rom.zx7b
sjasmplus firmloader.asm

View File

@ -94,12 +94,22 @@
rst18 push bc
jp alto prnstr
jmptbl defw main
jmptbl
IF recovery=0
defw main
defw roms
defw upgra
defw upgra
defw advan
defw exit
ELSE
defw upgra
defw upgra
defw upgra
defw upgra
defw upgra
defw upgra
ENDIF
rst28 ld bc, zxuno_port + $100
pop hl
@ -539,6 +549,7 @@ bios7 dec c
;**** Main Menu ****
;*********************
IF recovery=0
main inc d
ld h, l
call help
@ -1060,6 +1071,7 @@ roms10 ld (offsel), hl
roms11 dec iyh
jr nz, roms10
ret
ENDIF
roms12 call romcyb
ld ix, cad50
roms13 call_prnstr
@ -1068,6 +1080,7 @@ toanyk ei
ld ix, cad51
call_prnstr
jp waitky
IF recovery=0
roms144 sub $72-$6e ; r= Recovery
jr nz, roms139
ld hl, $0309
@ -1308,6 +1321,7 @@ roms27 ld hl, $0104
call window
ld a, (codcnt)
jp main13
ENDIF
;*** Upgrade Menu ***
;*********************
@ -1383,7 +1397,9 @@ upgra4 ld h, d
ld iyl, a
ld a, (codcnt)
cp $0d
upgra5 jp nz, main9
IF recovery=0
jp nz, main9
ENDIF
ld hl, (menuop)
dec l
dec l
@ -1902,6 +1918,7 @@ upgrai ld a, 30
ld ix, cad57
jp roms13
IF recovery=0
;*** Advanced Menu ***
;*********************
advan ld h, 20
@ -2071,10 +2088,7 @@ exit4 djnz exit5
exit5 djnz exit6
jp loadch
exit6 call savech
exit7
IF recovery=0
jp star51
ENDIF
exit7 jp star51
;++++++++++++++++++++++++++++++++++
;++++++++ Boot list ++++++++
@ -2186,9 +2200,7 @@ blst4 call combol
ld (active), a
jr nc, blst5
ld (bitstr), a
blst5
IF recovery=0
jp start50
blst5 jp start50
ENDIF
imyesn call bloq1
@ -2212,6 +2224,7 @@ upgraf add hl, de
djnz upgraf
ret
IF recovery=0
; ----------------------------
; Add an entry to the bootlist
; ----------------------------
@ -2227,6 +2240,7 @@ addbl1 inc iyl
sub 2
sub iyl
ret
ENDIF
;first part of loadta
qloadt ld ix, cad49
@ -2993,6 +3007,7 @@ prnmul call_prnstr
inc ix
ret
IF recovery=0
bomain ld ix, cad65
ld bc, $0209
call_prnstr ; Performing...
@ -3024,6 +3039,7 @@ calcu add hl, hl
add hl, hl
ld h, 9
jp alto slot2c
ENDIF
savena ld a, (menuop+1)
sub 4
@ -3114,6 +3130,7 @@ waits6 in a, (c)
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
ret
IF recovery=0
; ------------------------
; Load flash structures from $06000 to $9000
; ------------------------
@ -3122,6 +3139,7 @@ loadch wreg flash_cs, 1
ld hl, $0060 ;old $0aa0
ld a, $12
jp alto rdflsh
ENDIF
; -----------------------------------------------------------------------------
; ZX7 Backwards by Einar Saukas, Antonio Villena
@ -3185,6 +3203,7 @@ get16 ld b, 0
;(empstr): input string
; Returns:
; A: binary number
IF recovery=0
atoi push hl
ld hl, items
ld b, (hl)
@ -3201,6 +3220,7 @@ romsf add a, (hl)
djnz romse
pop hl
ret
ENDIF
IF 0
hhhh push af
@ -3248,16 +3268,17 @@ hhhh push af
;binf jr binf
ENDIF
IF recovery=0
incbin es.zx7b
fines incbin us.zx7b
finus incbin av.zx7b
finav
; -----------------------------------------------------------------------------
; Compressed and RCS filtered logo
; -----------------------------------------------------------------------------
incbin logo256x192.rcs.zx7b
finlog
ENDIF
; -----------------------------------------------------------------------------
; Compressed messages
@ -3265,7 +3286,9 @@ finlog
incbin strings.bin.zx7b
finstr
runbit ld b, h
runbit
IF recovery=0
ld b, h
call calbit
ld bc, zxuno_port
ld e, core_addr
@ -3417,6 +3440,7 @@ conti9 ld a, 0
ld a, (ix+3)
out (c), a
rst 0
ENDIF
; -------------------------------------
; Put page A in mode 1 and copies from 4000 to C000
@ -3524,6 +3548,7 @@ rdfls2 ini
; DE: destination address
; HL: 4 digit number
; ------------------------
IF recovery=0
wtohex ld b, 4
wtohe1 ld a, $3
add hl, hl
@ -3599,6 +3624,7 @@ ramts5 inc hl
wreg master_conf, 0
ld bc, $0214
jp toanyk
ENDIF
; ---------
; CRC check
@ -3626,6 +3652,7 @@ check1 xor (hl) ;6*4+4*7+10= 62 ciclos/byte
; A: input slot
; Returns:
; HL: destination address
IF recovery=0
slot2a ld de, 3
and $3f
cp 19
@ -3641,6 +3668,7 @@ slot2c add hl, hl
add hl, hl
add hl, hl
ret
ENDIF
help call window
ld a, %00111000 ; fondo blanco tinta negra
@ -3831,6 +3859,10 @@ crctab incbin crctable.bin
incbin fuente6x8.bin
chrend
IF recovery=1
include strings.asm
ENDIF
block $3bbf-$
l3bbf inc h ;4
@ -4213,360 +4245,10 @@ decbhl dec hl
;++++++++++++ +++++++++++++
;++++++++++++++++++++++++++++++++++++++++
;++++++++++++++++++++++++++++++++++++++++
IF recovery=0
block $7e00-$
cad0 defb 'Core: ',0
cad1 defm 'http://zxuno.speccy.org', 0
defm 'ZX-Uno BIOS v0.41', 0
defm 'Copyleft ', 127, ' 2016 ZX-Uno Team', 0
defm 'Processor: Z80 3.5MHz', 0
defm 'Memory: 512K Ok', 0
defm 'Graphics: normal, hi-color', 0
defm 'hi-res, ULAplus', 0
defm 'Booting:', 0
defm 'Press <Edit> to Setup <Break> Boot Menu', 0
cad2 defb $12, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $13, 0
defm $10, ' Please select boot machine: ', $10, 0
cad3 defb $16, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $17, 0
cad4 defm $10, ' ', $10, 0
cad5 defm $10, ' ', $1c, ' and ', $1d, ' to move selection ', $10, 0
defm $10, ' ENTER to select boot machine ', $10, 0
defm $10, ' ESC to boot using defaults ', $10, 0
defb $14, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $15, 0
cad6 defb 'Enter Setup', 0
cad7 defb ' Main ROMs Upgrade Boot Advanced Exit', 0
defb $12, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $19, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $13, 0
cad8 defm $10, ' ', $10, ' ', $10, 0
defm $10, 0
cad9 defb $14, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $18, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $15, 0
defb ' BIOS v0.41 ', $7f, '2016 ZX-Uno Team', 0
cad10 defb 'Hardware tests', 0
defb $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, 0
defb $1b, ' Memory test', 0
defb $1b, ' Sound test', 0
defb $1b, ' Tape test', 0
defb $1b, ' Input test', 0
defb ' ', 0
defb 'Options', 0
defb $11, $11, $11, $11, $11, $11, $11, $11, $11, 0
defb 'Quiet Boot', 0
defb 'Check CRC', 0
defb 'Keyboard', 0
defb 'Timing', 0
defb 'Contended', 0
defb 'DivMMC', 0
defb 'NMI-DivMMC', 0, 0
cad11 defb ' ', $10, 0
defb ' ', $10, 0
defb ' ', $10, 0
defb ' ', $10, 0
defb ' ', $10, 0
defb ' ', $16, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $17, 0
defb ' ', $10, 0
defb ' ', $10, 0
defb ' ', $10, 0
defb ' ', $10, 0
defb ' ', $10, 0
defb ' ', $10, 0
defb ' ', $10, 0
defb ' ', $10, 0, 0
cad12 defb 'Name Slot', 0
defb $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, 0
defb $11, $11, $11, $11, 0
cad13 defb $1e, ' ', $1f, ' Sel.Screen', 0
defb $1c, ' ', $1d, ' Sel.Item', 0
defb 'Enter Change', 0
defb 'Graph Save&Exi', 0
defb 'Break Exit', 0
defb 'N New Entry', 0
defb 'R Recovery', 0
cad14 defb 'Run a diagnos-', 0
defb 'tic test on', 0
defb 'your system', 0
defb 'memory', 0, 0
cad15 defb 'Performs a', 0
defb 'sound test on', 0
defb 'your system', 0, 0
cad16 defb 'Performs a', 0
defb 'keyboard &', 0
defb 'joystick test', 0, 0
cad17 defb 'Hide the whole', 0
defb 'boot screen', 0
defb 'when enabled', 0, 0
cad18 defb 'Enable RAM and', 0
defb 'ROM on DivMMC ', 0
defb 'interface.', 0
defb 'Ports are', 0
defb 'available', 0, 0
cad19 defb 'Disable for', 0
defb 'better compa-', 0
defb 'tibility with', 0
defb 'SE Basic IV', 0, 0
cad20 defb 'Behaviour of', 0
defb 'bit 6 on port', 0
defb '$FE depends', 0
defb 'on hardware', 0
defb 'issue', 0, 0
cad21 defb $12, $11, $11, $11, ' Options ', $11, $11, $11, $13, 0
cad22 defb $10, ' ', $10, 0
defb $14, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $15, 0
cad88 defb 'Spanish', 0
cad89 defb 'English', 0
cad90 defb 'Spectrum', 0
cad91 defb 'Kempston', 0
cad92 defb 'SJS1', 0
cad93 defb 'SJS2', 0
cad94 defb 'Protek', 0
cad95 defb 'Fuller', 0
cad96 defb 'PAL', 0
cad97 defb 'NTSC', 0
cad98 defb 'VGA', 0
cad28 defb 'Disabled', 0
cad29 defb 'Enabled', 0
cad30 defb 'Issue 2', 0
cad31 defb 'Issue 3', 0
cadv2 defb 'Auto', 0
cadv3 defb '48K', 0
cadv4 defb '128K', 0
cadv5 defb 'Pentagon', 0
cad32 defb 'Move Up q', 0
cad33 defb 'Set Active', 0
cad34 defb 'Move Down a', 0
cad35 defb 'Rename', 0
cad36 defb 'Delete', 0
defb ' ', $12, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11
defb ' Rename ', $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $13, 0
defb ' ', $10, ' ', $1e, ' ', $1f, ' Enter accept Break cancel ', $10, 0
defb ' ', $16, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $17, 0
defb ' ', $10, ' ', $10, 0
defb ' ', $14, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $15, 0
cad38 defb 'Exit system', 0
defb 'setup after', 0
defb 'saving the', 0
defb 'changes', 0, 0
cad39 defb 'Exit system', 0
defb 'setup without', 0
defb 'saving any', 0
defb 'changes', 0, 0
cad40 defb 'Save Changes', 0
defb 'done so far to', 0
defb 'any of the', 0
defb 'setup options', 0, 0
cad41 defb 'Discard Chan-', 0
defb 'ges done so', 0
defb 'far to any of', 0
defb 'the setup', 0
defb 'options', 0, 0
cad45 defb 'Header:', 0
cad46 defb $12, ' Exit Without Saving ', $11, $13, 0
defb $10, ' ', $10, 0
defb $10, ' Quit without saving? ', $10, 0
cad47 defb $12, $11, ' Save Setup Values ', $11, $11, $13, 0
defb $10, ' ', $10, 0
defb $10, ' Save configuration? ', $10, 0
cad48 defb $12, ' Load Previous Values ', $13, 0
defb $10, ' ', $10, 0
defb $10, ' Load previous values?', $10, 0
cad42 defb $10, ' ', $10, 0
defb $16, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $17, 0
defb $10, ' Yes No ', $10, 0
cad43 defb $14, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $15, 0
defb $12, $11, $11, $11, ' Save and Exit ', $11, $11, $11, $11, $13, 0
defb $10, ' ', $10, 0
defb $10, ' Save conf. & Exit? ', $10, 0
cad44 defb $12, $11, $11, $11, ' Load from tape ', $11, $11, $11, $13, 0
cad445 defb $12, $11, $11, $11, $11, ' Load from SD ', $11, $11, $11, $11, $13, 0
defb $10, ' ', $10, 0
defb $10, ' Are you sure? ', $10, 0
cad37 defb 'Save Changes & Exit', 0
defb 'Discard Changes & Exit', 0
defb 'Save Changes', 0
defb 'Discard Changes', 0
cad49 defb 'Press play on', 0
defb 'tape & follow', 0
defb 'the progress', 0
defb 'Break to', 0
defb 'cancel', 0, 0
cad50 defb 'Loading Error', 0
cad51 defb 'Any key to return', 0
cad52 defb 'Block 1 of 1:', 0
cad53 defb 'Done', 0
cad54 defb 'Slot position:', 0
cad55 defb 'Invalid CRC in ROM 0000. Must be 0000', 0
defb 'Press any key to continue ', 0
cad56 defb 'Check CRC in', 0
defb 'all ROMs. Slow', 0
defb 'but safer', 0, 0
cad57 defb 'Machine upgraded', 0
cad58 defb 'BIOS upgraded', 0
cad59 defb 'ESXDOS upgraded', 0
cad60 defb 'Upgrade ESXDOS for ZX', 0
cad61 defb 'Upgrade BIOS for ZX', 0
cad615 defb 'Upgrade flash from SD', 0
cad62 defb 'ZX Spectrum', 0
cad63 defb 'Status:[ ]', 0
cad64 defb ' ', $12, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11
defb ' Recovery ', $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $13, 0
defb ' ', $10, ' ', $1e, ' ', $1f, ' Enter accept Break cancel ', $10, 0
defb ' ', $16, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $17, 0
defb ' ', $10, 'Name ', $10, 0
defb ' ', $10, ' ', $10, 0
defb ' ', $10, 'Slt Siz Bnk Siz p1F p7F Flags ', $10, 0
defb ' ', $10, ' ', $10, 0
defb ' ', $14, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $15, 0, 0
cad65 defb 'Performing...', 0
cad66 defb ' ', 0
cad67 defb ' OK', 0
cad68 defb ' Er', 0
cad69 defb '00', 0
cad70 defb 'Set timings', 0
defb '224T if 48K', 0
defb '228T if 128K', 0, 0
cad71 defb 'Memory usually', 0
defb 'contended.', 0
defb 'Disabled on', 0
defb 'Pentagon 128K', 0, 0
cad72 defb 'Performs a', 0
defb 'tape test', 0, 0
cad73 defb $1b, 0
cad74 defb 'Kempston Fuller', 0
defb 'Break key to return', 0
defb '234567890'
defb 'Q'+$80, 'WERTYUIOP'
defb 'A'+$80, 'SDFGHJKLe'
defb 'c'+$80, 'ZXCVBNMsb'
defb 'o'+$80, $1c, $1d, $1e, $1f, $1f, $1e, $1d, $1c, 'o', $80
cad75 defb 'Insert SD with', 0
defb 'the file on', 0
defb 'root', 0, 0
cad76 defb 'Be quiet, avoid brick', 0
cad77 defb 'SD or partition error', 0
cad78 defb 'Not found or bad size', 0
cad79 defb ' Successfully burned ', 0
cad80 defb 'EAR input', 0
cad81 defb 'SD file', 0
cad82 defb 'Input machine\'s name', 0
IF version=4
files defb 'ESXDOS ZX1'
defb 'FIRMWAREZX1'
defb 'FLASH ZX1'
defb 'SPECTRUMZX1'
fileco defb 'CORE ZX1'
ELSE
IF version=3
files defb 'ESXDOS ZZ3'
defb 'FIRMWAREZZ3'
defb 'FLASH ZZ3'
defb 'SPECTRUMZZ3'
fileco defb 'CORE ZZ3'
ELSE
IF version=2
files defb 'ESXDOS ZZ2'
defb 'FIRMWAREZZ2'
defb 'FLASH ZZ2'
defb 'SPECTRUMZZ2'
fileco defb 'CORE ZZ2'
ELSE
IF version=1
files defb 'ESXDOS ZXA'
defb 'FIRMWAREZXA'
defb 'FLASH ZXA'
defb 'SPECTRUMZXA'
fileco defb 'CORE ZXA'
include strings.asm
ENDIF
ENDIF
ENDIF
ENDIF
cad83 defb 'Input', 0
defb $11, $11, $11, $11, $11, $11, $11, $11, 0
defb 'Keyb Layout', 0
defb 'Joy Keypad', 0
defb 'Joy DB9', 0
defb ' ', 0
defb ' ', 0
defb 'Output', 0
defb $11, $11, $11, $11, $11, $11, $11, $11, $11, 0
defb 'Video', 0
defb 'Scanlines', 0
defb 'Frequency', 0
defb 'CPU Speed', 0, 0
cad84 defb 'Select PS/2', 0
defb 'mapping to', 0
defb 'spectrum', 0, 0
cad85 defb 'Simulated', 0
defb 'joystick', 0
defb 'configuration', 0, 0
cad86 defb 'Real joystick', 0
defb 'configuration', 0, 0
cad87 defb 'Select default', 0
defb 'video output', 0, 0
cad99 defb 'Enable VGA', 0
defb 'scanlines', 0, 0
cad100 defb 'Set VGA', 0
defb 'horizontal',0
defb 'frequency', 0, 0
cad101 defb 'Set CPU', 0
defb 'speed', 0, 0
cad102 defb '50', 0
cad103 defb '51', 0
cad104 defb '53.5', 0
cad105 defb '55.8', 0
cad106 defb '57.4', 0
cad107 defb '59.5', 0
cad108 defb '61.8', 0
cad109 defb '63.8', 0
cad110 defb '1X', 0
cad111 defb '2X', 0
cad112 defb '4X', 0
cad113 defb '8X', 0
cad114 defb 'Break to exit', 0
cad115 defb 'Slot occupied, select', 0
defb 'another or delete a', 0
defb 'ROM to free it', 0
cad116 defb '2', 0
defb '3', 0
defb '4', 0
defb '5', 0
defb '6', 0
defb '7', 0
defb '8', 0
defb '9', 0, 0
;cad199 defb 'af0000 bc0000 de0000 hl0000 sp0000 ix0000 iy0000', 0
fincad
; todo
; * generar tablas CRC por código
; * descomprimir en lugar de copiar codigo alto

377
firmware/strings.asm Normal file
View File

@ -0,0 +1,377 @@
cad0 defb 'Core: ',0
cad1 defm 'http://zxuno.speccy.org', 0
defm 'ZX-Uno BIOS v0.41', 0
defm 'Copyleft ', 127, ' 2016 ZX-Uno Team', 0
defm 'Processor: Z80 3.5MHz', 0
defm 'Memory: 512K Ok', 0
defm 'Graphics: normal, hi-color', 0
defm 'hi-res, ULAplus', 0
defm 'Booting:', 0
defm 'Press <Edit> to Setup <Break> Boot Menu', 0
IF recovery=0
cad2 defb $12, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $13, 0
defm $10, ' Please select boot machine: ', $10, 0
cad3 defb $16, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $17, 0
cad4 defm $10, ' ', $10, 0
cad5 defm $10, ' ', $1c, ' and ', $1d, ' to move selection ', $10, 0
defm $10, ' ENTER to select boot machine ', $10, 0
defm $10, ' ESC to boot using defaults ', $10, 0
defb $14, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $15, 0
cad6 defb 'Enter Setup', 0
ENDIF
cad7 defb ' Main ROMs Upgrade Boot Advanced Exit', 0
defb $12, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $19, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $13, 0
cad8 defm $10, ' ', $10, ' ', $10, 0
defm $10, 0
cad9 defb $14, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $18, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $15, 0
defb ' BIOS v0.41 ', $7f, '2016 ZX-Uno Team', 0
IF recovery=0
cad10 defb 'Hardware tests', 0
defb $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, 0
defb $1b, ' Memory test', 0
defb $1b, ' Sound test', 0
defb $1b, ' Tape test', 0
defb $1b, ' Input test', 0
defb ' ', 0
defb 'Options', 0
defb $11, $11, $11, $11, $11, $11, $11, $11, $11, 0
defb 'Quiet Boot', 0
defb 'Check CRC', 0
defb 'Keyboard', 0
defb 'Timing', 0
defb 'Contended', 0
defb 'DivMMC', 0
defb 'NMI-DivMMC', 0, 0
ENDIF
cad11 defb ' ', $10, 0
defb ' ', $10, 0
defb ' ', $10, 0
defb ' ', $10, 0
defb ' ', $10, 0
defb ' ', $16, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $17, 0
defb ' ', $10, 0
defb ' ', $10, 0
defb ' ', $10, 0
defb ' ', $10, 0
defb ' ', $10, 0
defb ' ', $10, 0
defb ' ', $10, 0
defb ' ', $10, 0, 0
IF recovery=0
cad12 defb 'Name Slot', 0
defb $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, 0
defb $11, $11, $11, $11, 0
ENDIF
cad13 defb $1e, ' ', $1f, ' Sel.Screen', 0
defb $1c, ' ', $1d, ' Sel.Item', 0
defb 'Enter Change', 0
defb 'Graph Save&Exi', 0
defb 'Break Exit', 0
defb 'N New Entry', 0
defb 'R Recovery', 0
IF recovery=0
cad14 defb 'Run a diagnos-', 0
defb 'tic test on', 0
defb 'your system', 0
defb 'memory', 0, 0
cad15 defb 'Performs a', 0
defb 'sound test on', 0
defb 'your system', 0, 0
cad16 defb 'Performs a', 0
defb 'keyboard &', 0
defb 'joystick test', 0, 0
cad17 defb 'Hide the whole', 0
defb 'boot screen', 0
defb 'when enabled', 0, 0
cad18 defb 'Enable RAM and', 0
defb 'ROM on DivMMC ', 0
defb 'interface.', 0
defb 'Ports are', 0
defb 'available', 0, 0
cad19 defb 'Disable for', 0
defb 'better compa-', 0
defb 'tibility with', 0
defb 'SE Basic IV', 0, 0
cad20 defb 'Behaviour of', 0
defb 'bit 6 on port', 0
defb '$FE depends', 0
defb 'on hardware', 0
defb 'issue', 0, 0
ENDIF
cad21 defb $12, $11, $11, $11, ' Options ', $11, $11, $11, $13, 0
cad22 defb $10, ' ', $10, 0
defb $14, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $15, 0
IF recovery=0
cad88 defb 'Spanish', 0
cad89 defb 'English', 0
cad90 defb 'Spectrum', 0
cad91 defb 'Kempston', 0
cad92 defb 'SJS1', 0
cad93 defb 'SJS2', 0
cad94 defb 'Protek', 0
cad95 defb 'Fuller', 0
cad96 defb 'PAL', 0
cad97 defb 'NTSC', 0
cad98 defb 'VGA', 0
cad28 defb 'Disabled', 0
cad29 defb 'Enabled', 0
cad30 defb 'Issue 2', 0
cad31 defb 'Issue 3', 0
cadv2 defb 'Auto', 0
cadv3 defb '48K', 0
cadv4 defb '128K', 0
cadv5 defb 'Pentagon', 0
cad32 defb 'Move Up q', 0
cad33 defb 'Set Active', 0
cad34 defb 'Move Down a', 0
cad35 defb 'Rename', 0
cad36 defb 'Delete', 0
defb ' ', $12, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11
defb ' Rename ', $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $13, 0
defb ' ', $10, ' ', $1e, ' ', $1f, ' Enter accept Break cancel ', $10, 0
defb ' ', $16, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $17, 0
defb ' ', $10, ' ', $10, 0
defb ' ', $14, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $15, 0
cad38 defb 'Exit system', 0
defb 'setup after', 0
defb 'saving the', 0
defb 'changes', 0, 0
cad39 defb 'Exit system', 0
defb 'setup without', 0
defb 'saving any', 0
defb 'changes', 0, 0
cad40 defb 'Save Changes', 0
defb 'done so far to', 0
defb 'any of the', 0
defb 'setup options', 0, 0
cad41 defb 'Discard Chan-', 0
defb 'ges done so', 0
defb 'far to any of', 0
defb 'the setup', 0
defb 'options', 0, 0
ENDIF
cad45 defb 'Header:', 0
IF recovery=0
cad46 defb $12, ' Exit Without Saving ', $11, $13, 0
defb $10, ' ', $10, 0
defb $10, ' Quit without saving? ', $10, 0
cad47 defb $12, $11, ' Save Setup Values ', $11, $11, $13, 0
defb $10, ' ', $10, 0
defb $10, ' Save configuration? ', $10, 0
cad48 defb $12, ' Load Previous Values ', $13, 0
defb $10, ' ', $10, 0
defb $10, ' Load previous values?', $10, 0
ENDIF
cad42 defb $10, ' ', $10, 0
defb $16, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $17, 0
defb $10, ' Yes No ', $10, 0
cad43 defb $14, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $15, 0
IF recovery=0
defb $12, $11, $11, $11, ' Save and Exit ', $11, $11, $11, $11, $13, 0
defb $10, ' ', $10, 0
defb $10, ' Save conf. & Exit? ', $10, 0
ENDIF
cad44 defb $12, $11, $11, $11, ' Load from tape ', $11, $11, $11, $13, 0
cad445 defb $12, $11, $11, $11, $11, ' Load from SD ', $11, $11, $11, $11, $13, 0
defb $10, ' ', $10, 0
defb $10, ' Are you sure? ', $10, 0
IF recovery=0
cad37 defb 'Save Changes & Exit', 0
defb 'Discard Changes & Exit', 0
defb 'Save Changes', 0
defb 'Discard Changes', 0
ENDIF
cad49 defb 'Press play on', 0
defb 'tape & follow', 0
defb 'the progress', 0
defb 'Break to', 0
defb 'cancel', 0, 0
cad50 defb 'Loading Error', 0
cad51 defb 'Any key to return', 0
cad52 defb 'Block 1 of 1:', 0
cad53 defb 'Done', 0
IF recovery=0
cad54 defb 'Slot position:', 0
cad55 defb 'Invalid CRC in ROM 0000. Must be 0000', 0
defb 'Press any key to continue ', 0
cad56 defb 'Check CRC in', 0
defb 'all ROMs. Slow', 0
defb 'but safer', 0, 0
ENDIF
cad57 defb 'Machine upgraded', 0
cad58 defb 'BIOS upgraded', 0
cad59 defb 'ESXDOS upgraded', 0
cad60 defb 'Upgrade ESXDOS for ZX', 0
cad61 defb 'Upgrade BIOS for ZX', 0
cad615 defb 'Upgrade flash from SD', 0
cad62 defb 'ZX Spectrum', 0
cad63 defb 'Status:[ ]', 0
cad64
IF recovery=0
defb ' ', $12, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11
defb ' Recovery ', $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $13, 0
defb ' ', $10, ' ', $1e, ' ', $1f, ' Enter accept Break cancel ', $10, 0
defb ' ', $16, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $17, 0
defb ' ', $10, 'Name ', $10, 0
defb ' ', $10, ' ', $10, 0
defb ' ', $10, 'Slt Siz Bnk Siz p1F p7F Flags ', $10, 0
defb ' ', $10, ' ', $10, 0
defb ' ', $14, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $11, $11
defb $11, $11, $11, $11, $11, $11, $11, $15, 0, 0
cad65 defb 'Performing...', 0
cad66 defb ' ', 0
cad67 defb ' OK', 0
cad68 defb ' Er', 0
cad69 defb '00', 0
cad70 defb 'Set timings', 0
defb '224T if 48K', 0
defb '228T if 128K', 0, 0
cad71 defb 'Memory usually', 0
defb 'contended.', 0
defb 'Disabled on', 0
defb 'Pentagon 128K', 0, 0
cad72 defb 'Performs a', 0
defb 'tape test', 0, 0
ENDIF
cad73 defb $1b, 0
IF recovery=0
cad74 defb 'Kempston Fuller', 0
defb 'Break key to return', 0
defb '234567890'
defb 'Q'+$80, 'WERTYUIOP'
defb 'A'+$80, 'SDFGHJKLe'
defb 'c'+$80, 'ZXCVBNMsb'
defb 'o'+$80, $1c, $1d, $1e, $1f, $1f, $1e, $1d, $1c, 'o', $80
ENDIF
cad75 defb 'Insert SD with', 0
defb 'the file on', 0
defb 'root', 0, 0
cad76 defb 'Be quiet, avoid brick', 0
cad77 defb 'SD or partition error', 0
cad78 defb 'Not found or bad size', 0
cad79 defb ' Successfully burned ', 0
cad80 defb 'EAR input', 0
cad81 defb 'SD file', 0
cad82 defb 'Input machine\'s name', 0
IF version=4
files defb 'ESXDOS ZX1'
defb 'FIRMWAREZX1'
defb 'FLASH ZX1'
defb 'SPECTRUMZX1'
fileco defb 'CORE ZX1'
ELSE
IF version=3
files defb 'ESXDOS ZZ3'
defb 'FIRMWAREZZ3'
defb 'FLASH ZZ3'
defb 'SPECTRUMZZ3'
fileco defb 'CORE ZZ3'
ELSE
IF version=2
files defb 'ESXDOS ZZ2'
defb 'FIRMWAREZZ2'
defb 'FLASH ZZ2'
defb 'SPECTRUMZZ2'
fileco defb 'CORE ZZ2'
ELSE
IF version=1
files defb 'ESXDOS ZXA'
defb 'FIRMWAREZXA'
defb 'FLASH ZXA'
defb 'SPECTRUMZXA'
fileco defb 'CORE ZXA'
ENDIF
ENDIF
ENDIF
ENDIF
IF recovery=0
cad83 defb 'Input', 0
defb $11, $11, $11, $11, $11, $11, $11, $11, 0
defb 'Keyb Layout', 0
defb 'Joy Keypad', 0
defb 'Joy DB9', 0
defb ' ', 0
defb ' ', 0
defb 'Output', 0
defb $11, $11, $11, $11, $11, $11, $11, $11, $11, 0
defb 'Video', 0
defb 'Scanlines', 0
defb 'Frequency', 0
defb 'CPU Speed', 0, 0
cad84 defb 'Select PS/2', 0
defb 'mapping to', 0
defb 'spectrum', 0, 0
cad85 defb 'Simulated', 0
defb 'joystick', 0
defb 'configuration', 0, 0
cad86 defb 'Real joystick', 0
defb 'configuration', 0, 0
cad87 defb 'Select default', 0
defb 'video output', 0, 0
cad99 defb 'Enable VGA', 0
defb 'scanlines', 0, 0
cad100 defb 'Set VGA', 0
defb 'horizontal',0
defb 'frequency', 0, 0
cad101 defb 'Set CPU', 0
defb 'speed', 0, 0
cad102 defb '50', 0
cad103 defb '51', 0
cad104 defb '53.5', 0
cad105 defb '55.8', 0
cad106 defb '57.4', 0
cad107 defb '59.5', 0
cad108 defb '61.8', 0
cad109 defb '63.8', 0
cad110 defb '1X', 0
cad111 defb '2X', 0
cad112 defb '4X', 0
cad113 defb '8X', 0
cad114 defb 'Break to exit', 0
cad115 defb 'Slot occupied, select', 0
defb 'another or delete a', 0
defb 'ROM to free it', 0
ENDIF
cad116 defb '2', 0
defb '3', 0
defb '4', 0
defb '5', 0
defb '6', 0
defb '7', 0
defb '8', 0
defb '9', 0, 0
;cad199 defb 'af0000 bc0000 de0000 hl0000 sp0000 ix0000 iy0000', 0
fincad