OldComp.cz

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


Právě je 22.09.2023, 03:34

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 3 ] 
Autor Zpráva
PříspěvekNapsal: 01.09.2023, 22:19 
Offline
Kecálek
Uživatelský avatar

Registrován: 27.06.2021, 15:15
Příspěvky: 77
Has thanked: 22 times
Been thanked: 117 times
Ahoj, po vydání hry Ondra mezi Balvany jsem si chtěl odpočinout od her, ale zároveň něco dělat.

Na Ondrovi mi asi stejně jako všem vadilo, že máme BASIC a MIKOS a pak SSM ROM a hry s OndraSD. To byl asi i tehdy hřebíček do rakve Ondrovi. V dobových článcích a možná vzpomínkách zazněly myšlenky konverze BASICU pro SSM ROM. Nicméně 4kB SSM ROM + 12,7kB BASIC a to nacpat do 16kB ROM moc nešlo dohromady a ještě ke všemu ho překopat na služby ViLi ROM, kde například kazetopáskové procedury tak dokonalé jako v MIKOSU prostě v SSM nejsou. No.. já se do toho přeci jen pustil, nejdřív jako experiment, zda to vůbec je možné a zabral jsem se do toho natolik, že mám nyní první tak nějak verzi, která by mohla jít mezi lidi, pokud bude zájem.

Když to shrnu:

Předělal jsem BASIC EXP v5.0G se zachováním téměř všech jeho funkcí (ano i grafických specielních pro Ondru) a vecpal ho do ROM 16kB (díky úžasné kompresi zx7). Jsou tam šílenosti, kdy SSM ROM skáče sama na sebe mezi zrcadly... ano, opravdu to tak je, takže jsem musel některé části zdvojovat. Bylo nutno dodělat konverzní mezivrstvu služeb mezi MIKOS-SSM.
BASIC jsem předělal na použití celoobrazovkového editoru, takže programování se vyšvihlo na komfortní laťku jako např. C64. Zabudoval jsem bez jakéhokoli uživatelského tokenování češtinu, prostě se text napíše česky a hotovo. V SSM rom se píše skvěle, to se nedá srovnat s MIKOSEM, kde každý shift je vlastně lockshift... hrůza. Dodělal jsem podporu tisku na centronix tiskárnu, v SSM ROM to chybělo. Vylepšil jsem spousty patchi basic samotný, takže líp dělá listing bez pomalých překreslování. Podpora joysticku, režimu fast atp... a jako třešnička, podpora dálkového ovládání SP-210, které si fakt užívám!
No a v basicu mohu používat i síť, takže když by někdo upravil OndraSD pro čtení i zápis .bas nebo .bin souborů, dodělal bych podporu. Zatím jsem schopen po síti odeslat listing programu, už to je super.

Mám rovněž téměř hotovou dokumentaci.
V tuto chvíli se z rodinných důvodů tomu nebudu moci věnovat a tak jsem si říkal, že ač jako zatím zřejmě ne úplně dokončené, bych to zanedlouho pustil ven. Pokud budu moci, předvedu tento systém na bytefestu.

phpBB [video]



Malý náhled zde na videu.

A perlička nakonec... odhalil jsem, že BASIC měl protipirátskou ochranu. V kódu je řetězec ING. PERINA a pak nápis BASIC EXP... atp. Celý tento řetězec se PŘI KAŽDÉM Enteru zkontroluje a jeho CRC musí sedět... aneb jak Tesla asi ukradla BASIC a pak si tam sama dala ochranu? A na nejpomalejším počítači tohle kontrolovat při každém enteru? No síla...

Jinak SSM ROM má více zobrazovaných mikrořádků, tudíž Ondra je ještě více bržděn, takže veškerá má zrychlení šla na tento vrub. Ale zase se tam vejdou české znaky 8x12.

Na závěr velké díky všem Ondra-koumákům, především EC1045 a Dexovi za studnice informací na jejich webu, bez kterých bych si ani neškrtl.


Nahoru
 Profil  
 
PříspěvekNapsal: 01.09.2023, 23:52 
Offline
Pan Štábní

Registrován: 12.05.2013, 22:24
Příspěvky: 1418
Bydliště: u Prahy
Has thanked: 40 times
Been thanked: 349 times
M.a.z.e.c.


Nahoru
 Profil  
 
PříspěvekNapsal: 02.09.2023, 18:06 
Offline
Kecálek
Uživatelský avatar

Registrován: 27.06.2021, 15:15
Příspěvky: 77
Has thanked: 22 times
Been thanked: 117 times
dex píše:
M.a.z.e.c.


Ano... původně jsem začal tím, že jsem disasemblovaný basic relativizoval aby mohl běžet kdekoli v paměti. To se podařilo, ale pak se mi podařilo ho nacpat na své původní místo od 1000h protože volání služeb SSM je geniální. BASIC tedy běží "pod" ROMkou a má tedy k dispozici téměř stejně místa jako v mikosu, to jsem zapomněl napsat. Je to trochu méně kvůli většímu bufferu SSM a já ještě přidal buffer pro řádek basicu a nějaké proměnné. Ale pořád se bavíme o asi 30kB volných pro uživatele.
Jo a ještě jsem zachoval chování NMI tlačítka jak má, takže NMI udělá jen warm start basicu (zůstane program) a šipka dolů+NMI je reset Ondry.
Testoval jsem to psaním programů.. programuje se na tom teď krásně. Takže nějaké kravinky jako sinusovku s osama, archimedovu spirálu atp. Importované programy pro MS BASIC fungují, například jsem spustil Tic Tac Toe.

Ještě bych rád udělal aby to tisklo v jiném kodovani na tiskarnu, ale uz nevím kde brát volné bajty.. :) Jako rezervní řešení mám zcela vypustit úvodní obrazovku, neb vlastně není třeba... vše jde udělat z basicu, akorát ne na jedno klepnutí.


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ů: 3 ] 

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 1 návštěvní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