Salut!
Am lucrat ceva timp la o noua facilitate a programului HCDisk: conversie automata din imagini de caseta in format TAP/TZX descarcate de pe
worldofspectrum.org de exemplu, in fisiere pe discheta pentru HC, Spectrum +3, MGT +D, Opus Discovery, etc.
Exista de mai demult comanda "tapimp" care face import din TAP in disc, dar loader-ul BASIC nu era adaptat automat pentru disc. Acum se parseaza si se reface loader-ul BASIC, adica in loc de LOAD ""CODE, se trece pentru HC la LOAD *"d";0;"nume"CODE.
Binenteles ca sunt multe jocuri pentru care nu se poate face automat o conversie de genul asta, pentru ca de exemplu se face incarcarea blocurilor din cod masina in loc de BASIC.
A fost o provocare si "corectarea" numelor pentru a fi valide pe disc, de exemplu:
- nume de lungime 0, acceptate pe caseta, dar nu si pe disc, se inlocuiesc cu un nume derivat din numele blocului BASIC initial.
- nume cu caractere neprintabile - se elimina acele caractere
- nume ne-unice in cadrul aceluiasi joc - se creaza nume unice, pe baza indexului blocului.
Folosind abilitatea de a detecta blocurile incarcate de un program BASIC, acum se pot exporta automat toate blocurile unui joc pornind de la loader-ul BASIC, si se modifica sintaxa BASIC pentru caseta, in comanda "tapexp" pentru functionalitatea "disk to tape". Folosind aceasi functionalitate noua, planuiesc transfer de fisiere TAP prin seriala catre HC, beneficiind the conversia loader-ului BASIC automat la momentul transferului, din LOAD ""CODE in LOAD *"b";"nume". Practic PC-ul ar face upload pe seriala la jocuri catre HC, fara ca jocurile sa necesite modificari manuale.
Comanda noua "convldr" face aceasi conversie descrisa mai sus, dintr-un fisier TAP in alt fisier TAP, care poate fi apoi importat intr-un disc de HC, Spectrum +3, MGT +D.
Am mai adugat comanda "bin2rem", care ajuta la conversia unui binar Z80 asamblat pe PC intr-un program BASIC de 1 linie care executa acel binar Z80. Asta pentru a obtine un fisier mai mic pe disc, pentru a reduce fragmentarea discului si a creste viteza de incarcare.
Odata create imaginile de disc, se pot folosi ca atare cu emulator floppy GoTek montat in HC, sau se pot scrie pe dischete.
Sper sa fie util. Pentru mine e o provocare rezolvata.