OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 28.03.2024, 21:57

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 20 ]  Přejít na stránku Předchozí  1, 2
Autor Zpráva
PříspěvekNapsal: 14.05.2021, 14:05 
Offline
Pan Generální

Registrován: 01.12.2017, 21:01
Příspěvky: 2062
Bydliště: BA-Petržalka :(
Has thanked: 18 times
Been thanked: 323 times
Teraz pozerám, posledný blok má checksum 245. Zvláštne. Chcelo by to pozrieť loader či to naozaj takto kontroluje, alebo je tam jeden byt (245) naviac, a checksum je klasicky 0.

_________________
Oznamy o novom príspevku mi na mail chodia iba sporadicky, takže keď sa nehlásim v diskusii, tak je to tým. V 80% nepríde mail vôbec.


Nahoru
 Profil  
 
PříspěvekNapsal: 14.05.2021, 14:24 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 08.07.2013, 00:28
Příspěvky: 1554
Has thanked: 485 times
Been thanked: 634 times
Poslední blok už jsou data hry :-) První dva headerlessy by se měly interpretovat jako Program, druhé dva jako Block s komprimovaným obrázkem, poslední jsou už zmíněná data, uložená ve std bezhlavičkovém souboru.

Edit: Nicméně dost možná budeš mít pravdu s tou chybou "jeden bajt navíc." V následujícím obrázku výpis Basicu druhého headerlessu, končícího chybou v Basicu.
Jak praví konspirační teoretici, "Náhoda? Nemyslíme si." :-)

Obrázek


Každopádně budu rád za případné nápady jak tohle detekovat a případně napravit na straně aplikace, protože kromě systematicky jednoho bajtů navíc se jedná o validní TAPku, která se bez problému načte a spustí.

Obrázek


Oh, btw, vždyť já bych vlastně měl mít tohle vydání Crashe doma! Tak zkusím data vydolovat z ní (Láďa kdyžtak vypomůže) a zjistím, jestli hlavička na originálu má taky 18 místo 17 bajtů :dcod:

_________________
より良い競争相手からソフトウェアを購入する (。◕‿‿◕。)
Ďábel se skrývá v detailu (staré technické rčení)


Nahoru
 Profil  
 
PříspěvekNapsal: 14.05.2021, 19:02 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
tomascz píše:
Každopádně budu rád za případné nápady jak tohle detekovat a případně napravit na straně aplikace, protože kromě systematicky jednoho bajtů navíc se jedná o validní TAPku, která se bez problému načte a spustí.
Na toto neexistuje nejaky exaktny sposob detekcie. Vyplyva to z toho, ze basic natvrdo ako prvy blok ocakava 17-bajtovu hlavicku (ako pisal PotPalo) a ak flagbajt+17bajtov+xor je platna hlavicka, tak dalsie bajty load rutinka uz ignoruje. A podobne je to aj s telom po hlavicke - flagbajt 255, pocet datovych bajtov z hlavicky, xor - ak toto sedi, romka to nahra uspesne a akekolvek dalsie bajty z bloku uz ignoruje.

Pri kopirakoch je toto problem preto lebo tie pocitaju s obecnymi, lubovolne dlhymi blokmi dat a do bloku beru vsetky data ktora nasleduju.

Ako jedinu rozumnu vec tu vidim taky workaround - v kazdom bloku s flagbajtom 0 a dlhsom ako 17 bajtov sa este moze skontrolovat, ci prvych 17 datovych batov nedava platnu hlavicku a nasledujuci bajt nie je platny XOR. Ak ano, kopirak by vypisal obsah hlavicky, pricom by bolo niekde zdoraznene, ze skutocna dlzka tohto konkretneho bloku je presne tolko a tolko.


Nahoru
 Profil  
 
PříspěvekNapsal: 03.06.2021, 18:54 
Offline
Pan Generální

Registrován: 01.12.2017, 21:01
Příspěvky: 2062
Bydliště: BA-Petržalka :(
Has thanked: 18 times
Been thanked: 323 times
Pozrel som tú Dizzy... posledný blok má správnu dĺžku, aká sa očakáva a loaderi. Hlavičky majú zbytočne o jeden byt naviac, veď sa nahrávajú s klasickým LOAD z BASICu. Či aj telá majú o byt naviac teraz neviem, to chce pozrieť aká dĺžka je uvedená v hlavičke. Pokiaľ je tam byt naviac, je zbytočný, veď LOAD.... Teoreticky by tam mohlo byť o koľkokoľvek bytov obsahujúcich nulu naviac, a kontrolný súčet by stále sedel.

Teraz mi došlo, ten program ukazuje "checksum" nie vypočítaný, čo má byť nula, ale ukazuje posledný CRC byt uložený v TAP.

_________________
Oznamy o novom príspevku mi na mail chodia iba sporadicky, takže keď sa nehlásim v diskusii, tak je to tým. V 80% nepríde mail vôbec.


Nahoru
 Profil  
 
PříspěvekNapsal: 04.06.2021, 11:15 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 08.07.2013, 00:28
Příspěvky: 1554
Has thanked: 485 times
Been thanked: 634 times
Jé, Busy, tys mi odpověděl a já si toho nevšimnul dokud PotPalo nevytáhnul vlákno zase nahoru, omluva :-) Zkusím tvůj nápad nějak zabudovat do příští verze (1.6.1, protože 1.6 se blíží a nerad bych zase novou funkcionalitu šil horkou jehlou).

@PotPalo: Spoléhat se na informaci z hlavičky se "jednou za deset tisíc TAPek" nevyplácí - viz konkrétně hra Piškworks, kde druhý blok o sobě tvrdí, že má délku 6912 bajtů, ale ve skutečnosti je dlouhý jenom 1208 bajtů.

Obrázek


Ano, aplikace zobrazuje údaj z hlavičky, jehož případná nesprávnost je indikována zčervenáním Checksum políčka :-)

Obrázek


Což mi připomíná, že si musím připravit kazetu s Dizzy 3.5 pro Ladislava :!:

_________________
より良い競争相手からソフトウェアを購入する (。◕‿‿◕。)
Ďábel se skrývá v detailu (staré technické rčení)


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 20 ]  Přejít na stránku Předchozí  1, 2

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 10 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
cron
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz