From a27546ba9c41872da19b020014fd288ab4de7f01 Mon Sep 17 00:00:00 2001 From: antoniovillena Date: Sun, 11 Feb 2018 23:52:14 +0100 Subject: [PATCH] =?UTF-8?q?Cambios:=20-Compatible=20mapas=20teclado=20EXP2?= =?UTF-8?q?6.=20=C2=A1=C2=A1=C2=A1ATENCI=C3=93N!!!=20Incompatible=20con=20?= =?UTF-8?q?cores=20anteriores.=20-Arreglado=20bug=20del=20lanzador=20de=20?= =?UTF-8?q?cores.=20-Detecta=202M=20de=20RAM=20si=20el=20core=20lo=20permi?= =?UTF-8?q?te.=20-A=C3=B1adido=20soporte=20NTSC.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- firmware/FIRMWARE.ZX1 | Bin 16384 -> 16384 bytes firmware/av.zx7b | Bin 285 -> 196 bytes firmware/es.zx7b | Bin 425 -> 306 bytes firmware/firmware.asm | 94 +++++++++++++++++++++++++++--------------- firmware/strings.asm | 9 ++-- firmware/us.zx7b | Bin 404 -> 291 bytes 6 files changed, 66 insertions(+), 37 deletions(-) diff --git a/firmware/FIRMWARE.ZX1 b/firmware/FIRMWARE.ZX1 index 6f333fcdcc7c00b36e70618a02249700b90ed7e5..add9ad8aca3c5d40cbb5e73b96d617aa759b7d42 100644 GIT binary patch delta 3985 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 KpFKRM>VE-n@kL$$ delta 4262 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 KOQ}P%SN=E0RLREx diff --git a/firmware/av.zx7b b/firmware/av.zx7b index e9049a8d1d976715b77d3e173a3b15dbee3493eb..231ca0dc610d25f3b27a88a8686db4f7c46b1c8a 100644 GIT binary patch literal 196 zcmV;#06YJHRaO641Ob6X{}K^I&1FLc^&bU!-wbF0;uqoqu*eGkK_R6-I067703ihc zLZ`qF2mm1j03-lJ0E=V~QV5wpC;(6Z4@dy{#2+}5&;T$146u7iPHo5ls9ncx4~OUg zZKMFARg7&<$NwS1;-Ubd;%EVckfBM0O5(z$L^A<6|KdZ~qG1JS0Fsedf#T!ELxKPkaY*R^ literal 285 zcmV+&0pk8(Rn`Af0pc18RxkswO7{?6j@!b>1E@;7kc1yf z=mV77u%rVYa)H~yD4%TqC+P>G2NTN=XlLK4p_3ql7nQ>0C}(j2|JmXQhgM+=RA>V# zqi=y9RpbL=N&{)%YxisW;j6<>04JUac diff --git a/firmware/es.zx7b b/firmware/es.zx7b index 38a820454276efbbffd955c62caed8a19aae03dc..9d2adc29d66a1eeffbfe9107f103c8fcd8fe9810 100644 GIT binary patch literal 306 zcmV-20nPqkRaO560fI#TMgWAD-^&63A^-|sLI86P^V!a0)yw&406S#=EWeFS>7Qr$ zj~{W9c)?My0FWM4RQAp!v+0U-qeLVb(@2mu5EBmqPK;%MSzApZdnBLOG@ zPytBdZ~zhL0U_`K&;c+3u;KuaJLFOU$N{Jjnc{>G6QTjc0i*!}qT<5hf)OAB;(-Ce z1Qns;2px$i5meCsl0n7dp=KpeCI6|aLI09eRYd3W96g+qDlh^gX{l`!#=|T z?B~8A2h#tDm;a{($o~_>50x;Osz_9=lz|}s9~DI6B>(Y20YM*ONq?yV10n-bArC@I z`!E3r14;w~BuW=V11V@9WF`L}0ZRk*C<9OrQb-?gN+XHr1MmY<&;u|^6R;a8kawlz z1IS7jsOhufMuZ;{3j@RhU!)tNN&^=Q`GO-70uO-)rNS$eKMx2yz9>{9&?)~P6oU^= zp_o-rD*sPaRYCuGs;WfF|5pG}0RMR+paB0o5di;rs;U70@)Qst191og z0tTfJH0|NIqr^lD3IoV%;FItK5&+gH2sVIAE>8 ld l, (hl) call calcu push hl pop ix - ld d, (ix+2) ld hl, timing + ld a, (outvid) + rrca ld a, 3 + ld b, a + jr c, ccon1 + ld d, (ix+2) cp (hl) ; timing ld b, (hl) jr nz, ccon1 @@ -934,20 +965,6 @@ conti2 adc a, a ; 0 0 MODE1 /DISCONT MODE0 /I2KB /DISNMI DIVEN xor %10101100 ; LOCK MODE1 DISCONT MODE0 I2KB DISNMI DIVEN 0 ld (alto conti9+1), a jp alto micont -runbit0 ld a, 45 - cp l - jp z, bios - ld h, l -runbit ld b, h - call calbit - ld bc, zxuno_port - ld e, core_addr - out (c), e - inc b - out (c), h - out (c), l - out (c), 0 - wreg core_boot, 1 ;**** Main Menu **** ;********************* @@ -2608,7 +2625,7 @@ advan1 call showop ld c, $0b call showop defw cad96 -; defw cad97 + defw cad97 defw cad98 defw $ffff call showop @@ -2629,7 +2646,7 @@ advan1 call showop defw cad110 defw cad111 defw cad112 -; defw cad113 + defw cad113 defw $ffff ld de, $1201 call listas @@ -2695,12 +2712,12 @@ advan5 djnz advan6 defw cad110 defw cad111 defw cad112 -; defw cad113 + defw cad113 defw $ffff ret advan6 call popupw defw cad96 -; defw cad97 + defw cad97 defw cad98 defw $ffff ret @@ -4292,6 +4309,17 @@ contia out (c), a rst 0 ENDIF ; ------------------------------------- +; Detect memory size +; Zero flag: 0-> 512K, 1-> 2M +; ------------------------------------- +tstmem wreg master_conf, 1 + wreg master_mapper, $28 + ld a, ($c000) + wreg master_conf, 0 + cp $31 + ret + +; ------------------------------------- ; Put page A in mode 1 and copies from 4000 to C000 ; A: page number ; ------------------------------------- diff --git a/firmware/strings.asm b/firmware/strings.asm index 6bae293..3cffe9c 100644 --- a/firmware/strings.asm +++ b/firmware/strings.asm @@ -1,9 +1,10 @@ cad0 defb 'Core: ',0 cad1 defb 'http://zxuno.speccy.org', 0 - defb 'ZX-Uno BIOS v0.65', 0 + defb 'ZX-Uno BIOS v0.70', 0 defb 'Copyleft ', 127, ' 2017 ZX-Uno Team', 0 defb 'Processor: Z80 3.5MHz', 0 - defb 'Memory: 512K Ok', 0 + defb 'Memory: ' +cadmem defb '512K Ok', 0 defb 'Graphics: normal, hi-color', 0 defb 'hi-res, ULAplus', 0 defb 'Booting:', 0 @@ -36,7 +37,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.65 ', $7f, '2017 ZX-Uno Team', 0 + defb ' BIOS v0.70 ', $7f, '2017 ZX-Uno Team', 0 ELSE defb 'Press to Setup',0 defb ' Boot Menu', 0 @@ -67,7 +68,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.65 ', $7f, '2017 ZX1 Team', 0 + defb ' BIOS v0.70 ', $7f, '2017 ZX1 Team', 0 defs $66 ENDIF cad10 defb 'Hardware tests', 0 diff --git a/firmware/us.zx7b b/firmware/us.zx7b index 4d4ab3a561a7db0d2e8b942857287a169ea53ceb..a501bff1d14c7a31f91e312dfe146071d473fc25 100644 GIT binary patch literal 291 zcmV+;0o?vrRsWR%0fPUr6hQ#rkpch}gCPJy8US++2wngL0CPkDXcz!w|5!gL06I_r zNB|J|ALEnog)jiH01S{##&d0YTznKSE<70XiW8LgI5D@KFQ-BmoXY;%MSzK>q-gW{++A|(Gw08tzqVGb4I3Wi201K|KsqB~+Z|40<+R^c`k#4^ZA p;_zy$B9@E~nBoAc1OVa?A4RIc08$Nb6WsxjA_W120f+!Yf&dbAYAFB! literal 404 zcmV;F0c-w%RaO6A0YHNPd=vmd14+MM=#3%+l_3K{15#qdiqxc7=R{ZoXagz#Jpg~z zC<9PR14siY^Kn0Mr(=tMFavw#0+5@7JJbS8d*4&tpI_($l-sbR10QmOVS*zi@tf2Bi=*?cuni#6$}U1ITOOlkfx* y0M;l7Hh@bmKvAv?A7ZNFmx@8+5I>Yu!D}@D0dOZW0gxyQ0fZw10f+z-h=2eaAE5*Q