OldComp.cz

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


Právě je 27.04.2024, 11:25

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 11 ] 
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: 134
Has thanked: 37 times
Been thanked: 186 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.

_________________
https://github.com/72ka


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

Registrován: 12.05.2013, 22:24
Příspěvky: 1524
Bydliště: u Prahy
Has thanked: 44 times
Been thanked: 386 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: 134
Has thanked: 37 times
Been thanked: 186 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í.

_________________
https://github.com/72ka


Nahoru
 Profil  
 
PříspěvekNapsal: 02.10.2023, 16:17 
Offline
Kecálek
Uživatelský avatar

Registrován: 27.06.2021, 15:15
Příspěvky: 134
Has thanked: 37 times
Been thanked: 186 times
Tak jsem to ještě vzal z gruntu a použil lepší kompresi zx0 a také jsem to předělal tak, aby celá vrstva kompatibility MIKOS-SSM byla také zkomprimována v epromce a při spuštění se rozbalí pod basic. Všechny tyto úpravy mi přinesly pár desítek bajtů (což je velké místo) a tak jsem mohl obohatit tiskovou proceduru o kódování cp852. Kódování mezi KOI8 a CP852 je přepínatelné za běhu basicu softwarově. Díval jsem se že cp852 snad mohlo vzniknout právě v roce 1987, takže to není snad tak úplný úlet. Takže konečně na Ondrovi tisknu česky na EPSON LQ-100. Tiskárny s podporou KOI8čs asi moc nejsou a download kodovani do tiskarny je dost HW specificke. Kdezto cp852 umi pomerne dost tiskaren.

Každopádně nějaká první veřejná verze bude snad v dohledné době.

_________________
https://github.com/72ka


Nahoru
 Profil  
 
PříspěvekNapsal: 08.11.2023, 15:10 
Offline
Kecálek
Uživatelský avatar

Registrován: 27.06.2021, 15:15
Příspěvky: 134
Has thanked: 37 times
Been thanked: 186 times
Ahoj všem, tak je to všechno venku. Připravit k palbě EPROMky....

:gunjozo:

:fdd: http://www.ondraspo186.8u.cz/?p=676

Dejte mi prosím vědět zde do vlákna kdo vypálil, ať si dokážu představit počet uživatelů. Děkuji

Obrázek

_________________
https://github.com/72ka


Nahoru
 Profil  
 
PříspěvekNapsal: 11.11.2023, 22:08 
Offline
Pan Generální

Registrován: 07.05.2014, 01:21
Příspěvky: 2601
Bydliště: Praha
Has thanked: 511 times
Been thanked: 621 times
Vypáleno sice nemám, ale určitě na to časem dojde. Zatím jsem testoval v JOndrovi a basic chodí opravdu parádně.
Narazil jsem na jednu nefunkčnost, pokud v menu zvolím "Zavést z pásky", tak TAPka nefunguje. Loading proběhne a na konci se nic neděje. Pokud dám "Systém SSM ONDRA" tak to funguje jak má.
Z WAVu funguje nahrávání oběma způsoby.

_________________
ZX80, ZX81, ZX Spectrum, ZX Spectrum +2, Didaktik M, PMD 85-1,2A,3, Olivetti Prodest PC 128, Acorn BBC Micro, PC-XT, Amiga 500


Nahoru
 Profil  
 
PříspěvekNapsal: 11.11.2023, 23:49 
Offline
Kecálek
Uživatelský avatar

Registrován: 27.06.2021, 15:15
Příspěvky: 134
Has thanked: 37 times
Been thanked: 186 times
Ahoj, o tom nahrávání vím a dělá to jen v emulátoru. V reálu mi to jde a nezkoumal jsem to tak moc. Co jsem zjistil, tak v emulátoru když se má nahrávat TAP, tak se emulace zrychlí na 1000% a je to nějaké zvláštní, nevím jak to tam tapku láduje, možná koliduje s něčím co používám já ale ve skutečnosti to nemůže nastat.

Nicméně v emulátoru jde nahrát WAV, ten se chová reálně a tak, jak má.

_________________
https://github.com/72ka


Nahoru
 Profil  
 
PříspěvekNapsal: 19.11.2023, 19:10 
Offline
Pan Štábní

Registrován: 12.05.2013, 22:24
Příspěvky: 1524
Bydliště: u Prahy
Has thanked: 44 times
Been thanked: 386 times
Tož jsem objednal u šikmovokýho ty osmikilové epromky a čekám, až přijdou.


Nahoru
 Profil  
 
PříspěvekNapsal: 19.11.2023, 22:42 
Offline
Kecálek

Registrován: 26.01.2019, 18:45
Příspěvky: 99
Bydliště: u Mělníka
Has thanked: 7 times
Been thanked: 240 times
72ka píše:
Ahoj, o tom nahrávání vím a dělá to jen v emulátoru. V reálu mi to jde a nezkoumal jsem to tak moc. Co jsem zjistil, tak v emulátoru když se má nahrávat TAP, tak se emulace zrychlí na 1000% a je to nějaké zvláštní, nevím jak to tam tapku láduje, možná koliduje s něčím co používám já ale ve skutečnosti to nemůže nastat.

Nicméně v emulátoru jde nahrát WAV, ten se chová reálně a tak, jak má.


Důvod je prostý. V emulátoru jsem původně zkrátil generování pilotního tónu z TAP na 1/4 délky, aby se TAPky nahrávaly rychleji. Ve Vili rom to fungovalo. V 72kově rom ne.
Po prodloužení pilotního tónu na originální délku už TAPky chodí i z menu nové romky. To prodloužení doby nahrávání není nakonec téměř poznat, tak jsem to tak nechal a nahrál na GitHub.
Emulátor si nyní také pamatuje posledně vybranou rom a s ní se příště spustí. To kdyby někdo chtěl 72kovu rom používat v emulátoru jako default.


Nahoru
 Profil  
 
PříspěvekNapsal: 20.11.2023, 19:17 
Offline
Kecálek
Uživatelský avatar

Registrován: 27.06.2021, 15:15
Příspěvky: 134
Has thanked: 37 times
Been thanked: 186 times
dex píše:
Tož jsem objednal u šikmovokýho ty osmikilové epromky a čekám, až přijdou.


Ahoj, fajn, stamil našel bug, tak snad než přijdou to stihnu opravit.

_________________
https://github.com/72ka


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

Registrován: 27.06.2021, 15:15
Příspěvky: 134
Has thanked: 37 times
Been thanked: 186 times
Ahoj na githubu je opravená verze ROM. Spíš než bug to byla neshoda v kompatibilitě. Já si dovolil použít pro svou ROM tzv. ZERO-PAGE v ram u Ondry, což je zakázaná oblast a do jednoho neviditelného bajtu jsem si dal proměnnou kvůli ovládání SP210 (nešla umístit jinam). No a Galaxians odtamtud bere bajt při ldir když maže obrazovku. Tudíž to dělalo svislé pruhy (okopírovalo tu proměnnou po celé videoram). Dal jsem si to na sousední neviditelný bajt a je po problému.

_________________
https://github.com/72ka


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

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 14 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