mirror of https://github.com/zxdos/zxuno.git
Actualizo firmware a 0.78
-Cambio de ESXDOS.ZXn a ESXDOS.BIN el fichero a actualizar -Añado opción color burst para mejora aliasing en ZXUNO+
This commit is contained in:
parent
88c165f9dc
commit
4d1036b3bf
Binary file not shown.
|
|
@ -1,141 +1,142 @@
|
|||
macro wreg dir, dato
|
||||
rst $28
|
||||
defb dir, dato
|
||||
endm
|
||||
|
||||
output bootloader.rom
|
||||
define zxuno_port $fc3b
|
||||
define master_conf 0
|
||||
define master_mapper 1
|
||||
define flash_spi 2
|
||||
define flash_cs 3
|
||||
define joyconf 6
|
||||
define scandbl_ctrl 11
|
||||
|
||||
di
|
||||
ld sp, $bfff-ini+6
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 0
|
||||
ld de, $c771 ; tras el out (c), h de bffc se ejecuta
|
||||
push de ; un rst 0 para iniciar la nueva ROM
|
||||
ld de, $ed80 ; en $bffc para evitar que el cambio de ROM
|
||||
push de ; colisione con la siguiente instruccion
|
||||
ld bc, $bffc-ini+6
|
||||
push bc
|
||||
wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 6 ; envío write enable
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, $c5 ; envío wrear
|
||||
out (c), 0
|
||||
jp cont
|
||||
nop
|
||||
|
||||
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
|
||||
|
||||
rst38 jp $c006
|
||||
|
||||
block $0066 - $
|
||||
|
||||
nmi66 jp $c003
|
||||
retn
|
||||
|
||||
cont wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
wreg joyconf, %00010000
|
||||
wreg master_mapper, 8 ; paginamos la ROM en $c000
|
||||
wreg scandbl_ctrl, $c0 ; lo pongo a 28MHz
|
||||
in a, ($1f)
|
||||
cp %00011000 ; arriba y disparo a la vez
|
||||
jr z, recov
|
||||
cp %00010100 ; arriba y disparo a la vez
|
||||
jr z, recov
|
||||
wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 3 ; envio flash_spi un 3, orden de lectura
|
||||
ini out (c), h ; envia direccion 008000, a=00,e=80,a=00
|
||||
out (c), e
|
||||
out (c), h
|
||||
add hl, sp
|
||||
boot ini
|
||||
inc b
|
||||
cp h ; compruebo si la direccion es 0000 (final)
|
||||
jr c, boot ; repito si no lo es
|
||||
boot1 dec b
|
||||
out (c), 0 ; a master_conf quiero enviar un 0 para pasar
|
||||
inc b
|
||||
ret
|
||||
|
||||
recov ld hl, firmware-1
|
||||
ld de, $ffff
|
||||
push bc
|
||||
call dzx7b
|
||||
pop bc
|
||||
jr boot1
|
||||
|
||||
block $0100 - $
|
||||
include scroll/define.asm
|
||||
ld sp, 0
|
||||
ld de, $5e6d+filesize-1
|
||||
ld hl, scroll-1
|
||||
call dzx7b
|
||||
jp $7be4
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
; 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 rr e
|
||||
ex (sp), hl
|
||||
ex de, hl
|
||||
adc hl, de
|
||||
lddr
|
||||
exitdz pop hl
|
||||
jr nc, mainlo
|
||||
ret
|
||||
|
||||
incbin firmware.rom.zx7b
|
||||
firmware
|
||||
incbin scroll/scroll.bin.zx7b
|
||||
scroll
|
||||
;block $4000 - $
|
||||
macro wreg dir, dato
|
||||
rst $28
|
||||
defb dir, dato
|
||||
endm
|
||||
|
||||
output bootloader.rom
|
||||
define zxuno_port $fc3b
|
||||
define master_conf 0
|
||||
define master_mapper 1
|
||||
define flash_spi 2
|
||||
define flash_cs 3
|
||||
define joyconf 6
|
||||
define scandbl_ctrl 11
|
||||
|
||||
di
|
||||
ld sp, $bfff-ini+6
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 0
|
||||
ld de, $c771 ; tras el out (c), h de bffc se ejecuta
|
||||
push de ; un rst 0 para iniciar la nueva ROM
|
||||
ld de, $ed80 ; en $bffc para evitar que el cambio de ROM
|
||||
push de ; colisione con la siguiente instruccion
|
||||
ld bc, $bffc-ini+6
|
||||
push bc
|
||||
wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 6 ; envío write enable
|
||||
wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, $c5 ; envío wrear
|
||||
out (c), 0
|
||||
jp cont
|
||||
nop
|
||||
|
||||
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
|
||||
|
||||
rst38 jp $c006
|
||||
|
||||
block $0066 - $
|
||||
|
||||
nmi66 jp $c003
|
||||
retn
|
||||
|
||||
cont wreg flash_cs, 1 ; desactivamos spi, enviando un 1
|
||||
wreg joyconf, %00010000
|
||||
wreg master_mapper, 8 ; paginamos la ROM en $c000
|
||||
lee in a, ($1f)
|
||||
djnz lee
|
||||
wreg scandbl_ctrl, $c0 ; lo pongo a 28MHz
|
||||
cp %00011000 ; arriba y disparo a la vez
|
||||
jr z, recov
|
||||
cp %00010100 ; arriba y disparo a la vez
|
||||
jr z, recov
|
||||
wreg flash_cs, 0 ; activamos spi, enviando un 0
|
||||
wreg flash_spi, 3 ; envio flash_spi un 3, orden de lectura
|
||||
ini out (c), h ; envia direccion 008000, a=00,e=80,a=00
|
||||
out (c), e
|
||||
out (c), h
|
||||
add hl, sp
|
||||
boot ini
|
||||
inc b
|
||||
cp h ; compruebo si la direccion es 0000 (final)
|
||||
jr c, boot ; repito si no lo es
|
||||
boot1 dec b
|
||||
out (c), 0 ; a master_conf quiero enviar un 0 para pasar
|
||||
inc b
|
||||
ret
|
||||
|
||||
recov ld hl, firmware-1
|
||||
ld de, $ffff
|
||||
push bc
|
||||
call dzx7b
|
||||
pop bc
|
||||
jr boot1
|
||||
|
||||
block $0100 - $
|
||||
include scroll/define.asm
|
||||
ld sp, 0
|
||||
ld de, $5e6d+filesize-1
|
||||
ld hl, scroll-1
|
||||
call dzx7b
|
||||
jp $7be4
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
; 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 rr e
|
||||
ex (sp), hl
|
||||
ex de, hl
|
||||
adc hl, de
|
||||
lddr
|
||||
exitdz pop hl
|
||||
jr nc, mainlo
|
||||
ret
|
||||
|
||||
incbin firmware.rom.zx7b
|
||||
firmware
|
||||
incbin scroll/scroll.bin.zx7b
|
||||
scroll
|
||||
;block $4000 - $
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
include version.asm
|
||||
define recovery 1
|
||||
define recovery 0
|
||||
define recodire 0
|
||||
define zesarux 0
|
||||
define vertical 0
|
||||
|
|
@ -80,6 +80,7 @@
|
|||
define freque scanli+1
|
||||
define cpuspd freque+1
|
||||
define copt cpuspd+1
|
||||
define cburst copt+1
|
||||
|
||||
define tmpbuf $7800
|
||||
define tmpbu2 $7880
|
||||
|
|
@ -256,11 +257,16 @@ start ld bc, chrend-sdtab
|
|||
jr nc, start0
|
||||
set 4, h
|
||||
start0 ld a, (outvid)
|
||||
push af
|
||||
rrca
|
||||
ld a, (cburst)
|
||||
adc a, a
|
||||
ld de, ad724<<8 | scandbl_ctrl
|
||||
ld bc, zxuno_port
|
||||
out (c), d
|
||||
inc b
|
||||
out (c), a
|
||||
pop af
|
||||
dec b
|
||||
out (c), e
|
||||
inc b
|
||||
|
|
@ -1059,7 +1065,7 @@ runbit ld b, h
|
|||
ld e, core_addr
|
||||
out (c), e
|
||||
inc b
|
||||
IF version=3
|
||||
IF version=4
|
||||
ld a, (alto highb+1)
|
||||
out (c), a
|
||||
out (c), h
|
||||
|
|
@ -2813,6 +2819,10 @@ advan1 call showop ; Joy Keypad & DB9
|
|||
defw cad90
|
||||
defw cad96
|
||||
defw $ffff
|
||||
call showop ; Color Burst
|
||||
defw cad10c
|
||||
defw cad10d
|
||||
defw $ffff
|
||||
ld de, $1201
|
||||
call listas
|
||||
defb $04
|
||||
|
|
@ -2823,6 +2833,7 @@ advan1 call showop ; Joy Keypad & DB9
|
|||
defb $0d
|
||||
defb $0e
|
||||
defb $0f
|
||||
defb $10
|
||||
defb $ff
|
||||
defw cad84
|
||||
defw cad85
|
||||
|
|
@ -2832,6 +2843,7 @@ advan1 call showop ; Joy Keypad & DB9
|
|||
defw cad100
|
||||
defw cad101
|
||||
defw cad10a
|
||||
defw cad10b
|
||||
jp c, main9
|
||||
ld (menuop+1), a
|
||||
ld hl, layout
|
||||
|
|
@ -2898,11 +2910,17 @@ advan7 djnz advan8
|
|||
defw cad113
|
||||
defw $ffff
|
||||
ret
|
||||
advan8 call popupw ; CSync
|
||||
advan8 djnz advan9
|
||||
call popupw ; CSync
|
||||
defw cad90
|
||||
defw cad96
|
||||
defw $ffff
|
||||
ret
|
||||
advan9 call popupw ; Color Burst
|
||||
defw cad10c
|
||||
defw cad10d
|
||||
defw $ffff
|
||||
ret
|
||||
|
||||
|
||||
;**** Exit Menu ****
|
||||
|
|
@ -4448,7 +4466,11 @@ subnn sub 6
|
|||
IF version=4
|
||||
defw $1200
|
||||
ELSE
|
||||
IF version=2
|
||||
defw $0740
|
||||
ELSE
|
||||
defw $0c40
|
||||
ENDIF
|
||||
ENDIF
|
||||
subnn sub 6*4
|
||||
ENDIF
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ cad1 defb 'http://zxuno.speccy.org', 0
|
|||
ELSE
|
||||
cad1 defb 'http://zxdos.forofpga.es', 0
|
||||
ENDIF
|
||||
defb 'ZX-Uno BIOS v0.77', 0
|
||||
defb 'ZX-Uno BIOS v0.78', 0
|
||||
defb 'Copyleft ', 127, ' 2018 ZX-Uno Team', 0
|
||||
defb 'Processor: Z80 3.5MHz', 0
|
||||
defb 'Memory: '
|
||||
|
|
@ -41,7 +41,7 @@ cad8 defb $10, ' ', $10, ' ', $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.77 ', $7f, '2018 ZX-Uno Team', 0
|
||||
defb ' BIOS v0.78 ', $7f, '2018 ZX-Uno Team', 0
|
||||
ELSE
|
||||
defb 'Press <Edit> to Setup',0
|
||||
defb ' <Break> Boot Menu', 0
|
||||
|
|
@ -72,7 +72,7 @@ cad8 defb $10, ' ', $10, 0
|
|||
cad9 defb $14, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11
|
||||
defb $11, $11, $11, $11
|
||||
defb $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $15, 0
|
||||
defb ' BIOS v0.77 ', $7f, '2018 ZX1 Team', 0
|
||||
defb ' BIOS v0.78 ', $7f, '2018 ZX1 Team', 0
|
||||
defs $66
|
||||
ENDIF
|
||||
cad10 defb 'Hardware tests', 0
|
||||
|
|
@ -317,14 +317,14 @@ cad79 defb ' Successfully burned ', 0
|
|||
cad80 defb 'EAR input', 0
|
||||
cad81 defb 'SD file', 0
|
||||
cad82 defb 'Input machine\'s name', 0
|
||||
IF version=2
|
||||
files defb 'ESXDOS ZX', LX16
|
||||
defb 'FIRMWAREZX', LX16
|
||||
defb 'FLASH ZX', LX16
|
||||
defb 'SPECTRUMZX', LX16
|
||||
fileco defb 'CORE ZX', LX16
|
||||
IF version=3
|
||||
files defb 'ESXDOS BIN'
|
||||
defb 'FIRMWAREZXD'
|
||||
defb 'FLASH ZXD'
|
||||
defb 'SPECTRUMZXD'
|
||||
fileco defb 'CORE ZXD'
|
||||
ELSE
|
||||
files defb 'ESXDOS ZX', $30+version
|
||||
files defb 'ESXDOS BIN'
|
||||
defb 'FIRMWAREZX', $30+version
|
||||
defb 'FLASH ZX', $30+version
|
||||
defb 'SPECTRUMZX', $30+version
|
||||
|
|
@ -343,7 +343,8 @@ cad83 defb 'Input', 0
|
|||
defb 'Scanlines', 0
|
||||
defb 'Frequency', 0
|
||||
defb 'CPU Speed', 0
|
||||
defb 'CSync', 0, 0
|
||||
defb 'CSync', 0
|
||||
defb 'Color Burst', 0, 0
|
||||
cad84 defb 'Select PS/2', 0
|
||||
defb 'mapping to', 0
|
||||
defb 'spectrum', 0, 0
|
||||
|
|
@ -364,6 +365,10 @@ cad101 defb 'Set CPU', 0
|
|||
defb 'speed', 0, 0
|
||||
cad10a defb 'CSync method', 0
|
||||
defb 'to use', 0, 0
|
||||
cad10b defb 'Select FPGA to', 0
|
||||
defb 'avoid aliasing', 0, 0
|
||||
cad10c defb 'Crystal', 0
|
||||
cad10d defb 'FPGA', 0
|
||||
cad102 defb '50', 0
|
||||
cad103 defb '51', 0
|
||||
cad104 defb '53.5', 0
|
||||
|
|
|
|||
Loading…
Reference in New Issue