Welcome, Guest. Please login or register.


Author Topic: SymbOS magyar (Read 49408 times)

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: SymbOS magyar
« Reply #30 on: 2014.October.16. 09:20:26 »
Nem csak a bill olvasással :D , de a billentyű olvasás felér egy külön programmal :D
Az összes AY eléréssel :D
A CRTC regiszter írás rövidebb, de az is hosszú, előbb regiszter kiválaszt, aztán érték beír 4 utasítás.
Kíváncsi vagyok mi sül ki a projectedből :)
Sztem, ha a loader részt is kidobod (gondolom direct hardware kütyülés track olvasással), és lecseréled EXDOS-os track olvasásra, akkor egy full, működő átirat lesz.

Jo, hat en CPC-t most latok eloszor :) Na jo, nem CPC-t konkretan mint gepet, hanem hozza irt software-t. Amugy a CRTC kevesbe erdekel: mivel remelhetoleg legalabbis a videomod ugyanaz marad, az meg kezdetben inicializalva lett altalam olyan LPT-vel amivel szimulalom a CPC kepfelepiteset, nincs szukseg azokat nekem kezelni. Ami van kb es hozza kell nyulnom:

* memoria lapozas: ez jelenleg JSep modositott verzioja intezi, de mar ott is ugy van, hogy "atvezeti" a B0..B3 irasokra. Ezt kell majd magaban a kodban megoldanom, hogy ne kelljen hozza hack-elt emu.
* billentyuzet: maga a scan EP-n egyszeru lett, mar atirtam a memory dump-ban, hogy EP-rol vegye, csak ugye a matrix nem stimmel utana ami alapjan dekodolja, hogy melyik billencs mit jelent. Viszont megkeresve, hogy EP-n milyen gomb van azon a pozicion ahol CPC-n joy1 van, az egerkurzor mar remekul mozog! A kerdeses helyek is megvannak disasm alapjan, csak neki kene fognom atirni.
* floppy vezerlo: na itt eleg tanacstalan vagyok, az se teljesen vilagos, mi van a CPC-ben erre hw. A portokat latom persze amit irna. A fenti screenshotomon latszik is, hogy a symshell elinditasa hibat dob fel, nem csoda, mert amit probal I/O az nem csinal semmit :) Ha ez nagyon mas mint a WD az EP-ben, azt erdekes lesz megoldani Z80 program szintjen, hogy forditsa at :(
* interrupt: atirva, CPC-n gondolom a 300Hz-es megszakitasra akaszkodott ra, minden 6.-ra csinalt csak vmit, ergo 50Hz-et akart kihozni. EP-n ez egyszerubb, inkabb beallitottam az INT1 engedelyezest Dave-ben, LPT-ben van egy megszakitasos sor, aztan kiirtottam a kodbol ez a minden 6.-ra varunk dolgot. Masik megoldas amit mondasz, hogy WD bizeralas helyett EXDOS hivas, amde itt szkeptikus vagyok, mert alaposan atveszem a memoria hasznalatat. A 128K meg elegge tele van (marmint az emulalt CPC 128K RAM), az LPT el sem fert, igy eleve 128K-s EP-n nem fog menni :( Egy normalis atirat persze menne, de ahhoz inkabb forraskod szinten kene EP-re portolni, nem utolag kutyulgatni (pl akkor eleve nem a CPC "8 reszes" cimzes lehetne hanem linearis - de ehhez gondolom az egesz GUI kodjaba be kene avatkozni - igy nem kell 200 soros LPT tabla csak az egyes sorokra, a tobb vsync stb-rol nem is beszelve - konkretan ezt nem tudtam bezsufolni a 128K ram-ba).

Amugy az sem vilagos CPC kapcsan, hogy miert jo az (mashol is latom), hogy 16 bites I/O cimeket hasznalnak. Szerintem ez netto hulyeseg. Csak bonyolitjak az eletekut, ami aztan problemakat okoz (pl nem lehet normalis konstanssal megadott portra I/O-zni, INI es hasonlo opcode-ok igy kevesbe mennek ertelmesen stb). Tudja vki, hogy ennek mi ertelme? Az also 8 bitet is eleg lenne dekodolni (a felso 8 helyett ...), tehat semmivel sem lenne nehezebb, viszont elonyei vannak, es Zilog ajanlasa is ez. Akkor miert csinaljak, szivatasbol?

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14738
  • Country: hu
    • http://enterprise.iko.hu/
Re: SymbOS magyar
« Reply #31 on: 2014.October.16. 09:51:24 »
mi van a CPC-ben erre hw.
NEC 765A. Viszont a SymbOS írója WD-ről kérdezett, lehet, hogy az MSX verzióban azt használnak?

Offline geco

  • EP addict
  • *
  • Posts: 7120
  • Country: hu
    • Támogató Támogató
Re: SymbOS magyar
« Reply #32 on: 2014.October.16. 10:01:01 »
NEC 765A. Viszont a SymbOS írója WD-ről kérdezett, lehet, hogy az MSX verzióban azt használnak?
Szerintem igen.

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: SymbOS magyar
« Reply #33 on: 2014.October.16. 10:04:48 »
NEC 765A. Viszont a SymbOS írója WD-ről kérdezett, lehet, hogy az MSX verzióban azt használnak?

Lehet, MSX-et es PCW-t sem ismerem, azt hiszem ezeken fut meg SymbOS jelenleg CPC-n kivul. Valojaban celszerubb lehetett volna a fenti gepekrol "lecsorni" a memory dump-ot es portolni probalni ebben a formaban EP-re, azonban a PCW kepszerkezetet nezve az EP-n kevesbe implementalhato (nalam meg kulcskerdes volt, hogy a GUI-s cuccok azert SymbOS szintu rendszernel nem trivialisak nem akarok hozzanyulni binaris formaban ....), a CPC kepszerkezete viszont jol emulalhato, ezert valasztottam ezt. Az MSX viszont passz ...

Amugy valoszinu, hogy a SymbOS iroja (vagy akinek megvan a forras a kernelrol is stb ...) szinte percek alatt (na jo, koltoi tulzas, de parnap biztos eleg) potolhatna EP-re, foleg ha pl megalkuszik elso korben azzal, hogy marad a CPC kepszerkezet, memory mapping-et atirja, nemi loader, par port nyilvan mashol/maskepp, es elvileg akkor talan WD-hez van vmi driver vmelyik portban ami hasznalhato :) Igy en most, hogy egy CPC emu snapshot-at beleeroszakolom az EP ram-jaba es atirok benne ezt-azt az kisse hmmm ganyolas :) Nem is kisse. Viszont mas megoldas sokkal nehezebb lenne forras nelkul, akkor kene irni sajat loader-t, driver-eket fejleszteni stb. Bar nyilvan ertelmes es tartos felhasznalasra a "normalis" portolas a megfelelo eljaras!!

Offline geco

  • EP addict
  • *
  • Posts: 7120
  • Country: hu
    • Támogató Támogató
Re: SymbOS magyar
« Reply #34 on: 2014.October.16. 10:14:19 »
A CRTC bizergálását gyanúsan nem is kell nyomon követni, mert a képméret az nem változik, hacsak nem két képernyőt használ a megjelnítéshez, mert akkor a videócím megadását kell, a videó módot, és a színeket kell még majd, ha eddig nincs meg, az tán a 7fxx porton keresztül megy, ugyanazon, mint a memórialapozás.
A legjobb megoldás az lenne a floppy vezérlő kapcsán: elfelejteni az eredeti floppyvezérlős dolgot, kinyerni fájlokba a kódot, és EXOS fájlbetöltésre átalakítani, így minden konfiggal menne, még magnóról is :D
Az interruptot is sokoszor le lehet butítani EP-n, pláne az ilyen 50Hz-es várakozós esetekben, pont ahogy említetted is.
128K-s gépen csak akkor futhatna a program, ha az EXOS-t kidobod, és a CPC címzést is átalakítod ha a SYMBOS használja az összes lapot, ez túl nagy munka forrás nélkül, szerintem ezt az átalakítást érdemesebb bővítős gépre megcsinálni.

Ez a port címzés érdekes dolog, eddig én csak a TVC-vel ZX81-gyel, Spectrummal, és EP-vel találkoztam, aminél az alsó 8 bit elég az IN/OUT műveletekhez, érdekes, hogy az AY SP128-on már 16 bites címzéssel lett megoldva, pedig volt ott még szabad regiszter, vagy épp a billentyűzet elhasználta az összes lehetőséget a kombinációkkal?
Nem tudom mi volt a 16 bites címzés haszálat megtartásának lényege CPC-n, lehet akartak bőven lehetőséget hagyni a jövőben csatlakoztatott eszközökhöz?

Offline geco

  • EP addict
  • *
  • Posts: 7120
  • Country: hu
    • Támogató Támogató
Re: SymbOS magyar
« Reply #35 on: 2014.October.16. 10:20:11 »
CPC kepszerkezete viszont jol emulalhato, ezert valasztottam ezt. Az MSX viszont passz ...

Amugy valoszinu, hogy a SymbOS iroja (vagy akinek megvan a forras a kernelrol is stb ...) szinte percek alatt (na jo, koltoi tulzas, de parnap biztos eleg) potolhatna EP-re, foleg ha pl megalkuszik elso korben azzal, hogy marad a CPC kepszerkezet, memory mapping-et atirja, nemi loader, par port nyilvan mashol/maskepp, es elvileg akkor talan WD-hez van vmi driver vmelyik portban ami hasznalhato :) Igy en most, hogy egy CPC emu snapshot-at beleeroszakolom az EP ram-jaba es atirok benne ezt-azt az kisse hmmm ganyolas :) Nem is kisse. Viszont mas megoldas sokkal nehezebb lenne forras nelkul, akkor kene irni sajat loader-t, driver-eket fejleszteni stb. Bar nyilvan ertelmes es tartos felhasznalasra a "normalis" portolas a megfelelo eljaras!!

Az MSX képfelépítése nem emulálható EP-n, pl attributum módban egy karakter 8 byte-ja c64-szerűen egymás mellett tárolódik el a videómemóriában, az attributum területtel nem lenne gond.

Szerintem is gyorsan át lehetne portolni EP-re a forrás alapján a fent említett dolgok megőrzésével, de szerintem a CPC címzés megszűntetése se hosszabbítaná meg nagyon az időt, ami jó lenne, de gondolom sok időbe telne, a váltott soros LPT-s megvalósítás.
Szerintem ez a snapshotos eljárás is megfelelő, már minden lényeges dolog betöltődött a memóriába, átírsz benne mindent, csak egy loadert kell eléírni, teljesen jól használható program lehet belőle.

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: SymbOS magyar
« Reply #36 on: 2014.October.16. 10:33:37 »
A CRTC bizergálását gyanúsan nem is kell nyomon követni, mert a képméret az nem változik, hacsak nem két képernyőt használ a megjelnítéshez, mert akkor a videócím megadását kell, a videó módot, és a színeket kell még majd, ha eddig nincs meg, az tán a 7fxx porton keresztül megy, ugyanazon, mint a memórialapozás.

Ja, az gate array stb cuccos a CPC-n, tudom (mostmar!).

Quote
A legjobb megoldás az lenne a floppy vezérlő kapcsán: elfelejteni az eredeti floppyvezérlős dolgot, kinyerni fájlokba a kódot, és EXOS fájlbetöltésre átalakítani, így minden konfiggal menne, még magnóról is :D

Ebben azert nem vagyok biztos. Ez nem egy jatek, vagy "monotask" OS, van benne olyan, hogy ha nincs kesz vmi, addig futhat mas process, tehat "fejlett" multitask I/O sleep-el stb. Ha kozben az EXDOS-t meg kell hivni az erdekes problema lehet. Ok, mondjuk lehet itt is ganyolni, hogy addig VINT letiltva aztan max lagzik I/O eseten a felulet kicsit ... Viszont nem trivialis igy se esetleg, hogy ez mennyire zavar be a lelkivilagaba, azt (meg) nem tudom. Majd kiderul :) Elsore nekem az is eredmeny lesz, ha sima EP-n (bar tobb RAM-al mint 128K) elfut, meg ha disk access nincs is. Igaz, igy sok mindenre nem jo, de elmondhato, hogy maga az OS mar fut legalabb.

Quote
128K-s gépen csak akkor futhatna a program, ha az EXOS-t kidobod, és a CPC címzést is átalakítod ha a SYMBOS használja az összes lapot, ez túl nagy munka forrás nélkül, szerintem ezt az átalakítást érdemesebb bővítős gépre megcsinálni.

Azert nem megy, mert a memoria dump-ot nezve a CPC emurol elegge "tele" van, nem fer hova az LPT :( Foleg, mivel 200 sorhoz CPC screen-t emulalva kell 16*200=3200 byte (plusz meg a "toltelek", vsync stb) LPT ennyi hely meg latholat nincs (azt neztem hol van sok nulla byte-os resz, de meg akkor sem lehetek biztos, hogy egy program futtatasanal nem hasznalja aztan azt a teruletet is, sot ...). Ezert van, hogy igy tuti nem fog 128K rammal menni. Mint mondtam, ha lenne normalis atirat, tehat tenyleg SymbOS forras szinten lenne EP port, akkor meg lehetne oldani siman, szerintem. Igy viszont a "ganyolas" megoldassal kevesbe! A CPC cimzes kidobasa alatt gondolom azt erted, hogy linearisan kezelje a video RAM-ot, igy eleg a pixel adatokhoz 16 byte LPB reszlet a 3200 helyett. Ez igaz, amde egy SymbOS szintu software-nel szerintem ez messze nem olyan egyszeru, changelog is irja, hogy fuuu de optimakolva van a CPC screen-re a CPC port, es erosen nem csak egy helyen irogat videoram-ba, kezdve a mindenfele window kezelestol, az osszes text rendering, menu, miegymas ezer helyen ... Ezt forras hianyaban mind modositani ... na erre nem vallalkoznek :) Amugy is, elvileg lesz hivatalos EP port, ami mindenkeppen jobb megoldas! Egy ilyen "preview" portolasnal meg ugyse feltetlen a 100%-os hasznalhatosag a lenyeg elso korben legalabbis.

Quote
Ez a port címzés érdekes dolog, eddig én csak a TVC-vel ZX81-gyel, Spectrummal, és EP-vel találkoztam, aminél az alsó 8 bit elég az IN/OUT műveletekhez, érdekes, hogy az AY SP128-on már 16 bites címzéssel lett megoldva, pedig volt ott még szabad regiszter, vagy épp a billentyűzet elhasználta az összes lehetőséget a kombinációkkal?

Spectrumot sem ismerem igazan, de mindenesetre olyan gepnel, ahol alapbol az I/O dekodolas primitiv (mondjuk 1-2 bitet neztek csak) ott gond lehet, hogy elfogy az I/O cimtartomany, ha compatible akarsz lenne, es minden "ghost" pozicion kell tovabbra is menjen ... Pl talan Spectrumnal van, hogy egyik port minden paros (v paratlan?) I/O cimen megy, szoval egy szem bitet neztek az address busrol I/O eseten. Ilyen esetben persze utolag gondban van az ember, mivel regen nem oldottak meg rendesen a cimdekodolast :( Tehat itt meg ertem is. Viszont CPC-n latszolag alapbol is szepen dekodoljak a 16 bites cim felso reszet (nincs a fenti problema) tehat megtehettek volna inkabb az also 8 bittel is ugyanugy, es mindenkinek jobb lett volna!


Quote
Nem tudom mi volt a 16 bites címzés haszálat megtartásának lényege CPC-n, lehet akartak bőven lehetőséget hagyni a jövőben csatlakoztatott eszközökhöz?

Hat en ketlem, tenyleg dekodolva van teljesen a felso 8 bit ahogy nezem, tehat boven van hely. Voltakeppen ha jol latom CPC az I/O cim felso 8 bitjet nezi, es teljesen dekodolja azt. Akkor viszont siman tehettek volna az also 8 bitre ...

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: SymbOS magyar
« Reply #37 on: 2014.October.16. 11:00:58 »
Az MSX képfelépítése nem emulálható EP-n, pl attributum módban egy karakter 8 byte-ja c64-szerűen egymás mellett tárolódik el a videómemóriában, az attributum területtel nem lenne gond.

PCW-n is vmi olyan gond volt, ha jol remlik, hogy attrib ugyan nincs (asszem') de soron belul sem linearis. Amugy ilyen gondokra milyen jo lenne egy plusz Nick feature: az LD1 erteket pl ne eggyel novelje hanem az altalam megadott ertekkel minden read utan :D

Quote
Szerintem is gyorsan át lehetne portolni EP-re a forrás alapján a fent említett dolgok megőrzésével, de szerintem a CPC címzés megszűntetése se hosszabbítaná meg nagyon az időt, ami jó lenne, de gondolom sok időbe telne, a váltott soros LPT-s megvalósítás.
Szerintem ez a snapshotos eljárás is megfelelő, már minden lényeges dolog betöltődött a memóriába, átírsz benne mindent, csak egy loadert kell eléírni, teljesen jól használható program lehet belőle.

Igen, csak mivel nem ismerjuk annyira ugye a SymbOS belso mukodeset, igy minimalis kis kodmositasokon tul nehez lenne barmit belepakolni, pl mas drivereket, esetleg boxsoft mouse drivert, hogy EP-n mehessen egerrel, vagy barmit, amihez 1-2 byte-nal tobb hely kell, vagy eleg par opcode-ot modositani. Mondjuk a CPC video cimzes megtartasanak egy elonye lehet: a symplay alkalmazas (vagy mi is) ami tud videot lejatszani kulon formatumot hasznal cpc-re es msx-re,gondolom azert, mert lassu lenne konvertalni, es mar a celvideomodhoz hasonlo formaban van a file-ban is. A CPC felepites megtartasaval a CPC videokat le tudna jatszani, mig linearis kepfelepites eseten nem biztos (vagy ahhoz az lejatszot kene modostani, hogy pakolja maskepp ki).

Offline geco

  • EP addict
  • *
  • Posts: 7120
  • Country: hu
    • Támogató Támogató
Re: SymbOS magyar
« Reply #38 on: 2014.October.16. 11:18:34 »
Hm , érdekes ez a lejátszósdi, a CPC címzés végülis nem gáz, pláne ha arra van optimalizálva a futás is, a címzés átalakítást is úgy írtam ,hogy azt csak meglévő forrással lenne érdemes, mert marha nagy munka lenne, sőt még az is lehet, hogy lehetetlen, vagy iszonyat kódnövekedéssel járna forrás nélkül.

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: SymbOS magyar
« Reply #39 on: 2014.October.16. 12:00:11 »
Ja, meg a masik: EP brutal egy gep lehet, ha mar egyszeruen (nem ugy mint CPC-n) es egysegesen egesz sok RAM-ot kezel, jo lenne nem csak a 128K-s verziot hasznalni. Azonban ez a memoriadump-ot athozzuk es atirjuk meg 128K-s verzional is necces, mivel CPC-n elegge elkefelt a memorialapozas, ha meg jon >128K-s verzio is, az meg bonyolultabb lenne. Egy tiszta EP atirat azert is lenne jo, mert tamogathatna annyi RAM-ot ami van (kozben opcionalisan - ha van hozza eleg mem) EXOS comaptible modon is (ja es ha van eleg RAM, akkor jobb esetben en a videorambol csak 16K-t hasznalnek, mert a vram ugye lassabb vmivel ...).

Offline geco

  • EP addict
  • *
  • Posts: 7120
  • Country: hu
    • Támogató Támogató
Re: SymbOS magyar
« Reply #40 on: 2014.October.16. 13:09:16 »
Igen, teljesen jó ötlet, annyi VRAM, amennyi elengedhetetlenül szükséges, az elkefélt memórialapozással egyetértek :D Nem tudom, hogy a 128K+ lapozása hogy van, de szerintem hasonlóan "egyszerű" lehet :D

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14738
  • Country: hu
    • http://enterprise.iko.hu/
Re: SymbOS magyar
« Reply #41 on: 2014.October.16. 13:21:47 »
István féle cpcemuban el lehet indítani a SymbOS-t? Van sok ramos, floppys config is benne.

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: SymbOS magyar
« Reply #42 on: 2014.October.16. 13:28:40 »
István féle cpcemuban el lehet indítani a SymbOS-t? Van sok ramos, floppys config is benne.

Gondolom el, nem probaltam, hogy oszinte legyek, mivel cap32 egyszerubb, nem C++, igy bele tudtam nyulni, meg tanulmanyozni, ha kellett.

Offline geco

  • EP addict
  • *
  • Posts: 7120
  • Country: hu
    • Támogató Támogató
Re: SymbOS magyar
« Reply #43 on: 2014.October.16. 13:30:23 »
István féle cpcemuban el lehet indítani a SymbOS-t? Van sok ramos, floppys config is benne.
Szerintem én ott teszteltem anno, de lehet rosszul emléxem, de csak az alap 128Kb-tal.

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: SymbOS magyar
« Reply #44 on: 2014.October.16. 13:30:25 »
Igen, teljesen jó ötlet, annyi VRAM, amennyi elengedhetetlenül szükséges, az elkefélt memórialapozással egyetértek :D Nem tudom, hogy a 128K+ lapozása hogy van, de szerintem hasonlóan "egyszerű" lehet :D

Mondhatjuk forditva is: tobb gepen "atlagos", EP-n csinaltak meg jol a memorialapozast :) Last Commodore-os megoldasok, az is meger egy miset, kb nem is lehet rendesen boviteni RAM-ot (C64, vagy C128-on lehet de szamomra az is bonyolult), mas gepeken meg esetleg, csak eppen ... EP-n meg milyen szep, logikus, atgondolt es allat egyszeru, megis out-of-the-box 4Mbyte cimtartomany van mar eleve, nem kell kulon felmilliard aramkort beepiteni ha meg boviteni akarsz, stb.