Otros dos parches más | 20180327-1320 |
A raíz de la corrección anterior que añadía algo de control a la expansión de macros, he retocado el análisis de secuencias de escape de UZ80 para que provoque errores fatales cuando se le dan combinaciones que se salen del estándar: por ejemplo "\N", que es rechazado, a diferencia de "\n", que genera el carácter LF, de valor 10.
load = $170 type = 0 exec = 0 ; AMSDOS org load-$80 ds 18 dw type ds 1 dw load ds 1 dw last-load,exec ds 36 dw last-load ds 1 dw type+(load>>8)+(load&255)+2*((last-load)>>8)+2*((last-load)&255)+(exec>>8)+(exec&255) ds 59 ; BASIC dw boot-$-2,1,$1C83,boot,$C001 filename db "2H" filename_ db ": run to toggle 208K mode, push Shift and Control to format disc." ds 3 boot ld a,($BC9B) cp $DF ret nz ; DISC INSTEAD OF TAPE? ld hl,($BC9B+1) inc hl inc hl ld a,(hl) ; AMSDOS' ROM NUMBER ld (select03+2),a ld (format06+2),a ld hl,($BE7D) ld a,h or l ret z ; AMSDOS COMPATIBLE ROM? ld e,(hl) ; CURRENT DISC DRIVE push de ld a,$C1 ; DEFAULT DATA FORMAT db $DF dw select03 ld hl,5 ; A=0,BC=0,DE=^XDPB+19 add hl,de pop de cp (hl) jr z,main ld (hl),a ; SET DYNAMIC FORMAT quit ld de,last jp $BC9B ; CAT main dec (hl) ; SET 208K FORMAT push hl pop ix ld (ix-24),40 ; RECORDS/TRACK (36) ld (ix-19),209 ; ++KBYTES/SIDE (179) ; ld (ix-11),b;0 ; CATALOG TRACK ; ld (ix-9),$C1 ; 1ST SECTOR ID inc (ix-8);,10 ; SECTORS/TRACK (9) ; 20130830: GAP#3 7/22 FAIL!!! ld (ix-7),1 ; GAP#3 RD/WRT (42) ld (ix-6),37-1 ; GAP#3 FORMAT (82) ; 20140708: http://demoniak-contrib.forumactif.com\ ; /n62-la-structure-des-pistes-d-une-disquette-sur-cpc ld a,21 ; PRESS SHIFT... call $BB1E ld a,c sub 160 ; ...AND CONTROL! jr nz,quit ld d,a ld a,"[" call $BB5A doatrack ld hl,last push hl ld c,2 ld a,$C1 dosector ; CHRNCHRN... ld (hl),d inc hl ld (hl),b inc hl ld (hl),a inc hl ld (hl),c inc hl add 5 ; C1C6... ld (hl),d inc hl ld (hl),b inc hl ld (hl),a inc hl ld (hl),c inc hl sub 4 ; C6C2... cp $C6 jr nz,dosector ; 16,27,38,49,5A*6B pop hl db $DF dw format06 ret nc ld a,"#" bit 0,d call nz,$BB5A inc d ld a,d cp 42 jr c,doatrack ld hl,filename ld de,last ld b,filename_-filename call $BC8C ld hl,load ld de,last-load xor a call $BC98 call $BC8F ld a,"]" call c,$BB5A; OK filedone jp $BC92 select03 dw $C039 db 7 format06 dw $C042 db 7 ds $270-$ last end
Es buen momento para incluir las fuentes corregidas de 2H.BAS, programa que escribí en su momento para crear y utilizar disquetes con un formato DATA aumentado de 178k a 208k a base de usar 42 pistas de 10 sectores en vez de 40 de 9, que publiqué en cpcwiki.eu/forum y que UZ80 compila a la perfección, cabecera de AMSDOS incluida.
También he aprovechado para simplificar una de las condiciones del "player" de CHIPNSFX y para añadir cinco canciones, de las que cuatro son la banda sonora de Ben Daglish para la conversión de "Pacmania" a cargo de Teque Software y publicada por Grandslam. Es interesante: ninguna de las conversiones de "Pacmania" incluye el tema de "Sandbox Land"; todas se limitan a repetir el de "Block Town".
[ ◀◀ PRIMERO ] [ ◀ ANTERIOR ] [ ▲ ] [ ▶ POSTERIOR ] [ ▶▶ ÚLTIMO ] |