OldComp.cz
http://oldcomp.cz/

Formát súborov typu P (.P files), loader, a turbo loader
http://oldcomp.cz/viewtopic.php?f=88&t=9122
Stránka 12

Autor:  PotPalo [ 20.11.2020, 00:48 ]
Předmět příspěvku:  Formát súborov typu P (.P files), loader, a turbo loader

1. Aký je formát súborov typu P pre Z80? Nejaká špecifikácia by sa mi zišla, ale nenachádzam. Dá sa tam nahrať aj viac súborov a má to aj CRC ako TAP? Stiahol som nejaké P súbory ale žiadny zrozumiteľný text v nich nieje, ako to?

2. Ďalšia vec, loader. Súbor so zvukom nahrávky mám, ale tiež by ma zaujímala jeho špecifikácia. Sú tam 4 a 9 impulzy čo je 0 a 1, ale čo ďalej? Ako to vie dĺžku, CRC?

3. Tretia vec, turboloader. Zasa iný zvukový súbor, podobný tomu ZX Spectru. Len čo som pozrel do zvukového editora, tak som rozpoznal zavádzací signál 0, potom asi synchronizačný impulz 1, a dáta. Zasa, dĺžka, CRC?

Autor:  PotPalo [ 22.11.2020, 22:54 ]
Předmět příspěvku:  Re: Formát súborov typu P (.P files), loader, a turbo loader

Nikto nič? Trochu som experimentoval, a zkonvertoval jednu štandardnú TZX jedného programu do WAV. Následne analyzoval a porovnal s .p toho istého programu. Vo WAV súbore je najprv nejakých 9 bytov, následne už samotné dáta celého .p súboru. Nič z tých 9 bytov ale nepripomína dĺžku súboru.

Autor:  Solaris104 [ 22.11.2020, 23:00 ]
Předmět příspěvku:  Re: Formát súborov typu P (.P files), loader, a turbo loader

Kdyby jsi si chtěl hrát s turbem, tak tady je jedna kazeta pro ZX81 v turbu.
http://www.zdenekpistora.cz/Works/ZX81_hry.zip
Vanthomas si s tím hrál, ale není to jednoduché. Turboloader v příloze.

Přílohy:
116846761_2635626486700151_4510805176277909652_o.jpg
116846761_2635626486700151_4510805176277909652_o.jpg [ 152.68 KiB | Zobrazeno 11419 krát ]
fastsaver.zip [511 bajtů]
350 krát

Autor:  mmartinka [ 22.11.2020, 23:01 ]
Předmět příspěvku:  Re: Formát súborov typu P (.P files), loader, a turbo loader

Možná bys nějaké info nasál ze zdrojáků TZXDuino, ten umí přehrát i .P z zx81. Tedy doufám že se nemýlím :)

Autor:  PotPalo [ 22.11.2020, 23:16 ]
Předmět příspěvku:  Re: Formát súborov typu P (.P files), loader, a turbo loader

Síce je to ešte tajné, ale prezradím, že vo voľnom čase píšem tape loader pre ZX Spectrum, ktorý bude mať dynamickú rýchlosť nahrávania. Akou rýchlosťou sa nahrávka pustí, takou ju nahrá, a podporuje aj zmenu rýchlosti počas nahrávania. A po malej úprave sa bude dať použiť aj na nahratie týchto turbosúborov. Teda pokiaľ sa podarí zistiť ako to používa kontrolný súčet, ak vôbec, aby sa dalo nejako overiť že je to nahraté správne. Tiež neviem čo potom s nimi ďalej na Spectre. :D Buď uložiť do .p čo ale nieje zdokumentované takže nie, alebo čisto ako binárku.

Ozaj, ono to má Z80 procesor, to by som mal v tých súboroch vidieť nejaký rozumný assembler, nie? Teda pokiaľ to nieje celé v BASICu, ale to by som zasa mal vidieť nejaké texty, čo ale pri prezretí niekoľkých .p súborov nevidím. Nemá to náhodou kódovanie textu iné ako ASCII?

Autor:  faraon [ 22.11.2020, 23:42 ]
Předmět příspěvku:  Re: Formát súborov typu P (.P files), loader, a turbo loader

No, to dost pravděpodobně má. Pro jaký je to počítač?

Obrázek

Autor:  ub880d [ 23.11.2020, 00:50 ]
Předmět příspěvku:  Re: Formát súborov typu P (.P files), loader, a turbo loader

ja neviem.. ta dnesna mladez nam tu lenivie... gugle uz nefunguju? ;]

letmy pohlad do guglu a nasiel som toto: http://michaelminn.com/linux/mmzx81/

mas tam okrem zakladnych info o .p suboroch aj linuxovy emulator zx81 a utilitu na prevod .wav do .p, pricom utilita vie aj vylistovat program ulozeny v .p .

Autor:  PotPalo [ 23.11.2020, 01:27 ]
Předmět příspěvku:  Re: Formát súborov typu P (.P files), loader, a turbo loader

Ja som hľadal iba ZX80, to bola asi chyba. Ale aj tak z toho nie som múdrejší. Charakteristiku .p súboru som tam nenašiel (alebo som zle hľadal). Našiel som iba stručne že dáta na páske sú vlastne dump z pamäte bez prvých 9 bytov. Takže keď je tam program ktorý z WAV urobí .p súbor, kde naberie tých prvých 9 bytov, ktoré vo WAV niesu? Čo som pozeral archív, tak každý .p súbor má prvých 9 bytov iných. Kontrolný súčet to teda tiež nemá?

Oprava: chyba bola asi v programe ktorý mi z TZX urobil WAV, a následne som to ja poplietol. Tých 9 bytov naviac bolo v tej analýze z WAV, nie v .p súbore. Takže je to v poriadku, .p je čistý dump pamäte rovnako ako audio súbor z pásky, a teda netreba ďalšiu charakteristiku.

Autor:  PotPalo [ 23.11.2020, 03:47 ]
Předmět příspěvku:  Re: Formát súborov typu P (.P files), loader, a turbo loader

Preskúmal som ten fastsaver/fastload, našiel som tam assembler mne známy. :D Nakoľko sa nahráva dump celej obsadenej pamäti, je v bloku vždy aj adresa pokiaľ sa má nahrávať. Kontrolu chýb ani CRC to nepoužíva. Ako sa potom vie či je program bez chýb, kontroluje to BASIC po nahratí, alebo sa zistí čisto pohľadom a funkčnosťou? :scratched:

Nakoľko časť s BASIC som nemal ako vypísať (ešte nemám emulátor), tak rýchla prosba: nemôžete sem niekto dať výpis BASICu toho fastsaveru? Podľa rýchleho náhľadu bez tokenov ZX81 program fastsaver píše že sa nahral správne. Zaujímalo by ma ako to zisťuje. V assembleri má iba load, save, a presun kdesi ku koncu pamäte.

Autor:  PotPalo [ 25.11.2020, 01:12 ]
Předmět příspěvku:  Re: Formát súborov typu P (.P files), loader, a turbo loader

Nejaký nápad mimo tému:

Ako elegantne skopírovať súbor väčší ako voľná pamäť z pásky na disketu (pre ZX Spectrum 48k/Didaktik) a použiť na to iba LOAD rutinu v ROM (pre SAVE* samozrejme MDOS...):
Load rutina v pamäti obrazovky, volá klasickú LOAD rutinu v ROM. Začiatok nahrávania v obrazovke, dĺžka určená že prekročí koniec pamäte. Skrátka sa bude koniec bloku nahrávať už od adresy 0, čiže nikam. Po nahratí sa podľa DE alebo IX určí dĺžka, H je CRC a ak je 0, je nahratie bez chyby. Zapamätáme si koľko dát nám uniklo mimo pamäť. Blok sa uloží na disketu s plnou dĺžkou, koniec sa neskôr prepíše správnymi dátami (alebo sa uloží len nahraná časť a zvyšok sa pripíše neskôr, ako do sequenčného súboru). Teraz ten trik. Podľa už nahraných dát vypočítame počiatočné CRC, teda CRC v momente kde nám došla pamäť. Podľa C určíme polaritu nahrávky. Podľa L určíme koľko bitov sa nahralo naviac (nemal by žiadny, ale keby náhodou...). Pretočíme pásku kúsok naspäť a pustíme. Spustíme LOAD rutinu (nastavíme C pre správnu polaritu, DE väčšie ako treba, IX...) už od časti kde sa nečaká na zavádzací signál a rovno sa nahrávajú dáta, takže nahráme do pamäte iba koniec bloku. Po skončení podľa L odrolujeme nahraný blok aby sedel s predošlým L, tým zarovnáme byty, IX nám určuje koniec dát. Použijeme zapamätanú dĺžku uniknutých dát a počiatočné CRC, a vypočítame CRC od konca bloku, pri správnej nahrávke nám vyjde 0. Vtedy môžeme nahrané dáta doplniť do už nahraného (alebo začatého) súboru na diskete. Hotovo. :D Ak sa v tom niekto zamotal, tak buď nieje dobrý programátor, alebo nemá dostatočnú predstavivosť. :mrgreen: Samozrejme pri 128kB pamäte takto šaškovať netreba. Tiež je druhá možnosť, a síce že sa nechá prepnutá pamäť MDOSu, kde sa skopíruje LOAD rutina, a teda sa môže využiť celých 48kB na nahratý blok (teda pokiaľ blok nieje tak veľký, že sa nevojde ani do takto rozšírenej RAM).

Autor:  Busy [ 25.11.2020, 12:01 ]
Předmět příspěvku:  Re: Formát súborov typu P (.P files), loader, a turbo loader

PotPalo píše:
Ako elegantne skopírovať súbor väčší ako voľná pamäť z pásky na disketu (pre ZX Spectrum 48k/Didaktik) a použiť na to iba LOAD rutinu v ROM (pre SAVE* samozrejme MDOS...):
Hehe, to je ale ze riadne vtipne :lol:
Ja by som si napisal vlastny loader s kompresiou (ako v kopirakoch) a nasledne subor po castiach depakoval a ukladal po sektoroch na disketu.

Autor:  PotPalo [ 25.11.2020, 13:07 ]
Předmět příspěvku:  Re: Formát súborov typu P (.P files), loader, a turbo loader

A keby sa jednalo o súbor ktorý sa charakteristikou dát už nedá skomprimovať? Kopírákov s kompresiou máme dosť.

Autor:  Busy [ 25.11.2020, 16:00 ]
Předmět příspěvku:  Re: Formát súborov typu P (.P files), loader, a turbo loader

Tak budem dufat, ze aj po komprimacii nebude vecsi nez 128kB. Resp. 127kB, aby bolo miesto na kod a aspon jeden sektor pre depak a zapis na disk. A ked ani to nebude stacit, tak na MB02 mame este dalsich 512kB a na MB03 mame dalsich 8 MB ramky. Vlastne to uz ani komprimacia ani urcite nebude treba :)

Autor:  PotPalo [ 25.11.2020, 17:13 ]
Předmět příspěvku:  Re: Formát súborov typu P (.P files), loader, a turbo loader

Malý detail: píšem že pre 48k. A práve preto že dnes je už omnoho viac možností, tak nemá zmysel programovať takúto rutinu.

Autor:  Czech Human [ 25.11.2020, 17:34 ]
Předmět příspěvku:  Re: Formát súborov typu P (.P files), loader, a turbo loader

Ha, tohle je krásná ukázka Möbiovy smyčky, kdy Cimrman - autor se vrací cílem opět na začátek :-D.

Stránka 12 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/