OldComp.cz

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


Právě je 28.03.2024, 23:12

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 169 ]  Přejít na stránku Předchozí  1 ... 7, 8, 9, 10, 11, 12  Další
Autor Zpráva
PříspěvekNapsal: 17.12.2022, 12:49 
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
Počkať, ale on myslel ochranu ktorá je pre kazetovú verziu, a zahŕňa ochranu proti SNAPu.

Ochrana disketových verzii bola jednoduchá, stačilo prekopírovať nultý sektor. (a mám aj program ktorý do neho iba doplní to čo tam ultrasoft hľadá)

_________________
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: 17.12.2022, 13:09 
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
PotPalo píše:
Počkať, ale on myslel ochranu ktorá je pre kazetovú verziu, a zahŕňa ochranu proti SNAPu.
Ochrana proti snapu je aj v kazetovych aj v disketovych verziach. Ved ako by k tomu Ultrasoft prisiel, ak by sa povodne kazetove verzie zacali nelegalne kopirovat ako snapy ? ;) :D
PotPalo píše:
Ochrana disketových verzii bola jednoduchá, stačilo prekopírovať nultý sektor.
Nestacilo, disketove verzie mali aj specialne zmenene polozky vo FAT podla ktorych zistovali ci sa nachadzaju na originalke. Ked si pozorne vsimnes ten program co tu dal rombor, tak uvidis ze nielen boot sektor sa upravuje, ale aj prvy sektor FAT.


Nahoru
 Profil  
 
PříspěvekNapsal: 17.12.2022, 14:08 
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
Tak ja som mal iba jednu disketovú hru od Ultrasoftu, už spomínaný MEGAMIX 1 (Axons a Gallactic gunners), a tam sa kontroloval iba nultý sektor. Iné hry mali zrejme aj inú ochranu.

_________________
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: 17.12.2022, 16:34 
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
PotPalo píše:
Tak ja som mal iba jednu disketovú hru od Ultrasoftu, už spomínaný MEGAMIX 1 (Axons a Gallactic gunners), a tam sa kontroloval iba nultý sektor. Iné hry mali zrejme aj inú ochranu.
Si si isty ?
Pre istotu (co ak si to ja zle pametam) som prave skontroloval zdrojak disketovej ochrany pre Axons a citam tam aj specialny zaznam vo FATke.


Nahoru
 Profil  
 
PříspěvekNapsal: 17.12.2022, 18:00 
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
Že by predávali jednu hru s dvoma rôznymi loadermi?

Práve som to odskúšal.... Tu je už dlhšie môj archív hier: https://www.oldcomp.cz/viewtopic.php?f=38&t=7480
Je tam aj tá originálna disketa aj s crackom v TAP, konkrétne "disk MEGAMIX 1 (axons, galactic gunners).tap" v priečinku "original tape". V emulátore som naformátoval jednu disketu, s programom mg-disk som z TAPky nahral súbory na disketu (teda až na jeden moc veľký), a odskúšal spustiť Galactic Gunners. Bez cracku po chvíľke čo trvalo dešifrovanie loaderu nasledoval reset. Po použití cracku ktorý tam je (stačila tá základná časť čo mení 8 bytov v nultom sektore) sa hra normálne nahrala. Hru Axons som neskúšal lebo ten chýbajúci súbor by jej aj tak chýbal, a teraz sa mi nechce hľadať kopírák ktorým som kopíroval veľké súbory na disketu. FATku som nemenil. Tak buď je to výnimka čo som mal, alebo fakt neviem. Ale bola to 5,25" originálna disketa kupovaná v predajni.

_________________
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: 17.12.2022, 21:08 
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
PotPalo píše:
Že by predávali jednu hru s dvoma rôznymi loadermi?
Ano, mas pravdu, tam bude psovita selma zakopana.

Totiz, uplne prve ochrany pre Ultrasoft som robil tak, ze som vobec nenastrankoval D40 ROM, ale priamo ovladal FDC radic (vtedy este WD2797) na tej najnizsej low-level urovni. Tato ochrana testovala iba boot sektor.
Lenze ako na potvoru prisla nova verzia D40 s Intel FDC radicom, ktory sa uz ovladal uplne inak a na ktorom tato moja ochrana tym padom samozrejme nefungovala. Tak som vyvinul novu verziu ochrany, ktora funguje aj na tejto novej verzii D40 a okrem boot kontroluje aj FAT.

Hier z prvou verziou ochrany sa nestihlo predat nejak moc, takze pokial nieco take mas, tak je to doslova rarita :dthu:


Nahoru
 Profil  
 
PříspěvekNapsal: 17.12.2022, 22:02 
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
Originál je už predaný tu na fóru (a čakal som na fotky jeho zbierky ale nedočkal som sa). Ale že by to ovládalo priamo radič na low-level úrovni by som nepovedal. Ono to volá štandardné podprogramy pre read a load na rovnakých adresách, na akých to má aj MDOS 2. Navyše na prepnutie ROMky používa POKE#247,79 ešte v BASICu (v strojáku je RST0), takže dohrávkový Axons... Preto na ňom niekedy reset na prvý pokus robil psie kusy, to POKE# tam skrátka ostávalo.

_________________
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: 17.12.2022, 22:37 
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
Kto sa v tom chce vŕtať, prezradím ako som nakoniec prelomil tú ochranu. Stačí na to BASIC (DATA, PEEK, POKE...). Loader som nahral niekde do pamäte, a pri "kroku" som ho presunul do obrazovky kde má byť, potom po spustení kroku zasa naspäť. Loader používa XORovacie slučky s R registrom. Krok som robil tak, že som niekde inde skopíroval časť loaderu až po prvé JR NZ, lebo adresa za ním sa už XORuje. Pred ním som dal nastavenie registrov, za ním som dal uloženie registrov do pamäte aj s R, a návrat do BASICu. R sa musel samozrejme znížiť o presnú hodnotu aby pri ďalšom kroku sedel. Takto po niekoľkých krokoch rozkódovania je v loaderi IM1 a tuším aj RST0. Potom nasleduje fakt kopa krokov ktoré už ale menia aj RAM, čo už bol problém. Ale ďalej už nebolo treba krokovať. Do obrazovky som spravil vektor prerušenia pre IM2, ktorého cieľ som nasmeroval na adresu 102. No a loader po svojom rozkódovaní keď chce pristúpiť na disketu, použije prerušenie ktoré ho uloží rozkódovaný do SNAPSHOTu. Pri nahrávaní z diskety sa totiž pri posuve hlavičky koná maskované prerušenie. A už stačí iba zo SNAPSHOTu vytiahnuť obrazovku a v nej si pozrieť celý rozkódovaný loader čo robí.

_________________
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: 29.01.2023, 15:12 
Offline
Profík

Registrován: 21.10.2018, 08:27
Příspěvky: 559
Has thanked: 278 times
Been thanked: 139 times
Existuje způsob, jak načíst délku souboru do proměnné v BASICu?


Nahoru
 Profil  
 
PříspěvekNapsal: 29.01.2023, 15:41 
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
pwramp píše:
Existuje způsob, jak načíst délku souboru do proměnné v BASICu?
Pomocou READ* citat adresarove sektory, pozadovany subor v nich najst a precitat dlzku priamo z adresarovej polozky.

<offtopic>Trosku sebachvaly: BSDOS ma na toto priamo basicovu funkciu, ktora vrati adresarovu polozku pozadovaneho suboru ako retazec a vsetky informacie o subore (teda aj dlzka) je hned k dispozicii bez toho aby sa clovek musel hrabat v sektoroch)</offtopic>


Nahoru
 Profil  
 
PříspěvekNapsal: 29.01.2023, 18:56 
Offline
Profík

Registrován: 21.10.2018, 08:27
Příspěvky: 559
Has thanked: 278 times
Been thanked: 139 times
Napadla mě taková obezlička, si nějak tu hodnotu "vyparsovat" z obrazovky, z příkazu CAT. Když už to na obrazovku tiskne, tak ty data někde musí být přece dostupná :-).


Nahoru
 Profil  
 
PříspěvekNapsal: 29.01.2023, 22:41 
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
To sa dá, dokonca čisto v BASIC. Stačí dať PRINT AT.... (alebo CLS), potom CAT "presné meno"... a funkcia tuším SCREEN$ n,n vracia znak na tej pozícii. Takže niečo ako LET a$="": FOR a=... ...LET a$=a$+(SCREN$ 10,a AND SCREN$ 10,a <> " "): NEXT a
Teraz neviem z hlavy či čísla za SCREEN$ nemajú byť v zátvorkách. Pozíciu si treba upraviť. Potom:
IF a$="" THEN error: nič tam nieje
LET a=VAL a$
a v a máme číslo. Akurát neviem či pri nenájdenom súbore na tom mieste kde má byť veľkosť nebude niečo iné napísané, to by sa ešte muselo ošetriť.

Ľahšie by bolo použiť rutinu v strojovom kóde ktorá presmeruje výpis z obrazovky do pamäte, čo by sa potom dalo rýchlejšie čítať.

_________________
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: 29.01.2023, 23:06 
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
SCREEN$(a,b) vyzaduje zatvorky, pretoze ma dva parametre oddelene ciarkou.
Ak na obrazovke nic nebude (vsetky pixely v nule) SCREEN$ z tejto pozicie vrati retazec obsahujuci jednu medzeru. Prazdny retazec vrati iba vtedy, ked bude na obrazovke nejaka kresba, ktora nezodpoveda ziadnemu znaku z fontu, a to ani invertovanemu (vypisanemu cez INVERSE 1).
Namiesto VAL skor doporucujem cislo "rucne" vyhodnocovat po znakoch (pomocou funkcie CODE), alebo aspon skontrolovat na platne cislice, pretoze akonahle tam bude cokolvek co nie je platny ciselny vyraz, tak VAL sa s tym parat nebude a rovno hodi chybu Nonsence in basic.

Presmerovat vystup by sa mohol dat - ak prikaz CAT vypisuje cez kanal #2 tak by mohlo stacit #2 presmerovat niekam bud do pameti (to uz vyzaduje nejaky strojak) alebo priamo do suboru prikazom OPEN # a zo suboru potom nacitat a priamo spracovat textovy vypis z prikazu CAT.


Nahoru
 Profil  
 
PříspěvekNapsal: 30.01.2023, 02:15 
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
To AND si si všimol? To spôsobí, že keď bude znak medzera, teda prázdno, tak sa nezapočíta, takže pre VAL ostanú iba číslice. Takže napríklad pre dĺžku 33 nebude "___33" ale "33" (to _ je akože medzera). Navyše keď sa súbor nenájde, tak CAT vypíše dva prázdne riadky, teda a$ bude prázdny.

Nevýhoda je že to treba pre každý súbor zvlášť, čo teda zaberie dosť času. Lepšie je presmerovať výpis, urobiť jeden CAT, a už iba hľadať v tom čo sa uloží.

Navyše tak či tak je tam zrada že to neuvidí skryté súbory. To je potom lepšie načítať sektory do pamäte a hľadať v nich.

_________________
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: 30.01.2023, 08:21 
Offline
Profík

Registrován: 21.10.2018, 08:27
Příspěvky: 559
Has thanked: 278 times
Been thanked: 139 times
Díky moc, pomohlo. Nastavil jsem jmena souborů tak, aby se jich na obrazovku pri CAT veslo prave 10, a pak jsem to z obrazovky vyzobal přes Screens a VAL dle Potpalo navrhu. Pro 100 souborů se CAT provedl 10x. Funguje to dobre a relativne i rychle. Nebude se to opakovat, je to jen takovy pomocny programek. Rozhodne je to rychlejší, nez opisování z obrazovky.


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ů: 169 ]  Přejít na stránku Předchozí  1 ... 7, 8, 9, 10, 11, 12  Další

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 3 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:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz