OldComp.cz
https://oldcomp.cz/

Kde v Didaktik'91 ROM je znaková sada a ako ju vyextrahovať?
https://oldcomp.cz/viewtopic.php?f=40&t=4671
Stránka 12

Autor:  MIRKOSOFT [ 08.11.2016, 08:46 ]
Předmět příspěvku:  Kde v Didaktik'91 ROM je znaková sada a ako ju vyextrahovať?

Dobrý deň!

Nedávno som zistil že odlišnosť originálnej ZX Spectrum znakovej sady je od Didaktiku M 1991 sady je dosť veľká.
V podstate Didaktik M 1991 má Bold verziu sady ZX Spectra.
Chcel by som ju využiť.
Keďže sa nepohybujem na Speccy scéne, venujem sa Commodorom, vie mi niekto poradiť kde v ROMke sa nachádza a aká je jej veľkosť.
Samotné vyextrahovanie je potom už maličkosť.
Výsledok bude dve ZXS sady: Regular & Bold :)

Za pomoc ďakujem.
Miro

Autor:  Lanex [ 08.11.2016, 10:49 ]
Předmět příspěvku:  Re: Kde v Didaktik'91 ROM je znaková sada a ako ju vyextraho

Obvykle se nachází na adrese 15616 (3D00h), délku má 768 Bytes (obsahuje 96 ascii znaků od 32 do 127) ;-)

Autor:  MIRKOSOFT [ 08.11.2016, 14:20 ]
Předmět příspěvku:  Re: Kde v Didaktik'91 ROM je znaková sada a ako ju vyextraho

Ďakujem ale som trochu zmätený.
Má len 768 B a znaky 32-127...
Ako sú reprezentované znaky 0-31 - viem sú to riadiace znaky, no aj tie sú reprezentované tzv. netlačiteľnými znakmi a je ich možné zobraziť... A čo upper ASCII part 128-255?
Viem že Commodore zn. sady majú túto časť inverzné 0-127, no aj ASCII ENU má tieto znaky - čo ich reprezentuje?

Miro

Autor:  vanthomas [ 08.11.2016, 14:38 ]
Předmět příspěvku:  Re: Kde v Didaktik'91 ROM je znaková sada a ako ju vyextraho

Na Wiki je to popasné docela hezky

Autor:  MIRKOSOFT [ 08.11.2016, 14:49 ]
Předmět příspěvku:  Re: Kde v Didaktik'91 ROM je znaková sada a ako ju vyextraho

Tak to je dobré vysvetlenie...
Len z pohľadu že Basic interpreter je súčasťou zn. sady, je to veľmi obmedzujúce...
Prakticky temer/úplne nemožné novšie vyššie verzie Basicu.
Zase spomeniem Commodore:
Kým C64 mal Basic 2.0, Plus/4 mal v3.5 a najvyššiu distribuovanú verziu mal C128 - 7.0.
Kým nedokončený C65 mal až 10.0...
Toto teda Speccy nemá ako, alebo sa mýlim neznalosťou.
Miro

Autor:  Busy [ 08.11.2016, 15:53 ]
Předmět příspěvku:  Re: Kde v Didaktik'91 ROM je znaková sada a ako ju vyextraho

MIRKOSOFT píše:
V podstate Didaktik M 1991 má Bold verziu sady ZX Spectra.
Nie je to celkom bold. Boldovane znaky standartneho ZX Spektra vyzeraju dost inak. Ma proste iny font :)
vanthomas píše:
Na Wiki je to popasné docela hezky
V tom popise su drobne chybicky, ale inak celkom dobry popis.
MIRKOSOFT píše:
Len z pohľadu že Basic interpreter je súčasťou zn. sady, je to veľmi obmedzujúce...
Asi nie celkom rozumiem co tym myslis. Ak nechces, nemusis pouzivat znakovu sadu v romke, mozes si vytvorit vlastnu znakovu sadu kdekolvek v pameti.
MIRKOSOFT píše:
Prakticky temer/úplne nemožné novšie vyššie verzie Basicu.
Na ZX mame spustu roznych novsich alebo vylepsenych basicov - napr. Betabasic, Megabasic, Prodos...
Samotny interpreter basicu je od znakovej sady nezavisly. Nejaky iny interpreter moze vyuzivat sadu z romky, a podobne tak originalny interpreter v romke moze vyuzvat vlastnu sadu ktoru si das do ramky.

Skusim zhrnut co sa (ne)pise v tej wiki:
V znakovej sade v romke na #3D00-#3FFF su len ASCII znaky 32-127.
Znaky 0-31 nemaju ziadny graficky tvar, nachadzaju sa tu riadiace kody. Napr. posun kurzora dolava, nastavenie farieb pre pismo/podklad, zapnutie/vypnutie inverzneho vypisu, atd. Pri pokuse o vypis znaku z tejto skupiny, ktory nie je nejaky konkretny riadiaci kod, sa zobrazi iba otaznik.
Znaky 128-143 su rozne usporiadanie stvorceky. Ich graficka podoba nie je nikde ulozena, pri zobrazeni niektoreho z tychto znakov sa jeho podoba vypocita "on demand".
Znaky 144-164 su uzivatelske graficke znaky umiestnene v ramke, takze uzivatel si ich moze jednoduchym POKE zmenit. Po resete sa do nich skopiruje podoba velkych pismen A az U zo sady co je v romke.
Znaky 165-255 su basicove klucove slova. Pri vypise niektoreho z tychto znakov sa vypise cele slovo. Napr. PRINT CHR$(249) vypise naraz cely prikaz RANDOMIZE. Ich graficka podoba tiez nie je nikde ulozena, ale az pri vypise sa vysklada z jednotlivych pismen aktualne pouzivanej sady.

Skus trosku popisat, ako tu sadu chces vyuzit. Mozno budeme potom mudrejsi ;)

Autor:  SCjoe [ 08.11.2016, 18:44 ]
Předmět příspěvku:  Re: Kde v Didaktik'91 ROM je znaková sada a ako ju vyextraho

MIRKOSOFT píše:
Len z pohľadu že Basic interpreter je súčasťou zn. sady, je to veľmi obmedzujúce...

Muzes si dat svou znakovou sadu nekam do RAM, a nastavit jeji adresu v systemovych promennych.
http://www.worldofspectrum.org/ZXBasicM ... hap25.html

Bytes, Address, Name, Contents
2, 23606, CHARS, 256 less than address of character set (which starts with space and carries on to the copyright symbol). Normally in ROM, but you can set up your own in RAM and make CHARS point to it.
2, 23675, UDG, Address of 1st user defined graphic You can change this for instance to save space by having fewer user defined graphics.

Autor:  MIRKOSOFT [ 08.11.2016, 22:41 ]
Předmět příspěvku:  Re: Kde v Didaktik'91 ROM je znaková sada a ako ju vyextraho

Znakovú sadu chcem použiť ako jednu z možností importu do Font Editora robeného pre Commodore počítače (Editor bežiaci vo Windows) s možnosťou exportu aj do formátov iných počítačov a samozrejme RAW data.
Font Editor umožní editovať monospace alebo proportional fonty od 1x1 po 16x16 (16x32 interlaced).
Pri štandardnom poli 8x8 je možné do 64K (fyzicky, nie funkčne) vložiť 8192 znakov. Čiže v natívnom adresovom priestore 8-bitov.
Má aj ďalšie možnosti. Bude s podporou Drawera pre proportional fonty v X65 assembleri.
Cieľom tohto editora je použitie v The Ace OS pre Commodore 8-bity.
Keď ho už robím, chcem aby mali osoh aj užívateli iných počítačov. No moje znalosti X80 assembleru sú iba základné, ktoré mi boli potrebné pre programovanie Z80 v Commodore 128.

Miro

Autor:  faraon [ 08.11.2016, 23:09 ]
Předmět příspěvku:  Re: Kde v Didaktik'91 ROM je znaková sada a ako ju vyextraho

ASCII je sedmibitový kód, takže popisuje jenom znaky 0..127.

Řídící znaky 0..31 na Spectru mají úplně jiné významy než v ASCII, shoduje se snad jenom Enter.

V té horní polovině není interpretr BASICu, ale tokeny jednotlivých klíčových slov. Spectrum má všechna "zadrátovaná do klávesnice", takže nepotřebuje žádný parser, který by čistý text překládal, zadávají se vlastně přímo.

P.S. Font přímo z ROM si můžeš zkopírovat do obrazovky bajt po bajtu takhle:
Kód:
10 FOR i=0 TO 95
20 FOR j=0 TO 7
30 POKE 16384+i+j*256,PEEK (15616+i*8+j)
40 NEXT j
50 NEXT i

Autor:  MIRKOSOFT [ 09.11.2016, 00:02 ]
Předmět příspěvku:  Re: Kde v Didaktik'91 ROM je znaková sada a ako ju vyextraho

Ďakujem, ja to vyextrahujem z ROMky pretože ju potrebujem vo formáte pre Windows.

BTW: Už dávnejšie som si všimol tie trilobity... je to perfektne zábavné :)

Miro

Autor:  MIRKOSOFT [ 09.11.2016, 03:16 ]
Předmět příspěvku:  Re: Kde v Didaktik'91 ROM je znaková sada a ako ju vyextraho

Vyextrahované.
Pre znaky 0-31 som použil veľké písmená až po _
Znaky 32-127 sú nezmenené - skopírované z ROM ale malé a veľké písmená sú zamenené
Znaky 128-144 sú grafické znaky z mapy ZX Spectra
Příloha:
Poznámka: Znaková sada Didaktik M 1991
didaktik91.png
didaktik91.png [ 1.08 KiB | Zobrazeno 8313 krát ]


Miro

Autor:  tomascz [ 09.11.2016, 15:11 ]
Předmět příspěvku:  Re: Kde v Didaktik'91 ROM je znaková sada a ako ju vyextraho

No, pokud to potřebuješ pro Windows, nebylo by snazší do Googlu zadat "ZX Spectrum font bold" jako jsem teď udělal já? Vypadne spousta fontů ve formátu TTF. Myslím, že bych u sebe na disku našel i formát FNT.

Autor:  MIRKOSOFT [ 09.11.2016, 17:21 ]
Předmět příspěvku:  Re: Kde v Didaktik'91 ROM je znaková sada a ako ju vyextraho

V mojom prípade ide o kópie skutočných fontov a myslím že Didaktik 1991 font na webe nenájdem v akomkoľvek formáte.

Miro

Autor:  faraon [ 09.11.2016, 18:35 ]
Předmět příspěvku:  Re: Kde v Didaktik'91 ROM je znaková sada a ako ju vyextraho

Mám tu ROMku Didaktik Gama 1987 s tímhle tlustým fontem, potom Gama 1988 s tenkým spektráckým, pak zase Gama 1989 s tlustým. EMka jsem radši ani nezkoušel.
Možná to pojmenuj jen "Didaktik", protože se používal v celé téhle řadě od Gamy až po Kompakt, s drobnými výjimkami.

Autor:  azorasoft [ 10.11.2016, 02:46 ]
Předmět příspěvku:  Re: Kde v Didaktik'91 ROM je znaková sada a ako ju vyextraho

Diky tomu, ze prikazy Basicu jsou zakodovane do tokenu, ma Spectrum Basic dve vyhody:

- podstatne nizsi pametova narocnost programu, kazdy prikaz zabira v pameti jediny byte (namisto napr. 9 bytu pro RANDOMIZE nebo 5 bytu pro PRINT),
- lexikalni analyzator v ROM je jednodussi a tedy kratsi.

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