Añade opción en BIOS para deshabilitar modos gráficos

This commit is contained in:
antoniovillena 2016-09-17 16:36:12 +02:00
parent 264c02e3b0
commit 3cb2c428f3
3 changed files with 35 additions and 8 deletions

View File

@ -45,8 +45,8 @@ int main(int argc, char *argv[]) {
"GenRom v0.06, generates a TAP for loading a ROM in the ZX-Uno, 2016-07-04\n\n"
" GenRom <params> <name> <input_file> <output_file>\n\n"
" <params> Set 13 flags parameters, combinable\n"
" 0 MODE=00, I2KB=DISCONT=DIVEN=DISNMI=0\n"
" DISD=ENMMU=DIROM1F=DIROM7F=DI1FFD=DI7FFD=DITAY=DIAY=0\n"
" 0 MODE=00, DI1FFD=DI7FFD=DITAY=DIAY=DIRADAS=DITIMEX=DIULAPLUS=0\n"
" I2KB=DISCONT=DIVEN=DISNMI=DISD=ENMMU=DIROM1F=DIROM7F=0\n"
" i Change Issue2\n"
" t Force Timing to 128\n"
" p Force Timing to Pentagon\n"
@ -61,6 +61,9 @@ int main(int argc, char *argv[]) {
" 7 Disable 7FFD port (128K memory paging)\n"
" 2 Disable 2nd AY chip\n"
" a Disable main AY chip\n"
" r Disable Radastanian mode\n"
" x Disable Timex mode\n"
" u Disable Ulaplus\n"
" <name> Name between single quotes up to 32 chars\n"
" <input_file> Input ROM file\n"
" <output_file> Output TAP file\n\n"
@ -143,7 +146,10 @@ int main(int argc, char *argv[]) {
case '1': mem[0x4009]^= 0b00001000; break;
case '7': mem[0x4009]^= 0b00000100; break;
case '2': mem[0x4009]^= 0b00000010; break;
case 'a': mem[0x4009]^= 0b00000001;
case 'a': mem[0x4009]^= 0b00000001; break;
case 'r': mem[0x400a]^= 0b00000100; break;
case 'x': mem[0x400a]^= 0b00000010; break;
case 'u': mem[0x400a]^= 0b00000001;
}
for ( i= 0; i<32 && i<strlen(argv[2]); i++ )
mem[i+0x4006+0x32]= argv[2][i];

View File

@ -24,6 +24,7 @@
define raster_line 12
define raster_ctrl 13
define dev_control 14
define dev_control2 15
define core_addr $fc
define core_boot $fd
define cold_boot $fe
@ -65,8 +66,9 @@
define conten timing+1
define divmap conten+1
define nmidiv divmap+1
define grapmo nmidiv+1
define layout nmidiv+1
define layout grapmo+1
define joykey layout+1
define joydb9 joykey+1
define outvid joydb9+1
@ -584,7 +586,7 @@ main4 call showop
defw cad29
defw cadv2
defw $ffff
ld a, nmidiv&$ff
ld a, grapmo&$ff
cp iyl
jr nc, main4
ld de, $1201
@ -600,6 +602,7 @@ main4 call showop
defb $0f
defb $10
defb $11
defb $12
defb $ff
defw cad14
defw cad15
@ -612,6 +615,7 @@ main4 call showop
defw cad71
defw cad18
defw cad19
defw cad195
jr c, main9
ld (menuop+1), a
cp 4
@ -3496,6 +3500,17 @@ conti9 ld a, 0
inc b
ld a, (ix+3)
out (c), a
dec b
ld a, dev_control2
out (c), a
inc b
ld a, (grapmo)
srl a
jr c, contia
ld a, 7 ; Resv Resv Resv Resv Resv DIRADAS DITIMEX DIULAPLUS
jr z, contia
ld a, (ix+4)
contia out (c), a
rst 0
ENDIF

View File

@ -1,6 +1,6 @@
cad0 defb 'Core: ',0
cad1 defm 'http://zxuno.speccy.org', 0
defm 'ZX-Uno BIOS v0.53', 0
defm 'ZX-Uno BIOS v0.54', 0
defm 'Copyleft ', 127, ' 2016 ZX-Uno Team', 0
defm 'Processor: Z80 3.5MHz', 0
defm 'Memory: 512K Ok', 0
@ -37,7 +37,7 @@ cad8 defm $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.53 ', $7f, '2016 ZX-Uno Team', 0
defb ' BIOS v0.54 ', $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
@ -55,7 +55,8 @@ cad10 defb 'Hardware tests', 0
defb 'Timing', 0
defb 'Contended', 0
defb 'DivMMC', 0
defb 'NMI-DivMMC', 0, 0
defb 'NMI-DivMMC', 0
defb 'New G.Modes', 0, 0
ENDIF
cad11 defb ' ', $10, 0
defb ' ', $10, 0
@ -363,6 +364,11 @@ cad114 defb 'Break to exit', 0
cad115 defb 'Slot occupied, select', 0
defb 'another or delete a', 0
defb 'ROM to free it', 0
cad195 defb 'Disable for', 0
defb 'better compa-', 0
defb 'tibility with', 0
defb 'old games', 0, 0
ENDIF
cad116 defb '2', 0
defb '3', 0