Enterprise Forever

:HUN => Programozás => Topic started by: Z80System on 2013.March.30. 11:51:45

Title: EXOS
Post by: Z80System on 2013.March.30. 11:51:45
Az EXOS- os topikjaink elegge specializaltak, de ahogy az EXDOS- nak is van gyujto topikja, ahova aprobb kerdeseket is be lehet irni, nem kell mindegyik kerdesnek kulon topik, ugy az EXOS- nak is legyen szerintem.
Title: Re: EXOS
Post by: Z80System on 2013.March.30. 12:08:20
Amit pedig kerdezni akarnek most eloszor az EXOS- rol, az az, hogy lehet- e egy RAM rendszerbovitonek eszkozkezelo lanca.

Tehat ugye vannak a rendszer ROM- ok, melyekben lehetnek eszkozkezelo lancok ( vagy legalabbis egy lanc, erre meg nem talaltam utalast a doksiban ), es ezeket az eszkozkezelo lancokat befuzi az EXOS a rendszer inditaskor a "fo" lancba.

Es vannak az extension ROM- ok, melyekben szinten lehet egy ilyen lanc, melyet hozzafuz a "fo" lanchoz az EXOS az inditaskor.

Es vannak ugye a betoltheto rendszerbovitok (azokbol is mindjart 2 fajta, abszolut meg relokalhato) melyekrol (mint rendszerbovitokrol) ugy global azt mondja a doksi hogy azok is teljes erteku rendszerbovitok, igy akkor ebbol az is kovetkezne, hogy mindket tipusnak lehet eszkozkezelo lanca is.

Amde mikor az eszkozkezelokrol beszel mindig csak a ROM rendszerbovitokrol beszel, sosem teszi oda hogy a RAM rendszerbovitokben (plane mindket tipusban) is lehet eszkozkezelo lanc.

Szoval akkor most a RAM eszkozkezelok (mindket tipus) TELJESEN teljes erteku rendszerbovitokent funkcionalhatnak, vagy csak olyan teljes erteku rendszerbovitokent, amikben nem lehet eszkozkezelo lanc ?

A kerdesem hatarozottan az eszkozkezelo LANC- okra vonatkozna, amiket az EXOS implicite, kulon hivas nelkul, automatikusan belancol, es NEM pedig a USER DEVICE- okra, amikhez kulon regisztralo funkciot kell hivni. Egy USER DEVICE- ot nyilvan barki letrehozhat, aki csak meghivja a funkciot. A kerdes az automatikusan linkelodo, LANC- ba szervezett meghajtokrol szolna.
Title: Re: EXOS
Post by: Zozosoft on 2013.March.30. 12:40:24
Ilyen nincs, de a bővítő beláncolása után meghívásra kerül annak inicializáló rutinja, ahol lehetősége van az eszközt beláncolni.
Title: Re: EXOS
Post by: Z80System on 2013.March.30. 13:00:39
Es vajon akkor a builtin es ROM extension eszkozkezeloknek miert van lancuk ? (mondjuk igazabol a builtin eszkozkezelokrol nem irjak hogy megvannak olyan lanc formalyaban mint amit a ROM bovitok is nyujtanak az EXOS fele, csak az van irva roluk, hogy a beepitett eszkozkezeloket eloszor beteszi a "fo" lancba, aztan pedig a ROM eszkozkezelok LANCAI altal tartalmazott eszkozkezeloket) De akkor is, a ROM extension- oknek miert van lancuk, ha a RAM extension- oknek nem lehet ? A ROM extension- ok is lancolhatnanak be USER DEVICE- okat, exos hivassal.

Mondjuk erre magyarazat lehet az, hogy ugy emlekszem, hogy eloszor inicializalja le az osszes eszkozkezelot, aztan meg az osszes ROM rendszerbovitot, tehat mire az elso rendszerbovito inicializalodasra kerul, mar az osszes rendszerbovitoben levo eszkozkezelo inicializalva lesz, es gondolom hasznalhato is. Igy akarmelyik rendszerbovito hasznalhatja akarmelyik rendszerbovitoben levo eszkozkezelot gondolom, mindenfele rendszerbovito inicializalasi sorrend fenntartasa nelkul.

Igy peldaul akkor, mire a BASIC,ASMON, vagy EPDOS rendszerbovitok inicializalodnak peldaul, addigra az EXDOS -ban levo eszkozkezelo reg leinicializalodott (mert gondolom van benne, nem ?) es epp ezert elobbi rendszerbovitok vigan hasznalhatjak a DISK: eszkozt (mert gondolom van olyan, nem?), igaz ? Meg akkor is, ha esetleg maga az EXDOS rendszerbovito meg le sem inicializalodott, igaz ?

Tehat ezert lehet az, hogy a rendszerbovito ROM- oknak van kulon eszkozkezelo lancuk, mig akkor a RAM rendszerbovitok ugyis mar valami EXOS toltesre fognak csak betoltodni, addigra minden eszkozkezelo, es rendszerbovito le lesz inicializalva, nyugodtan inicializalodnak, es raernek inicializalas kozben eszkozkezeloket regisztralgatni.

Ebbol akkor az is kovetkezik, hogy egy ROM eszkozkezelo is nyugodtan regisztralgathat eszkozkezeloket inicializalodasa kozben, ha tudja hogy azt az eszkozkezelot csak o akarja hasznalni, mas rendszerbovitok, vagy maga az EXOS pedig nem.

Jol okoskodok ?
Title: Re: EXOS
Post by: Z80System on 2013.March.30. 13:10:09
ezek szerint akkor egy jo device driver- nek nincs semilyen dependenciaja, meg masik ezskozkezelo dependenciaja sincs,

es egy jo rendszerbovitonek lehetnek dependenciai device driver- ekre, de nem lehetnek dependenciai masik rendszerbovitokre ?

Ill. hat mindkettonek lehet dependenciaja barmelyikre, csak hat keszulnie kell arra, hogy esetleg a rendszer meg nem inicializalta, igy per pillanat meg nemfogja tudni hasznalni, majd csak kesobb ...

es ezzel az eloszor divajszokat, aztan extension- oket inicializalo modszer igazabol nem old fel tokeletesen dependencia kerdeseket, csak egy kicsit javit a helyzeten, a legalapvetobb dependencia kerdeseket oldja csak meg... nem ?
Title: Re: EXOS
Post by: Z80System on 2013.March.30. 13:33:14
Es akkor ebbol viszont az kovetkezik, hogy azert ez meg mindig sovany abbol a szempontbol, hogy akkor ilyen altalanos felhasznalasu eszkozkezeloket mindenkepp ROM- ba celszeru rakni, nem lehet pld. floppy- rol tolteni oket.

Ertem hogy magnonal ez uberkellemetlenseg lehetett volna, de floppynal nagyon is jatszik.

Tehat kene a rendszerbe valami olyan lehetoseg, hogy mielott az elso bovito leinicializalodna, mar lehessen betolteni ram bovitoket, melyeket akkor szinten nem szabad meg leinicializalni, de a bennuk levo eszkozmeghajtokat megis le kene, vagyis akkor megiscsak kene az az eszkozmeghajto lista a ram bovitok eseten is.

Tehat ha jol ertem nincs megoldva a betoltodo eszkozkezelok kerdese, nem tudunk ugy tolteni be eszkozkezelot, hogy az meg az elso (akar ROM) rendszerbovito inicializalasa elott megtortenjen.

Vagy igen ? Kepes lennek en peldaul egy DISK: eszkozkezelo inicializalasaban EXOS altal betolteni (ES LEINICIALIZALNI!) RAM rendszerbovitot, es igy azzal regisztralni user device drivert ? Ez azt jelentene ugye, hogy egy RAM rendszerbovito nem az osszes eszkoz leinicializalodasa utan, hanem kozben inicializalodna le. Persze a funkcioja lehetne csupan anyni, hogy USER device driver- eket lancol be, de akkor is megszunne vele az a szabaly, hogy az elso bovito inicializalodasa elott leinicializalodik az osszes eszkozkezelo.
Title: Re: EXOS
Post by: Z80System on 2013.March.30. 13:42:58
Tehat roviden a kerdes: eszkozkezeloket akarnek tolteni es belancolni disk: eszkozrol, es azt szeretnem hogy ugyanolyan ertekuek legyenek, mint a ROM- okba rakott eszkozkezelok, vagyis meg az elott betoltodjenek es leinicializalodjanak, mielott az elso rendszerbovito leinicializalodna.

Tehat hogy ha van pld. egy ROM- ban EPDOS- om, es en letrehoztam egy wifi eszkozkezelot, amit nem egettem ROM- ba, hanem floppy- rol akarom tolteni (nyilvan RAM bovito formajaban tudom csak, hogy mashogy), akkor ez a wifi eszkozkezelo meg a ROM EPDOS elott leinicializalodjon, hogy a ROM EPDOS akar mar az inicializalodasa kozben wifizhessen, mint ahogy video: -zhat, disk:- elhet, vagy tape:- zhat, hiszen ezek ROM- okban vannak es mar reg leinicializalodtak.

Meg tudom ezt tenni, vagy ezt kihagytak a szamitasbol ?
Title: Re: EXOS
Post by: Zozosoft on 2013.March.30. 14:13:29
A történethez hozzátartozik: az EXDOS-nak nincs ROM perifériája, a RAM területén hozza létre ezeket, majd csatolja be.
Title: Re: EXOS
Post by: Z80System on 2013.March.30. 14:19:08
Hmmm... hattaznaggyonduuuuurvaaaaaa... :)

Az meg hogylehet ? Akkor mi az en garanciam arra, hogy az EXDOS mar letrehozta a DISK: -et, mikor nekem inicializalodik a bovitesem ? Pld. egy EPDOS inicializalaskor biztos nezegeti a drive- okat, vagy mittudomen, DISK: divajszot hivogatja valami EXOS hivasokon keresztul... es akkor mondjuk EPROM sorrendek miatt az EXDOS meg le sem inicializalodott... akkor nem lesz DISK: eszkoz, az EPDOS meg ott fog allni hulyen, es kiirja hogy nincs semiylen meghajto ? Vagy mi ?
Title: Re: EXOS
Post by: Z80System on 2013.April.02. 00:46:58
EXOS leirasban azt olvasom, hogy bovito rom- okat csak 16- tal oszthato szegmensszamokon tud felismerni az EXOS. (Az hogy mi lehet az a tukrozodes dolog, azt a ramnal meg megertettem, de ebben a ROM kontextusban mar nem ... mer jo az ha tobb szegmensszamon is ugyanazt a ROM- ot latjuk, vagy mi ? )

Na de az emulatorban azt latom, hogy nem csak a 10,20,30,40 hexas cimeken vannak romok, hanem 11,12,13,21,22,23 satobbi cimekre is vannak bepakolva ...

Es raadasul az eredeti EXOS 21 -es konfigoknal is, tehat meg csak nem is az EXOS 23x teszi hozza ...

Most akkor 16- al oszthato cimeken lehetnek a ROM- ok vagy nem ? Mi ez a 16- al oszthatosag, tukrozodes ?
Title: Re: EXOS
Post by: Zozosoft on 2013.April.02. 09:22:20
Tükröződés az az, amikor egy kisebb ROM chip van egy nagyobb címtartományra bepakolva, így több szegmensszámon is ugyanaz a tartalom látszik.
Pl gyárilag angol gépen 16K BASIC van a cartridge-ban, ami 04-07h szegmensek mindegyikén látszik.
Ugyanez a helyzet az EXDOS kártyán, ahol az EXDOS ROM 20-2Fh címeken látszik. Ahhoz több alkatrész kellett volna, hogy csak a konkrét szükséges címen látszódjon. De nem is baj ez a spórolás, ez tette lehetővé, hogy amikor jöttek az egyre nagyobb ROM chipek, könnyen ki lehessen használni a területet.

Az EXOS 1 még minden címen keresett ROM-ot, a 2.0-val jött be az, hogy F0h,E0h,...20h,10h,07h,06h,05h,04h
Valószínűleg, úgy gondolták, hogy egy vezérlő kártyának elég egy ROM program. Segéd programokat meg programnyelveket meg cserélgetjük a cartridge-ban...
Az eredeti EXOS ROM teszt ezért csak a cartridge címtartományában szűri ki a ROM tükröződéseket.

Az EXOS 2.3-ban már minden címen keres ROM-ot, és egy 256K tartományban (x0h-xFh) ugyanúgy keresi a tükröződéseket mint az eredeti teszt a cartridge-ban, így kiszűrve azt, hogy kisebb ROM chip van a címterületen.

2.1-ben is lehet olyan ROM ami átnyúlik a x1h címre, de ez csak egy nagyobb program lehet, pl EXDOS 1.3 vagy ASMON, amik 32K-sak.
Title: Re: EXOS
Post by: Z80System on 2013.April.02. 16:01:13
Quote
Tükröződés az az, amikor egy kisebb ROM chip van egy nagyobb címtartományra bepakolva, így több szegmensszámon is ugyanaz a tartalom látszik.
Pl gyárilag angol gépen 16K BASIC van a cartridge-ban, ami 04-07h szegmensek mindegyikén látszik.
Ugyanez a helyzet az EXDOS kártyán, ahol az EXDOS ROM 20-2Fh címeken látszik. Ahhoz több alkatrész kellett volna, hogy csak a konkrét szükséges címen látszódjon.
ezt ertem ...

Quote
De nem is baj ez a spórolás, ez tette lehetővé, hogy amikor jöttek az egyre nagyobb ROM chipek, könnyen ki lehessen használni a területet.
ezt mar nem ... mit segitett ez ? Ez egy hardware dolog, hogy a BASIC vagy EXDOS -t ugy sporoltak ossze, hogy nem csak korrekt helyeken, hanem meg X helyen latszanak... Igenyesebb hardver csak 1 helyne latszik, egyszeru meg sok helyen... ok, de mit konnyit ez egy nagyobb IC eseten ? Hat az majd eldonti hogy o igenyes vagy igenytelen hw lesz, es majd ott latszik, ahol akar, nem ?

Igazabol nem is ertem, ha egy BASIC tobb helyen latszik ( na jo, az ki van szurve, az nem, de ), de akkor egy EXDOS 16 helyen, akkor azt az EXOS 16 rom- nak mappeli be, es 16 kozul az elso fog mindig szerepelni majd ? Meg kulonben is inicializalas, ram foglalas, akkor az 16X allokal majd maganak memcsot az FF szegmensrol ( ha hasznalja azt a fajta allokaciot ), meg ilyenek ...

Quote
Az EXOS 2.3-ban már minden címen keres ROM-ot, és egy 256K tartományban (x0h-xFh) ugyanúgy keresi a tükröződéseket mint az eredeti teszt a cartridge-ban, így kiszűrve azt, hogy kisebb ROM chip van a címterületen.
Ez azt jelenti, hogy minden uj rom, binarisan el van kezdve osszehasonlitva az elozoekkel, amik csak mar be lettek mappolva ? 
Es akkor ket tokegyforma romot akkor sem lehet bemappolni, ha azok fizikailag kulon IC- ben vannak, mert azt hiszi hogy tukrozodes ?

Quote
2.1-ben is lehet olyan ROM ami átnyúlik a x1h címre, de ez csak egy nagyobb program lehet, pl EXDOS 1.3 vagy ASMON, amik 32K-sak.
Na es ez lett volna a fo kerdes: en ugy vettem eszre hogy egy 16K- nal nagyobb ROM is ugy van megoldva, hogy az tulajdonkepp N darab 16K- s rom. tehat egy 64K- s rom, az 4 darab 16k- s rom, kulon "rom header"- rel, meg ami abba van, "EXOS ROM", satobbi, ami le van irva az EXOS- ban. Szoval az az adott romokon mulik, ha ok egyutt akarnak mukodni, az EXOS kulon 16K bovito ROM szegmensnek fogja latni oket. Namost ezek utan ha egyszer az EXOS 21 csak a 10H- s cimen nezi a romot, akkor miert fogja bemappolni a 11H- t ? Mert ha azok nagy romok, irod, akkor lehet. De miert ? Mitol kulonbozik a nagy rom ? Egyebkent meg bonuszkerdes: es akkor ha nem latom el "EXOS ROM" headerrel a ROM- jaimat 16K- nkent, akkor az EXOS nem is lancolja be oket ? Ha igy van akkor egy asmon miert nem csak az elso szegmenset "EXOS ROM"- olja be, fizikailag ugyis tudja, hogy ha o a 20h, akkor a 21h az meg a masodik resze, anelkul hogy az EXOS bemappolta volna ...

Szoval nem mondom hogy kepbe lettem ...
Title: Re: EXOS
Post by: Zozosoft on 2013.April.02. 16:26:11
Ha egy kisebb ROM-ot teszel nagyobb címdekódolású területre, akkor az annyiszor fog ismétlődni, ahányszor belefér.
Pl egy 16K-s ROM 64K területen 4x látszik, 256K területen 16x
A cartridge 64K, az EXDOS kártyákon lévő ROM foglalatok 256K-sak címzési szempontból.

A ROM listába csak az EXOS_ROM kezdetű szegmensek kerülnek be. Ezekkel lehet szabadon legózni, de eredetileg csak a cartridge-ban. Pl összerakhatsz BASIC+PLUS+ASMON-t egy 64K EPROM-ba. EXOS 2.1 ezt az összeállítást csak a cartridge-ban fogja felismerni, ha mondjuk a MICROTEAM kártyára teszed az EXDOS mellé, akkor csak az első programot fogja látni belőle.
Maradva a fenti példánál, a 256K címtartományban ez BASIC+PLUS+ASMON+BASIC+PLUS+ASMON+BASIC+PLUS+ASMON+BASIC+PLUS+ASMON-ként fog látszódni, ezért kell a tükröződés ellenőrzés, hogy csak egy adag BASIC+PLUS+ASMON kerüljön beláncolásra.

Quote
nem csak korrekt helyeken, hanem meg X helyen latszanak... Igenyesebb hardver csak 1 helyne latszik, egyszeru meg sok helyen... ok, de mit konnyit ez egy nagyobb IC eseten ?
Ahhoz, hogy az EXDOS csak 20-21h címen legyen, plusz IC-ket kellett volna még rárakni. Amikor nagyobb IC-ket kezdtünk volna belerakni, akkor ezeket kellett volna kivagdosni, átkötözgetni.
Title: Re: EXOS
Post by: Z80System on 2013.April.02. 16:39:35
Jo, de akkor van most egy emu (tenyleg az emu milyen tukrozodeseket emulal?) konfig,
amiben EXOS 21 van, es egy asmont vagy ilyesmit siman mukodtet a 20,21 hexan.

Marpedig abbol csak az elsot kene bemappolja nem ? Vagy lehet hogy csak az elso (20h) van bemappolva, a masodik (21h)- ra tett eprom felben csak sportbol van az EXOS ROM header, mert azt ugyse keresi majd az EXOS ?

Es akkor EXOS 23- nal meg majd ugyanaz a hw config, ugyanaz a ROM mar 2 bovitonek fog latszani mert az mar keres mindenhol ?
Title: Re: EXOS
Post by: Zozosoft on 2013.April.02. 17:00:07
Quote from: Z80System
tenyleg az emu milyen tukrozodeseket emulal?
Semmilyet. Megfelelő konfig fájllal (többször betett ROM-ok) lehet emulálni.

Quote
amiben EXOS 21 van, es egy asmont vagy ilyesmit siman mukodtet a 20,21 hexan.

Marpedig abbol csak az elsot kene bemappolja nem ? Vagy lehet hogy csak az elso (20h) van bemappolva, a masodik (21h)- ra tett eprom felben csak sportbol van az EXOS ROM header, mert azt ugyse keresi majd az EXOS ?
Hol van EXOS ROM header az ASMON másik felén? Max egy TEST ROM-ot láthatsz ott, mert ha fordított sorrendben van beégetve, és a cartridge elejébe rakva, akkor van benne gyors teszt.
Title: Re: EXOS
Post by: Z80System on 2013.April.02. 17:17:48
Ok, nem tudom mit neztem be tegnap, ha megint osszeakadok vele, akkor szolok, most megneztem egy exdos- t, es a 20- on van EXOS_ROM a 21- en pedig valoban nincs.

Szoval akkor osszefoglalom.

Mostmar akkor tudjuk mi a tukrozodes, ok. Tudjuk hogy a hw adja, hogy egy rom tukrozodik- e vagy sem. (Arra akkor meg nem volt valasz, hogy a tukrozodes kiszurese akkor egy binaris osszehasonlitas az osszes tobbi rommal ?) RAM ugye ilyen modon nem tukrozodhet, ez csak a romoknal engedelyezett.

Namost ROM- oknal is csak a 4,5,6,7 helyeknel van gyarilag ( EXOS 21 ) tukrozodes kiszures, tobbi helyen csak 16- osaval vannak tesztelve eleve a szegmensek, es a 16- tal kezdodo ROM- ok kozott nincs tukrozodeskiszures.

Ha viszont egy rom nagyobb mint 16kb AZ ATTOL MEG TELJESEN LATSZODNI FOG a z80- nak, csak az EXOS 21 nem ad lehetoseget a 16kb- on feluli reszekre bovitoket helyezni. De attol meg az eredeti EXDOS is igy mukodik, hogy a 32K EXDOS elso fele egy rom bovito, a masodik fele meg csak kod, amit az elso fele (a rom bovito) hasznalni tud.

Jol beszelek ?
Title: Re: EXOS
Post by: Zozosoft on 2013.April.02. 21:22:39
Quote from: Z80System
Arra akkor meg nem volt valasz, hogy a tukrozodes kiszurese akkor egy binaris osszehasonlitas az osszes tobbi rommal ?
Az eredeti EXOS teszt az első 64 bájtot hasonlítja össze, 07h-04h szegmenseken.
A 2.3 ugyanígy, de az összes szegmensre, 2.31-től pedig 16-16 bájtot néz a ROM 0000h,1000h,2000h,3000h címein.

Quote
RAM ugye ilyen modon nem tukrozodhet, ez csak a romoknal engedelyezett.
RAM-nál nagy baj a tükröződés, címvezeték szakadás okozhat ilyen hibát. Az eredeti EXOS RAM teszt nem veszi ezt észre, a 2.3 tesztje igen (a jónak bizonyult szegmensek elejére beírja a szegmensszámát, esetleges tükröződés esetén ez felülírodik, a végén egy újabb menetben visszaellenőrzi ezeket, és csak az kerül a RAM listába ahol megörződött a beírt érték. Ezért pörög elsőként a TESTED számláló, majd végül az OK számláló).

Quote
Jol beszelek ?
Igen.

Annyit még hozzá lehet tenni, hogy a 2.1-nek nem látszódó ROM-okat be lehet láncolni a Zozotools RL parancsával.
Például egy 2.1-es gépen van a MICROTEAM kártya 30-as foglalatában egy 64K EPROM Zozotools (30-31h) és EPDOS (32-33h) programokkal.
Kell egy EXDOS.INI:
EPDOS
RL NEW 32h,30h,20h,04h,01h

Első körben az EPDOS parancs nem fut le, mivel az még nincs a rendszerben. Az RL parancsal definiálunk új ROM listát (EPDOS, ZT, EXDOS, BASIC, WP), így a következő körben már bent lesz az EPDOS, és így oda lép az EXDOS.INI futtatásakor.
(Elsőként így lehetett kihasználni a nagyobb EPROM-okat bővítőkártyán, később jött az EXOS fejlesztés project.)
Title: Re: EXOS
Post by: lgb on 2013.September.04. 23:04:21
Talan jo lesz ebbe a topic-ba :) A wdemo parancsomat nezegetem JSep-ben peldanak. Egy valami szoget utott a fejembe: hogyan lehet ezt leallitani? :) Mert ugye a teljes puffert listazom most mar, ami az index.hu-nal kvazi kisse hosszu ... Ha pl egy dir a: a parancs, az stop gombbal megallithato. Nu, ezt szeretnem tudni, hogy ezt hogyan implementaljak, hogy en is meg tudjam csinalni. Lekerdezik egyszeruen a billentyuzetet idonkent? Most a wdemo az ugye csak annyi, hogy varok max 1K puffert az emutol (mely elegge el nem itelheto modon beleirja a netlinkfs.rom image vegebe a memoriaba ...), azt exos 8 hivassal kiirom, majd kerem a kovetkezo max 1k-t, amig van mit atadni igy 1K-nkent persze. Meg ha az exos 8 hivasok koze teszek billencsvizsgalatot, az is kisse lassan fog jonni, hiszen lehet 1K-s mereten dolgozik az exos eppen h kiirja. Sorokra a puffer atadast nehezen tudnam lebontani mert uaz a mechanizmus van binaris adatra is, ahol eleve nincs is ertelme a soroknak, nem ugy mint text printnel. Otlet?
Title: Re: EXOS
Post by: Zozosoft on 2013.September.05. 10:42:48
A szoftver megszakítást nézik, pl az EXDOS-ból:

Code: ZiLOG Z80 Assembler
  1. lc4b2:  LD      A,(0BFF2H)      ;FLAG_SOFT_IRQ
  2.         CP      20H             ;?STOP
  3.         RET     NZ
  4.  
  5.         LD      A,0E5H          ;.STOP "A STOP BILLENTYŰ LENYOMVA"
  6.         EX      AF,AF'
  7.         CP      A
  8.         RET
  9.  

Ez a rutin van hívogatva sok helyről.
Title: Re: EXOS
Post by: lgb on 2013.September.05. 16:48:01
Quote from: Zozosoft
A szoftver megszakítást nézik, pl az EXDOS-ból:

Koszi. Implementaltam is, pl most :wdemo index.hu megszakithato, ha nem is azonnal reagal a hasznalt puffer meret miatt (az mellekes, hogy megprobaltam legalabb amator modon par ekezetet is konvertalni az output-ban).

Kicsit mas, megneznel nekem valamit? Lasd a szokasos helyen az emu, inditsd el, aztan amikor az IS-BASIC-hez ersz, stop-old le az emulaciot, es nezd meg a debug ablakot (a vege fele). Ilyesmik:

NetLink: rom entry request, c=2, b=6, cmdstr="EXDOSÿ"
NetLink: rom entry request, c=2, b=6, cmdstr="EXDOSü"
NetLink: rom entry request, c=2, b=6, cmdstr="BASICX"

Mi a bubanat lehet az az extra karakter a vegen? Ez azert is fura, mert lathatoan kiirattam a b register erteket is, ami azt mondja, hogy 6. Ez nem teljesen vilagos nekem, hiszen elvileg az EXDOS nevnel 5 a hosszusag, es ebben az esetben az parancs-string parse-olasara nem 5-el kene hivnia, mivel az EXDOS hosszusaga 5? Amugy ettol eltekintve is: valojaban en a stringet nem a B register alapjan nezem (egyedul a help-nel nezem, hogy nulla-e hogy tudjam, hogy csak a rom "rovid" nevere kivancsi-e, ami latszik pl egy sima :help-nel amire minden rom-ot meghiv, vagy egy adott parancsra), hanem a DE altal mutatott helyrol veszem, ahol ugye az ott levo byte a string hossza, es utana jon maga a string. Viszont ugy tunik aszerint is 6-ot kapok hosszusagra, ami nem stimmel ismet (aztan en keresem meg az elso szokozt stb, ha pl parameterek vannak). Az is erdekes, hogy ettol fuggetlenul latszolag mukodik minden, de akkor miert fordulnak elo ezek az anomaliak? Bar eros a gyanum, hogy nyilvan en rontok el (vagy nem ertek) valamit, csak akkor jo lenne tudni, hogy mi a bibi :)
Title: Re: EXOS
Post by: Zozosoft on 2013.September.05. 17:09:34
Ezek nem felhasználó parancsok, hanem ROM-ok közötti komunikáció:
"EXDOS",0FFH    ;EXDOS bővítőktől az általuk kezelt meghajtók adatainak lekérdezése
"EXDOS",0FDH    ;EXDOS bővítő utólagos beláncolása
"EXDOS",0FCH    ;EXDOS bővítések hidegindítási inicializálása
"EXDOS",0FBH    ;EXDOS bővítések melegindítási inicializálása

"BASICX" IS-BASIC bővítések lekérdezése
Title: Re: EXOS
Post by: lgb on 2013.September.05. 17:11:36
Quote from: Zozosoft
Ezek nem felhasználó parancsok, hanem ROM-ok közötti komunikáció:
"EXDOS",0FFH    ;EXDOS bővítőktől az általuk kezelt meghajtók adatainak lekérdezése
"EXDOS",0FDH    ;EXDOS bővítő utólagos beláncolása
"EXDOS",0FCH    ;EXDOS bővítések hidegindítási inicializálása
"EXDOS",0FBH    ;EXDOS bővítések melegindítási inicializálása

"BASICX" IS-BASIC bővítések lekérdezése

Wow, szoval ez teljesen normalis, az EXOS is jol mux, meg en se szurtam el semmit, max nem ertettem :) Koszi szepen!
Title: Re: EXOS
Post by: Povi on 2013.November.22. 18:42:33
a melegindítási cím bárhol lehet a nullás lapon?
csak azért kérdezem, hogy van értelme annak, hogy a 28h-ra van állítva a reset, és oda van másolva egy JP xxxx utasítás
Title: Re: EXOS
Post by: Zozosoft on 2013.November.22. 18:45:16
Bárhol.
Így első hallásra nincs értelme, hacsak nincs belső reset hívás a programban RST 28h-val.
Title: Re: EXOS
Post by: Povi on 2014.July.07. 16:09:02
editor-ral kapcsolatban volna kérdésem:
ha az FLG_EDIT változót 000101xx-re álltom (lásd: parancssor olvasása BASIC-ből), és küldök egy EXOS 6-ot, akkor a BC-nek milyen értéket adjak? Hiszen nem tudom, hogy hány karaktert akarok olvasni... Vagy tök mindegy, állitsam akkorára, amekkora a maximális mérete lehet annak a sornak, amit olvasni akarok, és nem lesz gond?

érdekes, hogy pl. a HiSoft Pascal-ban karakterenként olvasnak az editor-ról, de véleményem szerint itt lehetett volna EXOS 6-tal is olvasni egy sort:
Code: [Select]
;reads one line from editor:
  ;input: -
  ;output: HL=15aeh (the typed line is copied here, last char is chr(0))
l037b:  push    bc
        push    de
        ld      hl,l15ae         ;editor-puffer
        push    hl
l0381:  ld      a,121
        exos    5                ;reads a char from editor: (#121)
        or      a
        jp      nz,ErrorEXOS
        ld      a,b             ;A:=ascii code of char
        ld      (hl),a          ;put it to (HL)
        inc     hl
        cp      10              ;=LF?   
        jr      nz,l0381        ;if not LF, then read one more character
        dec     hl
        ld      (hl),00h
        pop     hl
        pop     de
        pop     bc
        ret     
Title: Re: EXOS
Post by: Povi on 2014.July.07. 16:13:09
5-ös fejlécű program esetében a 100h alatti cimeken hol lehet garázdálkodni?
értelemszerűen 30h 38h környékén nem, de mi van 0-30h-ig? Tehetek oda saját rutinokat, amiket majd RST-vel érek el?
Title: Re: EXOS
Post by: Zozosoft on 2014.July.07. 16:25:39
Quote from: Povi
5-ös fejlécű program esetében a 100h alatti cimeken hol lehet garázdálkodni?
értelemszerűen 30h 38h környékén nem, de mi van 0-30h-ig? Tehetek oda saját rutinokat, amiket majd RST-vel érek el?
Természetesen. És 5Ch-FFh is szabad.
Title: Re: EXOS
Post by: Z80System on 2014.August.22. 16:57:14
Az EP -ben ugye 9 pixelsor magas egy karakter, és emlékeim/feltételezéseim szerint ez a 9 pixelsor mindenhol él, nem csak karakteres módoknál,
tehát mivel az exos karakteresével engedi a videolapokat specifikálni, ezért ez a 9 függőleges pixelsoros szprzó ez mindenhol ott lesz.

Az lenne a kérdés hogy egy a 9 pixelsoros magasság milyen módón és szinten van az exos -ba huzalozva ? Módom van ezt átállítani, tudok csinálni 8 pixel magassággal operáló karaktereket ? Exos értelemben gondolom, nem hardveresen. Ha nem is egy érték (mondjuk karakter magasság) beállításával, de milyen szintű változtatással, lehet -e ezt módosítani 8 pixelre mondjuk ?
Title: Re: EXOS
Post by: lgb on 2014.August.22. 19:52:59
Ennyire _en_ biztos nem ismerem az EXOS-t, de szerintem a kovetkezokeppen lehetne: az EP hw text modban hasznalt karakterkeszlet definicio kicsit mas, mint a legtobb mas gepen. C64-en pl ugye az elso byte az elso karakter elso sora, utana az elso karakter masodik sora, egeszen a nyolcadikig (most tekintsunk el attol, hogy inkabb nullatol szokas szamozni), utana jon a masodik karakter, stb. EP esetben nem igy van: szepen sorban ott az osszes karakter elso sora, aztan a kovetkezo sora az osszes karakternek, stb. Ennek elonye ugye az, hogy csokkentheto egy a karakterkeszlet atdefinialasa nelkul a karaktermagassag (max nyilvan nem latszik az osszes sora). A karakter magassadot pedig az LPT-ben levo LPB-k altal kepviselt "sc" ertek jelzi. Magyaran en  a kovetkezo eljarast tudom elkepzelni:

* exos segitsegevel hwtext modban video channel nyitas, lap megjelenites stb
* LPT kezdocimenek lekerdezese
* az egyes karaktersorokat jelento LPB-kben egy-egy byte (LPB altal kepviselt scanline-ok szama, "sc") megvaltoztatasa
* mivel igy pl 25 sor eseten 25 scanline-al kevesebb lesz, ezt kompenzalni kell valahol

Nyilvan lehet egyszerubb tok sajat LPT felepitese, ha tiszta lappal akar indulni az ember, viszont ez talan egy gyors megoldas.

Majd az okosabbak megmondjak, hogy igazam van-e, de az is elkepzelheto, hogy ez joval egyszerubben megoldhato ilyen mokolas nelkul is :-) Amugy a primo emulatoromban hasonlo dolgot csinalok, nem sajat LPT, hanem "atfaragom" a meglevo EXOS altal beallitott LPT-k egyes LPB-eit.
Title: Re: EXOS
Post by: Z80System on 2014.August.22. 19:57:10
Ez nem lenne jó (nekem, vagy max csak addig, míg az exos nem nyúlna újra az lpt -hez), mert ő megint arra frissítené, amire ő akarja.

Exos kompatibilisebb megoldás iránt érdeklődnék.
Title: Re: EXOS
Post by: Zozosoft on 2014.August.22. 19:58:47
Egy saját VIDEO: eszközt kell csinálni, ami így működik.
Amikor azt csatolod a rendszerhez, letiltja a régit. (Ahogy pl a német bővítés KEYBOARD-ja is letiltja az angolt.)
Title: Re: EXOS
Post by: Z80System on 2014.August.22. 20:02:06
Quote
Egy saját VIDEO: eszközt kell csinálni, ami így működik.
De gondolom ez azzal járna, hogy a video eszköz összes funkcióját támogatnom kéne, ráadásul figyelnem kéne hogy a funkciók között hol és milyen módon hivatkozhattak a mindenkori "9. sorra" (bármivel, pld. karakterkészletmegadásnál(gondolom lehet a video eszközzel ilyet)), és azt valahogy ügyesen és kompatibilisen kezelni 8 sorosan ...

Nem tűnik kis munkának ... vagy igen ?
Title: Re: EXOS
Post by: lgb on 2014.August.22. 20:10:30
Quote from: Z80System
De gondolom ez azzal járna, hogy a video eszköz összes funkcióját támogatnom kéne, ráadásul figyelnem kéne hogy a funkciók között hol és milyen módon hivatkozhattak a mindenkori "9. sorra" (bármivel, pld. karakterkészletmegadásnál(gondolom lehet a video eszközzel ilyet)), és azt valahogy ügyesen és kompatibilisen kezelni 8 sorosan ...

Nem tűnik kis munkának ... vagy igen ?

Nem akarok nagyon okoskodni, de elsore szerintem ez nem tunik tul nagy munkanak. Foleg ha EXOS disasm project van, es az ott levo VIDEO: eszkozt at lehet faragni. Bar a szep az lenne, ha lehetne allitani :) Es vmi kulon EXOS valtozoba (?) atkerulhetne, aztan EXOS 33.4-ben :) az lenne az uj video eszkoz mar defaulte.
Title: Re: EXOS
Post by: lgb on 2014.October.20. 20:40:12
Valaki meg tudja mondani, hany csatornat nyithatok meg max EXOS alatt? Kb mind a 255-ot (a 255-os szamut nem, az fenn van tartva, ha jol remlik). Illetve ez mit okoz a rendszerszegmensben, marmint meretnovekedes ugyileg :) Tovabba, mar EXDOS, de ha ezek a csatornak konkretan EXDOS-on at disk-en levo file-okban "kotnek ki" az okoz meg valahol memoria allokaciot EXDOS szinten is? Ok, tudom probaljam ki, de lusta vagyok, ussetek! :) Koszke.
Title: Re: EXOS
Post by: Povi on 2014.November.25. 22:06:50
A 0xc0 - 0xef -ig (192 - 239) karakterkódokat használja valamire az EXOS?
Title: Re: EXOS
Post by: Zozosoft on 2014.November.25. 22:12:17
A 0xc0 - 0xef -ig (192 - 239) karakterkódokat használja valamire az EXOS?
Alapból elvileg nem, de lehet olyan új eszköz ami igen.
Mire kéne?
Title: Re: EXOS
Post by: Povi on 2014.November.25. 22:13:41
funkcióbillentyűt beprogramozni
Title: Re: EXOS
Post by: Zozosoft on 2014.November.25. 22:14:32
Különböző Escape szekvenciák részeiként mondjuk előfordulhatnak.
Title: Re: EXOS
Post by: endi on 2015.February.06. 00:08:58
EP-n töredezetté válhat a videó memória? vagy bármilyen?
pl megnyitok videólapokat, bezárok néhányat, megnyitok megint stb..?
Title: Re: EXOS
Post by: Zozosoft on 2015.February.06. 07:36:43
Nem, az EXOS az átrendezi csatorna bezáráskor a maradékot, hogy egybefüggő legyen. Ha videólapok is érintettek a dologban, akkor ez látható is kis villanással a képen.
Title: Re: EXOS
Post by: lgb on 2015.February.06. 08:56:56
Amennyire tippelni tudok, a valasz igen, de azert megkerdezem: ha beallitottam warm reset cimet, es ratapadok a reset gombra, akkor a vezerles megkapasa utan foglaltak maradnak az altalam lefoglalt szegmensek (ideertve a "teljes" szegmenseket es esetleg a shared szegmenst is)? Logikusan igen, mert ugye az lenne a lenyege szerintem, hogy a memoriatartalom megmarad. A csatornak viszont bezarodnak, tehat pl volt nyiltva video channel, azt ujra meg kell nyitni.
Title: Re: EXOS
Post by: Zozosoft on 2015.February.06. 09:30:55
Amennyire tippelni tudok, a valasz igen, de azert megkerdezem: ha beallitottam warm reset cimet, es ratapadok a reset gombra, akkor a vezerles megkapasa utan foglaltak maradnak az altalam lefoglalt szegmensek (ideertve a "teljes" szegmenseket es esetleg a shared szegmenst is)? Logikusan igen, mert ugye az lenne a lenyege szerintem, hogy a memoriatartalom megmarad. A csatornak viszont bezarodnak, tehat pl volt nyiltva video channel, azt ujra meg kell nyitni.
Igen. (http://ep128.hu/Ep_Konyv/Exos.htm#11)
Title: Re: EXOS
Post by: endi on 2015.February.06. 10:15:25
Nem, az EXOS az átrendezi csatorna bezáráskor a maradékot, hogy egybefüggő legyen. Ha videólapok is érintettek a dologban, akkor ez látható is kis villanással a képen.

hú ez komoly
nem lehet erről olvasni valahol részletesebben?
Title: Re: EXOS
Post by: lgb on 2015.February.06. 11:22:35
Ha mar intenziven spam-elem az EXOS topic-ot, eszembe jutott meg kerdes:

az EXOS leiras ezt irja: "Az opcionális (választható) file-név maximum 28 karakterből állhat". Ezen kicsit megutkoztem. Akkor ezek szerint, ha van egy disk, amin szep mely konyvtarstruktura van (a teljes path hosszabb mint 28 karakter), akkor nem is igazan tudom azokat a file-okat elerni? Ui amennyire tippelek, az EXDOS regisztral egy olyan eszkozt pl hogy A:, amde EXOS funkciokon at elerheto, hogy megnyissak egy disk-en levo file-t, ahol igencsak szuk lehet a 28 karakteres limit aztan ... Mert ugye az EXOS maga nem ismeri a "konyvtar" fogalmat, neki a \ ugyanugy resze a filenevnek, azt majd gondolom az EXDOS (talan vmi FISH call aztan) ertelmezi, ha oda jut, de elobb az EXOS-on at kell jutnia (hacsak a user app nem kozvetlenul FISH-en keresztul beszelget az EXDOS-szal).

A masik dolog, ami EXOS kapcsan eszembe jutott kerdes, az a status line. Az mar regebben feltunt, hogy ha oda irok vmit, akkor nem latszik az eleje. Csak azt nem tudom miert, illetve allithato-e ez valahogy. Talan valami 5-el (emlekeim szerint) kesobb kell kezdeni, hogy latszodjon is. Azt gondolom, hogy vmi statusz line hossz van, amde mindig 42 byte (ha jol remlik) a fenntartott terulet. Akkor viszont mi a jo modszer, mindig 5-ot hozzadni a status line cimehez, es onnan irni, vagy at tudom ezt valahogy allitani (lehetoleg nem EXOS LPT-be beleturassal pl?).

Koszi.
Title: Re: EXOS
Post by: Zozosoft on 2015.February.06. 11:36:28
szep mely konyvtarstruktura van
Ez már önmagában perverzség :-) aminél csak az nagyobb, hogy nem aktuális könyvtárból fájlt nyitni.
Ha CD-vel belelépsz, akkor elég csak a fájlnév.

Quote
A masik dolog, ami EXOS kapcsan eszembe jutott kerdes, az a status line. Az mar regebben feltunt, hogy ha oda irok vmit, akkor nem latszik az eleje.
Az eleje a billentyűzet kezelőé, odaírja, hogy CAPS/SHIFT/ALT ill. alapból a semmit. A vége meg az EDITOR-é, a szabad bájtokat írja.
Title: Re: EXOS
Post by: Zozosoft on 2015.February.06. 11:40:45
hú ez komoly
nem lehet erről olvasni valahol részletesebben?
A perifériakezelőknek kell lennie puffer mozgatási alprogramnak, aminek az EXOS megmondja, hogy mennyivel mozgatta el a csatorna puffert, és a perifériakezelő ennek megfelelően regisztrálja át magának a tárolt címeit.
Ill. a videólap cím lekérdezésnél említi, hogy ügyeljünk arra, hogy ez változhat, így olyan művelet után ami EXOS puffer mozgatást okoz (pl csatorna nyitás vagy zárás), újra le kell kérdezni.

Ennél részletesebben az EXOS visszafejtésben :-)
Title: Re: EXOS
Post by: lgb on 2015.February.06. 11:42:39
Ez már önmagában perverzség :-) aminél csak az nagyobb, hogy nem aktuális könyvtárból fájlt nyitni.
Ha CD-vel belelépsz, akkor elég csak a fájlnév.

Aha, vilagos persze. Nyilvan "kezzel" csinalgava tenyleg nincs ertelme pl 100 karakteres cuccot begepelni allandoan. Akkor helyes a feltetelezes, hogy 28 karakteres limit az komoly. Tenyleg, az aktualis konyvtar teljes eleresi ut, arra EXDOS (ez mar ugye nem EXOS tema mondjuk) szintjen van limitalva, hogy milyen hosszu lehet?

Quote
Az eleje a billentyűzet kezelőé, odaírja, hogy CAPS/SHIFT/ALT ill. alapból a semmit. A vége meg az EDITOR-é, a szabad bájtokat írja.

Oppps, na erre aztan nem gondoltam volna, pedig mennyire logikus ;) Koszi!
Title: Re: EXOS
Post by: Zozosoft on 2015.February.06. 12:17:43
Tenyleg, az aktualis konyvtar teljes eleresi ut, arra EXDOS (ez mar ugye nem EXOS tema mondjuk) szintjen van limitalva, hogy milyen hosszu lehet?
63 karakter
Title: Re: EXOS
Post by: endi on 2015.February.06. 13:25:52
A perifériakezelőknek kell lennie puffer mozgatási alprogramnak, aminek az EXOS megmondja, hogy mennyivel mozgatta el a csatorna puffert, és a perifériakezelő ennek megfelelően regisztrálja át magának a tárolt címeit.
Ill. a videólap cím lekérdezésnél említi, hogy ügyeljünk arra, hogy ez változhat, így olyan művelet után ami EXOS puffer mozgatást okoz (pl csatorna nyitás vagy zárás), újra le kell kérdezni.

Ennél részletesebben az EXOS visszafejtésben :-)

aha, tök jó
de ez azt jelenti hogy pl jó nagy videómemóriákat rakosgat ide-oda?
meg úgy általában: ez tök komoly dolog, igazából eddig bele se gondoltam ezekbe :)
pl van egy jó nagy videólap, de megszűnik egy pici előtte, akkor az elég nagy memória mozgatás lesz...
durva :)
Title: Re: EXOS
Post by: endi on 2015.February.07. 17:47:34
csináltam egy programot ami random nyitogat és zár videó csatornákat, és rajzol rájuk valamit
azért csináltam, hogy lássam azt a bizonyos villogást, amit az exos memória menedzsment közben csinál
de nem látom hogy villogna, persze lehet hogy a program rossz
de amúgy dereng nekem valami a régi időkből, hogy én is láttam ilyen villogást
esetleg a programot lehetne fejleszteni
Title: Re: EXOS
Post by: szipucsu on 2015.February.07. 19:52:02
Nem, az EXOS az átrendezi csatorna bezáráskor a maradékot, hogy egybefüggő legyen. Ha videólapok is érintettek a dologban, akkor ez látható is kis villanással a képen.
Endi, nézd meg Itt (http://enterpriseforever.com/programozas/mit-lehetne-kihozni-az-ep-basic-bol/msg43037/#msg43037) a Snamber játékomban: amikor a program indulása után a "menüben" megnyomjuk a space-t a játék indításához, elég csúnyán tűnik el az attribútum képernyő. Már akartam is kérdezni, nem lehetne-e ezzel csinálni valamit. De most jut eszembe, ez lehet, hogy nem is amiatt van, amiről most írsz.
Title: Re: EXOS
Post by: endi on 2015.February.07. 20:21:24
Endi, nézd meg Itt (http://enterpriseforever.com/programozas/mit-lehetne-kihozni-az-ep-basic-bol/msg43037/#msg43037) a Snamber játékomban: amikor a program indulása után a "menüben" megnyomjuk a space-t a játék indításához, elég csúnyán tűnik el az attribútum képernyő. Már akartam is kérdezni, nem lehetne-e ezzel csinálni valamit. De most jut eszembe, ez lehet, hogy nem is amiatt van, amiről most írsz.

hm ez "az" lenne? és tényleg, ilyesmire emlékszem én is!
hogy mit lehetne csinálni ezekkel, majd azután foglalkozzunk vele ha fixen tudjuk reprodukálni
pl az én példaprogramom miért nem csinálja ezt?
Title: Re: EXOS
Post by: lgb on 2015.February.08. 13:17:36
No, talaltam meg egy kerdest :) Van ugye - ha jol tudom - a default channel fogalma. Pl ROM-ok ha irnak a 255-os (ha jol remlik) szamu csatornara, az a default channel-re fog menni, ami 4-es EXOS valtozoval hozzarendelheto egy adott csatornahoz. Ez mind szep es jo, de mi van akkor, ha en ugy szeretnek EXOS parancsokat vegrehajtani, hogy megkapjam a "kimenetet", byte-onkent sajat magam celjara, es nem a kepernyore, file-ba, stb, szoval nem egy csatornara akarom kiiratni, hanem mint "stringre" szuksegem van, hogy utana azt csinaljak vele, amit akarok? Ami eszembe jutott, az az, hogy az nullas lapon lecserelem az EXOS RST belepesi pontot, es figyelem, hogy write char/block megy-e az az adott csatornara, es ha igen, inkabb letarolom a memoriaban, kulonben viszont visszaadom az eredeti EXOS RST rutinra a vezerelest. Azonban nem vagyok benne biztos, hogy ez igy feltetlen menne, no meg hat kisse ronda is, lassuk be. Letezik erre normalisabb megoldas, vagy megoldas egyaltalan? Gondolom persze letrehozhatnek egy "fake" video eszkozt is, es azt allitom be default channel-nek, de ez megint nem feltetlen egyszeru, es nem is biztos, hogy tudom hogy kene ilyet, egy user app-bol, tehat nem egy EXOS_ROM -ot akarok epp csinalni eszkozvezerlonek. Amugy is csak idolegesen kene egy-ket exos parancs vegrehajtasanak idejere, kulonben persze nekem a normal mukodes kene.

Jut eszembe, nyilvan az is megoldas lehet, hogy nyitok egy file-t pl disk-en, es beallitom default channel-nek, aztan ha megvan amire varok, visszaolvasom mi irodott a file-ba. Ez azonban kisse "pazarlo", es erosen hibaktol terhelt, pl mi van akkor, ha nincs eleg hely a disk-en, vagy nincs lemez a meghajtoban, vagy barmi? RAMdisk-en se biztos, hogy van hely, illetve van RAMdisk egyaltalan, vagy szabad szegmens a letrehozasahoz (esetleg nincs is EXDOS a rendszerben!), stb stb ...

Amugy az idealis az lenne, ha barmi is tortenik, egy callback rutinomra kerulne karakterenkent a vezereles, ami aztan azt csinal vele, amit akar. Lehet, meg mindig a nullas lapon az EXOS hivas elteritese a legegyszerubb  ...
Title: Re: EXOS
Post by: endi on 2015.February.08. 13:38:17
az editor: nem erre való amiről írsz?
Title: Re: EXOS
Post by: lgb on 2015.February.08. 13:58:37
az editor: nem erre való amiről írsz?

Nem tudom, gondolom az editor: editalasra valo :)  De komolytalanra forditva a szot, nem igazan volt meg vele dolgom (marmint az editor:-al), ezert nem tudom, hogy ebben a kontextusban lenne-e ertelme, mivel semmit nem akarod editalni egyaltalan megjeleniteni (nem is tudnek mivel sajat LPT stb van ervenyben), bar az elkepzelheto, hogy amolyan buffer-nek pont hasznalhato lenne, amire nekem kene? Tehat, hogy vmi beleir (exos parancs vegrehajtas pl) aztan en olvasni tudok belole, hogy mit pakolt bele, anelkul, hogy a kepernyos megjelenne barmi?
Title: Re: EXOS
Post by: endi on 2015.February.08. 14:13:25
lehet hogy hülyeséget írtam :)
Title: Re: EXOS
Post by: Zozosoft on 2015.February.08. 14:28:54
Editorbol tudod olvasni amit beleírtak. De mire kell ez a titokzatos funkció?
DIR-t olvastak úgy Basic másolók, hogy egy jó hosszú videólapra kérték, és arról olvasták be.
A legális ha csinálsz egy saját eszközt, az meg odarakja neked, ahova akarod.
Title: Re: EXOS
Post by: lgb on 2015.February.08. 14:38:20
Editorbol tudod olvasni amit beleírtak. De mire kell ez a titokzatos funkció?

Nem annyira titokzatos :) Max annyi, hogy EXOS altal nem kezelt videomod alatt kellene. Nyilvan irhatnek egy uj video driver-t is, de azert _csak_ erre kisse luxusnak erzem, ezert gondoltam, hogy inkabb egyszerubb, ha megvan a kapott output es az alapjan en kiteszem .

Quote
DIR-t olvastak úgy Basic másolók, hogy egy jó hosszú videólapra kérték, és arról olvasták be.
A legális ha csinálsz egy saját eszközt, az meg odarakja neked, ahova akarod.

Igen, de itt akadtam el, hogy egy sima header-5 user app-bol hogy tudok en eszkozt letrehozni? Olyat mar csinaltam egyszer teszt keppen, hogy sajat EXOS_ROM-os jatek, de ugye itt nem errol van szo.

Amugy milyen jo lenne, ha default-ban lenne mondjuk egy BUFFER: EXOS eszkoz :) Ez arra lenne jo, hogy lehet bele irni, meg olvasni, es egy adott memoriapuffert hasznal csak nyilvan. Persze, igy korlatozott a merete, amit "elbir", hacsak nem olvassak ki belole mielott elfogy ... Persze, lehetne ilyet csinalni,  neha hasznos lenne, de most egy adott user app-hoz kulon ROM-ot (vagy legalabbis betoltheto system extension-t) szerintem kisse kenyelmetlen hasznalni allandoan.
Title: Re: EXOS
Post by: Zozosoft on 2015.February.09. 11:24:42
Igen, de itt akadtam el, hogy egy sima header-5 user app-bol hogy tudok en eszkozt letrehozni? Olyat mar csinaltam egyszer teszt keppen, hogy sajat EXOS_ROM-os jatek, de ugye itt nem errol van szo.
EXOS 21 (http://ep128.hu/Ep_Konyv/Exos.htm#68)
Title: Re: EXOS
Post by: lgb on 2015.February.09. 16:38:29
EXOS 21 (http://ep128.hu/Ep_Konyv/Exos.htm#68)

Cool. Es megszuntetni meg tudom? Vagy nem igazan, es vmi EXOS 0 szeru reset kell hozza?
Title: Re: EXOS
Post by: Zozosoft on 2015.February.09. 16:42:45
Cool. Es megszuntetni meg tudom? Vagy nem igazan, es vmi EXOS 0 szeru reset kell hozza?
EXOS 0, bit 5 beállítva.
Title: Re: EXOS
Post by: endi on 2015.February.18. 23:26:53
miért csak 1 karakteres az exos keyboard bufferje?
szerintem tök jó lett volna ha több

azt észrevettétek amúgy, hogy a funkcióbillentyűk mintha más bufferben lennének?
Title: Re: EXOS
Post by: geco on 2015.February.19. 08:49:47
miért csak 1 karakteres az exos keyboard bufferje?
szerintem tök jó lett volna ha több

azt észrevettétek amúgy, hogy a funkcióbillentyűk mintha más bufferben lennének?
Nekem ez tök jó, kevesebbet kell visszatörölni :D
Title: Re: EXOS
Post by: szipucsu on 2015.February.19. 10:12:44
azt észrevettétek amúgy, hogy a funkcióbillentyűk mintha más bufferben lennének?
Szerintem a funkcióbillentyűk is ugyanabban a bufferben vannak, csak a billentyűt jegyzi meg a gép, utána ontja magából a szöveget, amit belőttünk a SET FKEY után, vagy ami alapból benne van.
Title: Re: EXOS
Post by: Zozosoft on 2015.February.19. 18:33:43
azt észrevettétek amúgy, hogy a funkcióbillentyűk mintha más bufferben lennének?
Nincsenek pufferben, az eltárolt funkcióbillentyű szövegre mutatót teszi el ilyenkor, és hogy hány karakter van ott, és aztán ez alapján adagolja a karaktereket.
De ugyanezen alapon lehetne több karakter tárolós puffert belerakni, csak hely kéne a puffernek. Mondjuk egy módosított BRD-be bele lehetne rakni, az amúgy is foglal plusz RAM-ot.
Title: Re: EXOS
Post by: endi on 2015.February.19. 18:59:25
Nincsenek pufferben, az eltárolt funkcióbillentyű szövegre mutatót teszi el ilyenkor, és hogy hány karakter van ott, és aztán ez alapján adagolja a karaktereket.
De ugyanezen alapon lehetne több karakter tárolós puffert belerakni, csak hely kéne a puffernek. Mondjuk egy módosított BRD-be bele lehetne rakni, az amúgy is foglal plusz RAM-ot.

aha tényleg
Title: Re: EXOS
Post by: Povi on 2015.February.19. 22:46:58
létezik valahol olyan oldal a neten, ahol fönt vannak az ep128 default karakterkészlete, 8x9-es grid-del, és a kóddal (valahogy úgy, ahogy a demo kazettán volt a TEIL_3-ban)?
Title: Re: EXOS
Post by: Zozosoft on 2015.February.19. 22:50:55
létezik valahol olyan oldal a neten, ahol fönt vannak az ep128 default karakterkészlete, 8x9-es grid-del, és a kóddal (valahogy úgy, ahogy a demo kazettán volt a TEIL_3-ban)?
Ezek nem jók? (http://www.ep128.hu/Ep_Util/Brd.htm)
Title: Re: EXOS
Post by: Povi on 2015.February.19. 22:54:24
nem, én olyasmire gondoltam, hogy ami kiírja azt is, hogy pl. SPACE=32,0,0,0,0,0,0,0,0,0
meg egy ábra
Title: Re: EXOS
Post by: szipucsu on 2015.February.19. 23:41:42
nem, én olyasmire gondoltam, hogy ami kiírja azt is, hogy pl. SPACE=32,0,0,0,0,0,0,0,0,0
meg egy ábra
Könnyen lehet ilyen programot írni, az a demokazettás program jó kiindulási alap.
De aki ért hozzá, szerintem pillanatok alatt megoldja az emulátorból is Lua scripttel.
Title: Re: EXOS
Post by: Z80System on 2015.October.01. 20:33:56
Zozo, a click hang hangerején állítani nem lehetne ?

Továbbra is fenntartom, hogy az átlag játékzenékhez, játékhangokhoz képest a click hang relatíve halk.

És főleg ejszaka, mikor halkan tolom (most hagyjuk a fejhallgatós verziót) alig hallatszik,
ha meg beállítom a click hangra, akkor ha elindítok valamit az túl hangos.

Nem tudod elmondani hogy hol van a click hang, és mit kell átállítani hozzá ?
Ésetleg berakni az SD cartridge ROM -ba (csak a hangadó rutint), hogy könnyen változtatgathassa bárki (mivel azt tudjuk ugye írni az EP -ről) ...
Title: Re: EXOS
Post by: szipucsu on 2015.October.02. 20:51:32
Nem tudod elmondani hogy hol van a click hang, és mit kell átállítani hozzá ?
Bár engem nem Zozónak hívnak, de itt van (https://enterpriseforever.com/sound/zeneprogramozas/msg30758/#msg30758). Viszont nem tudom, mit kell állítani hozzá. Aki ért hozzá, át is írhatja más hangra, pl. mélyebbre.
Title: Re: EXOS
Post by: Zozosoft on 2015.October.02. 21:01:23
Bár engem nem Zozónak hívnak, de itt van (https://enterpriseforever.com/sound/zeneprogramozas/msg30758/#msg30758).
És ebből is látszik, hogy max hangerő.
Title: Re: EXOS
Post by: Z80System on 2015.October.02. 21:17:39
De hogy lehet az ? Akkor miért olyan halk ? Hát bármelyik játék vagy demó simán ledudálja ...

Túl gyenge kitöltési tényező, vagy mi ?
Title: Re: EXOS
Post by: Zozosoft on 2015.October.02. 22:17:33
Nekem hangos, sok játéknál sokkal hangosabb (amik változatlanul használják a Spectrumos értékeket).
Nem lehet, hogy valami okos hangszóród van, ami kiszűri mint zajt?
Title: Re: EXOS
Post by: Z80System on 2015.October.02. 22:26:27
Már próbáltam többféle hangszóróval, erősítővel, sztm egyértelműen halkabb mindennél.
Title: Re: EXOS
Post by: ergoGnomik on 2015.October.03. 00:34:30
Csak így a partvonalról és félve kérdezem: nem lehet hogy azért van, mert a zenék több csatornát használnak a billentyűhang meg csak egyet?
Title: Re: EXOS
Post by: endi on 2015.October.03. 10:11:32
hangmagasságtól is függ a hangerő érzet.
pl ep kis hangszóróin a középmagas hangok a leghangosabbak, aztán a magasak, és a leghalkabbak a mélyek.
na meg a hullámformától is. ep esetén ügye a négyszögjel, aminél megint csak a mély a "leghalkabb"
meg valamennyire még szubjektív is ez

amúgy én emlékszem olyan gépre amin halk volt a click, meg olyanra is amin hangosabb, természetesen a többi ep hanghoz viszonytíva. lehet hogy másféle hangszóró volt benne, vagy valami más oka volt, pl a hangszóró nem volt olyan jól odaragasztva a házhoz?
Title: Re: EXOS
Post by: szipucsu on 2015.October.03. 14:36:22
És ebből is látszik, hogy max hangerő.
Viszont pl. mélyebbre lehet állítani, hátha az hangosabb(nak hallatszik). Már amennyire sejtem.
Volt valami utasítás, ami lelassította a gépet kb. tized sebességre (talán a SET 0,valamennyi?), és a click is mélyebb, öblösebb lett.
Title: Re: EXOS
Post by: endi on 2015.October.03. 18:05:38
van ez a dolog EP-n, ami ha jól tudom egyedülálló, hogy a kurzormozgató gombokkal ferdén is lehet mozgatni a kurzort ha kettő gombot egyszerre nyomunk
nem láttam ilyet még más gépen
és ki is próbáltam, ha kiiratjuk a lenyomott gomb kódját, kurzor gombok esetén felváltva adja egyiket és másikat :)
persze valszeg annak idején ez azért nem tűnt fel, mert nem volt összehasonlítási alapom
pedig milyen egyszerű, de jó ötlet, más gépen is megcsinálhatták volna







 
Title: Re: EXOS
Post by: endi on 2015.October.16. 23:56:13
egy újabb marha jó dolgot vettem észre. annak idején valszeg ez természetes volt nekünk ep-n, aztán pc-n meg elfelejtettük milyen jól is kitalálták ezeket.
szóval ha nyomva tartunk egy gombot, majd gyorsan egy másikat, a key delay nem történik meg. ez kurzor mozgatásnál nagyon hasznos pl.

más gépen nem láttam ilyet...
Title: Re: EXOS
Post by: endi on 2015.October.18. 13:03:33
egy érdekes dolog: van egy sor, aminek az elejére állunk a kurzorral és a del-el elkezdjük törölni. nyomva tartjuk a del-t. ilyenkor az alapgépen nem frissítődik a sor, gondolom a sebesség miatt. csak amikor elengedjük akkor frissül.
na most nagyobb z80 frekin meg frissül rendesen! tök jó
Title: Re: EXOS
Post by: szipucsu on 2015.October.18. 13:51:28
egy érdekes dolog: van egy sor, aminek az elejére állunk a kurzorral és a del-el elkezdjük törölni. nyomva tartjuk a del-t. ilyenkor az alapgépen nem frissítődik a sor, gondolom a sebesség miatt. csak amikor elengedjük akkor frissül.
Igen, ez nekem többször zavaró is volt. Nem tudni, meddig kell nyomva tartani a gombot. Nem tudom, más gépeken ez hogyan van. Gondolom, nem így.
Az ERASE gomb is hasonlóan működik, de ott legalább látni, hol van a kurzor, meddig kerül törlésre a szöveg.
Kíváncsi vagyok, szoftveresen ki lehetne-e javítani ezt a hibát az alapgépeken.

Amúgy az önmagában kiadott LOOK-nak sem volna szabad fagyasztania, nem? Not understood-ot kéne kiírnia. A paraméterek nélküli poke, set, out ezt írja ki. Míg pl. a paraméterek nélküli PLOT és SOUND csinál valamit. Ezt a hibát mi okozza? Lehetne javítani? Vagy eredetileg terveztek valamit a gép készítői a paraméterek nélküli LOOK hatásának, csak nem csinálták meg?

Az is fura, hogy a CONTINUE hibát okoz reset után, vagy az "ok" felirat enterezésére. Összegabalyodik a memória. Ezt vajon lehetne javítani? Mit csinál az az "ok"? Mert ezek szerint nem teljesen egyenértékű a REM-mel vagy a ! jellel.
Title: Re: EXOS
Post by: endi on 2015.October.18. 14:03:29
hát bugok vannak a rendszerben, semmi se tökéletes :)

a looknak lenne értelme paraméter nélkül, mert akkor a sugárpozíció helyén nézné a színt (sugárpozíció az a pont ahova leguljára rajzoltunk, illetve úgy is lehet hogy nem látszik a rajzolásunk, ha vessző van a plot végén pl)
Title: Re: EXOS
Post by: endi on 2015.October.18. 15:34:12
ah és még egy: külön lehet lockolni a caps-t, shift-et, alt-ot :)
Title: Re: EXOS
Post by: endi on 2015.October.19. 21:02:10
bár ez hw is, meleg reset se volt sok gépen annak idején!
Title: Re: EXOS
Post by: endi on 2015.November.15. 16:48:00
érdekes jelenség, lestoppoltam a gracha editort és nem az egész képernyőt frissítette az exos, sőt, ahol megmaradt az általam beállított mód, ott még ismétlődik is az alatta lévő

mellékeltem a snapshotot is, lestoppolva ez lesz az eredmény
Title: Re: EXOS
Post by: szipucsu on 2015.November.15. 18:15:03
mellékeltem a snapshotot is, lestoppolva ez lesz az eredmény
Ezt jól ki lehetne használni, pl. olyan játékban, ahol a föld alatt kell bóklászni, ahol sötét van, a föld felett pedig süt a Nap.
Title: Re: EXOS
Post by: lgb on 2015.November.28. 21:14:38
Lehet csak nekem uj, sot majdnem biztos :) Most szoba kerult ez a doksi a verseny kapcsan:

http://www.ep128.hu/Ep_Konyv/Converting_Spectrum_Programs.pdf

Nezem a legveget, a peldaprogramot. Itt ugye egy 5-os fejlecu cuccos van, minden vilagos. Ami nekem ujdonsag itt az a legvege: "EXOS end-of-file module header".

Ez miert kell? En soha nem teszek ilyesmit a vegere programjaimnak, es megis mukodnek :) Illetve, ha ilyet lehet tenni a vegere, akkor lehetne mas is? Pl mi van, ha ott az end-of-file header helyett pl egy masik 5-os fejlecet rakok (es persze moge a kerdeses programot is), akkor mi tortenik? Gondolom az EXOS ha betolti az ember a programot az elsot futtatja, akkor mi ertelme van mast odatenni moge? Ha meg nincs ertelme, akkor miert kell az end-of-file header?

Most foleg a type-5 fejlec kapcsan kerdem, van olyan tipus, ahol ertelmesebb lenne, csak pont itt nem ertem, miert jo ez.
Title: Re: EXOS
Post by: Zozosoft on 2015.November.28. 21:31:01
5-ös fejlécűnél semmi értelme.
Title: Re: EXOS
Post by: lgb on 2015.November.28. 21:41:23
5-ös fejlécűnél semmi értelme.

Koszi, nekem is ez volt megerzesem, csak azert volt gyanus, mert ott odapakoltak ...

Amugy pedig az nem lenne rossz, hogy 5-os fejlec, a program, aztan egy masik fejlec es utana adat. Igy a program "egyben" lenne az adataival, sajat magat megnyitna, es onnan venne az adatait is. Igy nem kene egy file kulon pl. Nem tudom, hogy az mukodne-e, ha a programom vegere rakok egy 5-os fejlecet (igazabol mas is lehetne, mert odaig exos "nem jut el" betoltesnel akkor, csak azert kell, mert siman szerintem adatot nem irhatok a programom moge, mert akkor nem fog stimmelni a file hossz mezo az "elso" 5-os fejlecben), es utana pakolom az adataimat.
Title: Re: EXOS
Post by: Zozosoft on 2015.November.28. 21:47:06
Ha ilyen kreténséget akarsz, nézd meg a Zozosoft által elkövetett Lyra II-t :ds_icon_cheesygrin:
Title: Re: EXOS
Post by: Povi on 2015.December.05. 17:20:38
Nezem a legveget, a peldaprogramot. Itt ugye egy 5-os fejlecu cuccos van, minden vilagos. Ami nekem ujdonsag itt az a legvege: "EXOS end-of-file module header".

Ha jól emlékszem, az ASMON is úgy csinálta az 5-ös fejlécű programot, hogy a végére odarakta ezt az EOF header-t automatikusan, de pl. a HEASS már nem.

Rémlik, hogy egyszer csináltam olyat, hogy valamilyen exos fejléccel rendelkező képfájl formátumot hozzáfűztem egy BASIC progi után, így a képet is betöltötte, de már nem emlékszem a részletekre...
Title: Re: EXOS
Post by: Zozosoft on 2015.December.05. 17:29:37
Rémlik, hogy egyszer csináltam olyat, hogy valamilyen exos fejléccel rendelkező képfájl formátumot hozzáfűztem egy BASIC progi után, így a képet is betöltötte, de már nem emlékszem a részletekre...
Olyan fájlokat amik nem veszik át végleg a vezérlést, simán össze lehet fűzni.
Title: Re: EXOS
Post by: endi on 2015.December.05. 17:47:01
micsoda szép lehetőség ez a vírusoknak :)

amúgy volt egy vírus ep-n állítólag, erről tud valaki?
Title: Re: EXOS
Post by: lgb on 2015.December.05. 18:27:00
micsoda szép lehetőség ez a vírusoknak :)

amúgy volt egy vírus ep-n állítólag, erről tud valaki?

Tenyleg? :) Amugy C64-re pl volt ...
Title: Re: EXOS
Post by: Povi on 2015.December.05. 18:37:20
micsoda szép lehetőség ez a vírusoknak :)

amúgy volt egy vírus ep-n állítólag, erről tud valaki?

az ENTERPRESS-ben volt egy cikk egyszer, hogy valaki kapott valami vírust IS-DOS alatt, a vírusirtó forráskódját gyorsan le is közölte az újság :-)
Title: Re: EXOS
Post by: endi on 2015.December.05. 18:44:34
Tenyleg? :) Amugy C64-re pl volt ...

sajnos semmire se emlékszem, csak arra hogy amikor floppym lett akkor mondta valaki hogy van egy vírus ep-re ami értelemszerűen floppys rendszeren tud terjedni
Title: Re: EXOS
Post by: lgb on 2015.December.05. 19:31:21
az ENTERPRESS-ben volt egy cikk egyszer, hogy valaki kapott valami vírust IS-DOS alatt, a vírusirtó forráskódját gyorsan le is közölte az újság :-)

Akkor az vmi CP/M virus volt? :) Vagy EP specifikus volt tenyleg?
Title: Re: EXOS
Post by: Zozosoft on 2015.December.05. 20:19:13
Vagy kamu :-)
Title: Re: EXOS
Post by: szipucsu on 2015.December.05. 20:22:26
A vírusirtó forráskódjából ítélve lehetett benne valami?
Title: Re: EXOS
Post by: Povi on 2015.December.06. 17:14:26
Akkor az vmi CP/M virus volt? :) Vagy EP specifikus volt tenyleg?

Na, az 1991/május-júniusi szám ír róla:
"Az egész úgy kezdődött, hogy egy saját programunk két használat között "meghízott", Pontosabban, a hossza megnőtt 512 bájttal. Mivel PC-s barátunk szerint ez a vírusfertőzöttség tipikus jele, elhatároztuk, hogy elkapjuk a "hívatlan vendéget". Készítettünk egy 10 bájtos csalifájlt, majd elindítottuk a fertőzött programot. A vírus rögtön lecsapott az áldozatra, és megfertőzte.
Ezután a csalit ASMON-nal megvizsgáltuk. Az eredmény a következő volt: a vírus lecseréli a program első 3 bájtját egy ugróutasításra, és hozzáláncolja magát a fájl végéhez. Fertőzéshez szabvány IS-DOS utasításokat használ, és kifejezetten vadászik a .COM kiterjesztésű állományokra. A kód végén megtaláltuk a VOL (C)_BRAIN utasítást, ebből feltételezhető, hogy a lemezcímkét írja majd felül, ha aktivizálódik."
Title: Re: EXOS
Post by: lgb on 2015.December.06. 17:24:00
Hmmmm :) De a "szavany IS-DOS" az fura, mert az most azt jelenti, hogy _csak_ IS-DOS (specifikusan EP-re keszult) vagy ugy altalaban CP/M amivel ugye az IS-DOS is kompatibilis. Szamomra nem derul ki egyertelmuen mirol van szo.
Title: Re: EXOS
Post by: Povi on 2015.December.06. 17:34:57
valószínűleg CP/M
Title: Re: EXOS
Post by: dp304 on 2015.December.25. 22:42:47
Lehet, hogy volt már, de nem találtam meg, ezért kiderítettem, hogy az EXOS ROM-ban hogy van eltárolva az alapértelmezett karakterkészlet.

Arról több helyen volt szó, hogy a NICK chip hogy jeleníti meg az adott helyen levő, RAM-beli fontot. A ROM-ban viszont hiába kerestem ilyen formában, mert teljesen máshogy van benne. Tök érdekes, nekem legalább is, ahogy be van tömörítve, hogy elférjen a 16K-ban egy rakás más dolog mellett! Egyrészt "pakolt" formában vannak a bitmap-ek, tehát nem a bájtok elejéhez igazítva, hanem folytonos bitfolyamként kell értelmezni. Másrészt néha lespórolnak 2 sort az aljáról és/vagy a tetejéről és/vagy 1 oszlopot a jobb széléről, ha azok üresek. Harmadrészt, és ez a legérdekesebb rész, a függőleges tengelyre tükrös karaktereknek (pl. '8') gyakran csak a fele van eltárolva! Elég sok ilyen van, úgyhogy ezen is lehetett sokat spórolni. Szerintem nagyon elmés.

Ha érdekel titeket, leírom pontosan, hogy néz ez ki.
Kicsit off kérdés: ha ezt a karakterkészletet szeretném felhasználni (például egy saját fejlesztésű PC játékban), annak szerintetek van valamilyen jogi vagy egyéb akadálya?
Title: Re: EXOS
Post by: lgb on 2015.December.25. 23:19:20
Kicsit off kérdés: ha ezt a karakterkészletet szeretném felhasználni (például egy saját fejlesztésű PC játékban), annak szerintetek van valamilyen jogi vagy egyéb akadálya?

Kerdes, hogy erdemes-e, marmint tarolni sajat programodban. Ha csak hasznalod, ami EP-ben ugy is benne van, akkor nem hinnem, hogy gond. En legalabbis tuti nem tarolnam le (tomoritve se) sajat dolgaimban, mert minek: ott van a gepben ugyis, ha kell :) Ha esetleg kicsit mas formaban, meg mindig talan rovidebb betoltes utan atkalapalni, ahogy nekem kell. Bar mondjuk engem kevesbe erdekelne, hogy van ROM-ban, egyszerubb kinyerni, ha mar RAM-ba "kibontja" :)
Title: Re: EXOS
Post by: dp304 on 2015.December.26. 00:49:25
Enterprise-on kívüli felhasználásra gondoltam, pl. egy windows-os játékba beleraknám ezt a bitmap fontot, hogy Enterprise-szal nem rendelkezők is élvezhessék :)
Az, hogy hogy nyerem ki, ebből a szempontból lényegtelen. A ROM-beli tömörítést főleg saját érdeklődés miatt fejtettem meg, na meg azért, hogy biztos legyek benne, hogy a kinyert font "gyári" Enterprise-os, és szoftveresen nincs módosítva (pl. a BASIC induláskor nem definiálja át kicsit)
Title: Re: EXOS
Post by: lgb on 2015.December.26. 01:19:47
Enterprise-on kívüli felhasználásra gondoltam, pl. egy windows-os játékba beleraknám ezt a bitmap fontot, hogy Enterprise-szal nem rendelkezők is élvezhessék :)

Jaaaa .... Az mas. Hat ez erdekes kerdes ebben az esetben ...

Quote
Az, hogy hogy nyerem ki, ebből a szempontból lényegtelen. A ROM-beli tömörítést főleg saját érdeklődés miatt fejtettem meg, na meg azért, hogy biztos legyek benne, hogy a kinyert font "gyári" Enterprise-os, és szoftveresen nincs módosítva (pl. a BASIC induláskor nem definiálja át kicsit)

Azt ugy is elerheted (elvileg - ha nem tevedek), hogy nyomsz egy font reset-et a display csatornara a megnyitasa utan.

http://ep.homeserver.hu/Dokumentacio/Konyvek/EXOS_2.1_technikal_information/exos/video/Ch7.html#FONT

"7.3 Resetting the Character Font"
Title: Re: EXOS
Post by: dp304 on 2015.December.26. 01:50:12
Azt ugy is elerheted (elvileg - ha nem tevedek), hogy nyomsz egy font reset-et a display csatornara a megnyitasa utan.

http://ep.homeserver.hu/Dokumentacio/Konyvek/EXOS_2.1_technikal_information/exos/video/Ch7.html#FONT

"7.3 Resetting the Character Font"

Köszi, most már mindegy :)
Title: Re: EXOS
Post by: Zozosoft on 2015.December.26. 09:41:58
Írd bele a programodba, hogy a karakterkészlet eredetije: 1985, Intelligent Software Ltd.
Title: Re: EXOS
Post by: Zozosoft on 2015.December.27. 22:07:13
Lehet, hogy volt már, de nem találtam meg, ezért kiderítettem, hogy az EXOS ROM-ban hogy van eltárolva az alapértelmezett karakterkészlet.
Egész pontosan így :-)
Title: Re: EXOS
Post by: IstvanV on 2015.December.28. 11:12:50
Majdnem pontosan akkora ilyen formátumban, mint epcompress -m3 tömörítéssel. :)

EXOS formátum: 630 byte (E5D2h-E847h)
epcompress -raw -m3: 625 byte (621 fejléc nélkül)
EXOS kicsomagoló rutinok: 110 byte
decompress_m3.s: 138 byte (+6 byte a forrás és cél címek beállítása hívás előtt)
decompress_m3.s egyszerűsítve, fejléc nélküli formátummal, és méretre optimalizálva: 107 byte (+10 byte hívás előtt)
Title: Re: EXOS
Post by: dp304 on 2015.December.29. 19:53:18
Egész pontosan így :-)

Hú, ilyen warezokat hogy tudtok szerezni? :)
Amúgy asszem a 2.1-es EXOS-ban már kicsit másképp van, 3 helyett 4 formátumbittel, mert a jobb szélső oszlop is lehet üres.
Title: Re: EXOS
Post by: endi on 2016.February.22. 12:06:01
van ez a dolog EP-n, ami ha jól tudom egyedülálló, hogy a kurzormozgató gombokkal ferdén is lehet mozgatni a kurzort ha kettő gombot egyszerre nyomunk
nem láttam ilyet még más gépen
és ki is próbáltam, ha kiiratjuk a lenyomott gomb kódját, kurzor gombok esetén felváltva adja egyiket és másikat :)
persze valszeg annak idején ez azért nem tűnt fel, mert nem volt összehasonlítási alapom
pedig milyen egyszerű, de jó ötlet, más gépen is megcsinálhatták volna

ezzel kapcsolatban még egy észrevétel: ha egyszerre nyomjuk a jobbra és balra (vagy a fel és le) gombokat, ide-oda ugrál a kurzor :)
ezt ügyebár csak emun tudjuk megtenni, vagy az EP szétszedett állapotában :)
Title: Re: EXOS
Post by: Zozosoft on 2016.February.22. 12:11:25
ezt ügyebár csak emun tudjuk megtenni, vagy az EP szétszedett állapotában :)
Vagy a Model 911-en :-) (http://ep128.hu/Album/Pic/Ep_PW360_1.jpg)
Title: Re: EXOS
Post by: endi on 2016.February.22. 13:15:01
Vagy a Model 911-en :-) (http://ep128.hu/Album/Pic/Ep_PW360_1.jpg)

hajaj. ez hivatalos volt? :D
Title: Re: EXOS
Post by: Zozosoft on 2016.February.22. 13:23:27
hajaj. ez hivatalos volt? :D
Igen, bár csak prototípusig (http://ep128.hu/Ep_Hardware/Ep_Model_911.htm) jutottak, aztán csődbe ment a cég.
Title: Re: EXOS
Post by: endi on 2016.February.22. 18:00:27
hát elég ronda :)

más: kár, hogy exossal nem lehet olyat hogy gomb lenyomást és elengedést külön érzékelni. a zongorás programomhoz nem ártana :)

de itt egy trükk, kíváncsi vagyok ki fejti meg kilistázás nélkül :)
Title: Re: EXOS
Post by: szipucsu on 2016.February.24. 19:43:31
de itt egy trükk, kíváncsi vagyok ki fejti meg kilistázás nélkül :)
Valamelyik újságban volt egyszer hasonló. A delay vagy a rate-t maximumra kell állítani, és amíg le van nyomva, addig folyamatosan érzékeli.
Title: Re: EXOS
Post by: endi on 2016.February.24. 19:57:55
Valamelyik újságban volt egyszer hasonló. A delay vagy a rate-t maximumra kell állítani, és amíg le van nyomva, addig folyamatosan érzékeli.

:)
Title: Re: EXOS
Post by: lgb on 2016.March.05. 14:45:24
Lenne tobb EXOS-hoz kozeli lazan osszefuggo kerdesem ... Eloszor is: van-e mod valahogy atlepni automatice az Enterprise logos kepernyot, hogy ott ne varjon egy billentyu lenyomasara (EXOS ROM-janak modositas nem jatszik, valami "normalis" megoldas). Pl ugy gondoltam, hogy van egy sajat ROM (EXOS_ROM szignaturaval) es azzal elintezni? Tovabba, sose volt vilagos nekem, hogy zajlik, ha egy ROM at akarja venni a vezerlest? Marmint, hogy o legyen a default ami utana fut, mint pl az IS-BASIC eseten, vagy ha az nincs akkor a WP, mitol fugg ez, hogy "kie" lesz a gep, illetve van-e mod arra, hogy atadja a vezerlest az igy "fonokke" valt ROM, hogy neki koszi mar eleg volt, johet a kovetkezo, vagy csak specifikusan lehet, hogy pl meghivom a BASIC -et, de mi van ha nem tudom amugy mi van a gepben, van-e pl elerheto BASIC (OK, hogy altalaban van, de most a pelda kedveert). Egy ilyen ROM kepes EXOS-szal betoltettni valamit aztan (marmint pl disk-rol), hogy az fusson? Vagy ilyet nem tehetek meg? Koszi!!
Title: Re: EXOS
Post by: Zozosoft on 2016.March.05. 16:52:24
1) BFEFh    CRDISP_FLAG, amit 8-as akciókód : inicializálás esetén kell kezelni
2) 1-es akciókód : hidegindítás
3) Ezt teszi az EXDOS is az EXDOS.INI-vel (mondjuk legegyszerübb ide berakni egy LOAD parancsot)
Title: Re: EXOS
Post by: lgb on 2016.March.05. 17:00:15
1) BFEFh CRDISP_FLAG, amit 8-as akciókód : inicializálás esetén kell kezelni
2) 1-es akciókód : hidegindítás

Koszi!

Quote
3) Ezt teszi az EXDOS is az EXDOS.INI-vel (mondjuk legegyszerübb ide berakni egy LOAD parancsot)

Ok, de lehet nincs EXDOS :) Meg eleve nem egy fix ertek, hanem a ROM hatarozza meg. Bar akkor irhatna egy EXDOS.INI-t, de azert ez egy eleg bonyolult, foleg, mivel lehet mar ott EXDOS.INI amihez amugy nem nyulnek, mert ez csak egy ideiglenes pl egy boot idejere szolo muvelet, meg amugy is csak file I/O ezert, es mint mondtam lehet EXDOS sincs a rendszerben akar. Problemas vagyok :) Bar, gondolom, ha EXDOS be tud tolteni vmit, en is tudok hasonlot csinalni direktben :)
Title: Re: EXOS
Post by: endi on 2016.March.09. 20:40:14
lehetne olyat csinálni hogy beleírunk az exos lpt-be pár sort hogy ott is hang megszakítás generálódjon?
mármint hogy a sound: eszköz meghívódjon ott is :)
Title: Re: EXOS
Post by: Zozosoft on 2016.March.09. 21:08:32
lehetne olyat csinálni hogy beleírunk az exos lpt-be pár sort hogy ott is hang megszakítás generálódjon?
mármint hogy a sound: eszköz meghívódjon ott is :)
A SOUND az a DAVE hangmegszakítással megy.
Title: Re: EXOS
Post by: endi on 2016.March.09. 21:19:57
A SOUND az a DAVE hangmegszakítással megy.

és akkor dave-vel "sűríteni"?
Title: Re: EXOS
Post by: Zozosoft on 2016.March.10. 13:06:12
és akkor dave-vel "sűríteni"?
Nem lehet, mert fixen benne van a Dave-ben. Ha eltérő sebességű megszakítást akarsz, ahhoz fel kell használni egy hangcsatornát. Vagy még 1kHz lehetséges hardverből.
Title: Re: EXOS
Post by: IstvanV on 2016.March.10. 13:15:55
A SOUND az a DAVE hangmegszakítással megy.

Nem a video megszakítást használja az is ? Én úgy látom, az EXOS csak az INT1-et és az 1 Hz-es megszakítást engedélyezi, és például az LPT-ben egy második video megszakítást beépítve a BASIC PING parancsa hallhatóan gyorsabb lesz.
Title: Re: EXOS
Post by: endi on 2016.March.10. 13:23:18
Nem a video megszakítást használja az is ? Én úgy látom, az EXOS csak az INT1-et és az 1 Hz-es megszakítást engedélyezi, és például az LPT-ben egy második video megszakítást beépítve a BASIC PING parancsa hallhatóan gyorsabb lesz.

na! ez király, nem töltenél fel egy snapshotot? :)
és a tremolós envelope-n meg hasonlókon akarom kipróbálni (máson nincs is értelme amúgy)
Title: Re: EXOS
Post by: IstvanV on 2016.March.10. 13:29:59
A debuggerben >B9B1 88, vagy BASIC-ben POKE 47537, 136 növeli 100 Hz-re a video megszakítás frekvenciáját (az eredeti érték ezen a címen 8 normál szöveges módban, egyébként célszerűbb PEEK függvénnyel olvasni és ahhoz OR-olni 128-at). A VIDEO: vagy EDITOR: eszköz azonban gyakran visszaállítja 8-ra. :)
Title: Re: EXOS
Post by: Zozosoft on 2016.March.10. 13:36:42
Nem a video megszakítást használja az is ?
Érdekes... ez bug vagy feature? :-)
Hiszen külön van a 0-ás EXOS változóban is hang megszakítás engedélyezése, ez minek, ha nem használja?
Title: Re: EXOS
Post by: lgb on 2016.March.10. 14:17:57
Btw, EDITOR ... Nem lehetne vmi "EXOS patch" :) hogy turbo EP-n ne legyen olyan gyors a kurzor? ;) Tudom, igy megvan a feeling, hogy fuu de gyors a gep :) Viszont egy ido utan idegesito, legalabbis szamomra.
Title: Re: EXOS
Post by: szipucsu on 2016.March.10. 22:11:48
Btw, EDITOR ... Nem lehetne vmi "EXOS patch" :) hogy turbo EP-n ne legyen olyan gyors a kurzor? ;)
SET CURSOR SPEED x ? :D
Title: Re: EXOS
Post by: lgb on 2016.March.10. 22:22:53
SET CURSOR SPEED x ? :D

Oke, de azt be kell irni :D
Title: Re: EXOS
Post by: endi on 2016.March.10. 23:01:05
én már egy ideje nem az emu speed-et állítom hanem a z80 freki van maxon, így kb minden jó sebességű ami időzített
Title: Re: EXOS
Post by: lgb on 2016.April.05. 13:53:24
Van az hiba kod megmagyarzasa cimu EXOS lehetoseg. Ennek kapcsan jutott eszembe: ezt "cache-eli" barmi? Marmint arra gondolok, hogy ha visszaadok egy cimet, hogy itt a jelentese az adott hibakodnak tessek, akkor meddig lehet szamitani, hogy azt valaki onnan elolvassa? Ez ugye egy ROM eseten hulye kerdes, mert a ROM az ROM :) De ugye a XEP ROM az Xep128-ban pont ugy van hasznalva, hogy kulonbozo optimalizaios, egyszerusitos es helytakarekossagi okokbol az emulator modositja a ROM-ot idonkent, es nem szeretnek fixen ott tarolni egy hibajegyzeket: azaz, ha tudom, hogy az "en hibakodom" akkor az emulator a ROM teruletere injektalja a jelenteset szepen, de legkozelebb egy masik hibakodra mar mas lesz ott esetleg. Okozhat ez problemat? Igazabol, ez felmerulhet mint kerdes normal EP eseten is, ha pl vmi betotlheto rendszerbovitovel van dolga az embernek, mert az nem ROM, tehat elvileg at tudja irni sajat magaban a cucc ...

Ja, az persze vilagos, hogy nem tudhatom, hogy 1 microsec vagy mennyi ideig kell :) Ugy ertettem, ha az utan van vmi hivas ami megint eredmenyezhet hibat, akkor az "elozot" mar remelhetoleg senki nem akarja tudni, hogy mit jelentett ...
Title: Re: EXOS
Post by: Zozosoft on 2016.April.06. 14:50:04
Az EXOS átmásolja a ROM által megadott hibaüzenetet a felhasználói program által megadott pufferbe, utána el van felejtve.
Title: Re: EXOS
Post by: lgb on 2016.April.10. 16:31:03
Koszi! Error code kezelesben tovabbi anomaliat velek felvedezni. Azt irjak, hogy:

http://ep.homeserver.hu/Dokumentacio/Konyvek/EXOS_2.1_technikal_information/exos/kernel/Ch9.html#9.2.5

"To avoid conflict with the built in error codes, and any new ones in future versions or extensions, extension ROMs should only use error codes below 7Fh for errors which they generate themselves."

Ez azonban szerintem hibas megallapitas, mivel ami kettes komplemens alapjan negativ, csak az szamit error code-nak, nem? O meg a 7F alattit ajanlja, ami nem lesz error code, max warning. Es tenyleg, ki is probaltam: ha pl 7E error code-ot adok vissza, akkor vmi ismeretlen EXOS hiba tipus irodik ki, es a ROM-om 5-os funkciohivasaval le sem kerdezodik, hogy mi az error code jelentese az EXOS altal. Ha mondjuk CF-t hasznalok akkor azonnal jo.

Szoval ez egy hiba a leirasban? Mert miert ajnalja, hogy 7F alatti kodot hasznaljanak user ROM-ok, ha az nem is error code, es mint error ugysem fog mukodni?

A masik kerdesem: hogy akkor milyen kodot erdemes hasznalni ami tuti nem utkozik EXOS/EXDOS/stb szokasos hibakodokkal?
Title: Re: EXOS
Post by: Zozosoft on 2016.April.10. 17:06:13
Ez azonban szerintem hibas megallapitas, mivel ami kettes komplemens alapjan negativ, csak az szamit error code-nak, nem??
Ilyen hol van írva? Minden ami NZ az hiba :-)
Egyébként hibás a leírás, mert a 7Fh-t használja az EXOS maga...

Bruce hasonló kérdésére utána néztem:
32-36 EDCW
40-62 HEASS
65-68 HDIGI
96-103 VENUS
100 ZT
107-111 PUPIL
120-127 ENTERCOM
149-191,207 EXDOS
127,208-255 EXOS

Már eleve vannak konfliktusok :oops:
ZT átmegy majd 104-re, hogy ne legyen ütközés a Venus-szal, Entercom-ot pedig 119-126-ra kéne módosítani (elméleti kérdés, modem hw nélkül túl sokan nem fogják használni :-) )
192-206-ot meghagyjuk EXDOS következő verzióinak, Bruce pedig 50h-5fh (80-95), 80h-94h (128-148) használja EPNET-hez.
Title: Re: EXOS
Post by: lgb on 2016.April.10. 18:02:45
Ilyen hol van írva? Minden ami NZ az hiba :-)

Igen, valoban, visszatereskor ha A nem 0 (illetve Z flag beallitva ennek megfeleloen, amirol az EXOS gondkoskodik, hogy nekunk ne kelljen kulon). Amde, mint kiderult, csak az az "igazi" hiba, ahol a 7. bit beallitva az error code-ban (A), a tobbi warning! Szoval hibanak hiba, de pl ha sajat ROM-ban mondjuk hexa 70-et adok vissza, akkor az EXOS *NEM* hivja meg a ROM "explain error" (action code 5)-ot, azt csak hiba eseten teszi! Marmint onnan tudom, hogy kiprobaltam! :) Szoval oke, hogy NZ stb, de van kulonleges jelentese a hibakod 7. (legfelso) bitjenek is, amit ugy hiv a leiras sok helyen, "hogy ha negativ az error kod". Ezt gondolom ugy erti, hogy kettes komplemens szerint negativ, azaz legfelso bit beallitva.

De amugy, hogy hol irja? Konkretan itt:

http://ep.homeserver.hu/Dokumentacio/Konyvek/EXOS_2.1_technikal_information/exos/constants/Ch3.html

Itt: "All EXOS calls return a status code which is zero to indicate success and negative to indicate that an error occured. Positive non­zero codes are warning codes and are not widely used by EXOS, indeed there is only one warning code produced by EXOS and it is included here."

Quote
Egyébként hibás a leírás, mert a 7Fh-t használja az EXOS maga...

igen, ez lehet akkor az az "only one", tehat az egyetlen nem error, hanem warning, amit EXOS hasznal. Ezek szerint ... A fenti emlitett linken is warning code-nak hivjak. Es valoban, ha belegondolsz, ez nem error ... Hiszen _valamit_ sikerult allokalni, csak nem teljes szegemns, hanem csak shared-et :) Tehat klasszikus ertelemben nem sikertelen a muvelet, hogy allokalni akartal egy szegmenst :) Vagy hat, felfogas kerdese.

Igazabol a gondom tenyleg csak az, hogy ugy tunik, az EXOS a "warning" kodokra (tehat ahol a hibakod 0x80 alatt van), nem fogja meghivni a ROM-ok "explain error code" (action code 5) hivasat ... A Xep128-ba bele is irtam, hogy irjon ki minden hivast akciokoddal stb, EXOS meg sem hivja ... Csak ha 0x80 vagy felette van, azaz ha "negativ" az error code.

Magyaran, igazabol az oke, hogy 0 az jo, barmi mas az error (es a Z flag ez alapjan persze). A problema max ott jon elo, hogy EXOS maskepp kezeli a 0x80 alatti es folotti error kodokat, es ez pl konkretan baj, ha sajat hibauzeneteket akarsz visszaadni az explain error code segitsegevel, akkor szamit az is ... Ha ez nem fontos, akkor persze mindegy, akkor zero v nem zero eleg elvi szinten a donteshez!
Title: Re: EXOS
Post by: Zozosoft on 2016.April.10. 18:14:51
Csak azt nem értem, hogyan hozod elő a problémát, amikor évtizedek óta 127 alatti kódokat használ minden nem IS program, és működik :-)
Egyébként erősen azt gondolom, hogy fejlesztés közben csinálták az EXOS leírást, és idővel nem frissítették a régebbi részeket, lásd pl. hogy az általuk használt 127-es kódot elfelejtettek az ajánlásban.
Title: Re: EXOS
Post by: lgb on 2016.April.10. 18:57:58
Csak azt nem értem, hogyan hozod elő a problémát, amikor évtizedek óta 127 alatti kódokat használ minden nem IS program, és működik :-)

Mit ertesz mukodes alatt? Mint irtam, nekem a gondom az, hogy sajat hibauzentet *szoveget* nem lehet adni. A konkret pelda ugye a FILE: implementaciom Xep128-ban. Akartam sajat hibakodot es ra sajat uzenetet, amit EXOS megjelenit. Ezert nyilvan az EXOS "sima" ROM hivas action code 5-ot lekezelem, es varom a sajat kodomat, hogy "megmagyarazzam" szovegesen. Ezt azonban az EXOS meg sem hivja, ha olyan hibakodot adok vissza ami 0x80 alatt van, csak ha felett. Ettol meg "mukodik", ha azt nezed, hogy EXOS igy is rajon, hogy nem sikerult a muvelet, mert nem zero az error code, csak sajat uzenetemet nem fogja megjeleniteni.

Amennyire tudom, EXOS az osszes lancolt ROM-ot megkerdezi egy hibakod eseten, hogy "ki tud rola". En azt is beleirtam, hogy Xep128 debug uzenetben kiir mindent, hogy milyen kodokkal hivja vki a XEP ROM-omat 5-os akcio koddal. 0x80 alatt nincs is hivas _semmi_, tehat EXOS nem is akarja tudni ... Helyette megjelenik a kovetkezo uzenet EP-n, ha pl a 0x11-es hibakodot hasznalom:

*** EXOS error type 9248.

Ha olyan hibakodot adok vissza, ami 0x80 vagy felette van, akkor nagyon helyesen ez jelenik meg pl (mert ezt az uzentet adom vissza):

*** LGB test error.

Nem hiszem, hogy en rontottam volna el barmit, mert a ket eset kozott *CSAK* az a kulonbseg, hogy a hibakod 0x80 alatt vagy felett van, semmi mas. Fontos, hogy ezt a hibat a FILE: device handler allitja elo, tehat nem sima EXOS parancs valasza ez marmint! Amugy kiprobaltam most EXOS parancs stringre. Nagyon erdekes, ott barmilyen hibakodra jo es van sajat custom hibauzenet :) Viszont egy device handler eseten ugy tunik, csak 0x80 vagy feletti error kod-ok jutnak el addig, hogy az EXOS megkerdezze megis mifele error ez, es azt irja ki pl. Jelenleg, ahogy fentebb is irtam:

Code: [Select]
:LOAD FILE:nincsilyenfile

*** EXOS error type 9248.

Lesz a kepernyon. Ha azonan pl 0xCF hiba kodot adik vissza a FILE: handleremben, akkor nagyon helyesen a hiba helyen mar az all hogy LGB test error, lasd fentebb.

Amugy pontosan ez az EXOS error type 9248 az micsoda? Foleg az a szam :)

Quote
Egyébként erősen azt gondolom, hogy fejlesztés közben csinálták az EXOS leírást, és idővel nem frissítették a régebbi részeket, lásd pl. hogy az általuk használt 127-es kódot elfelejtettek az ajánlásban.

De az erzesem szerint jogosan csak warning ... Mivel sikerutl valamit foglalni, csak nem teljes szegmenst  Irjak is, hogy a 127-es kod az hatareset, marmint a leiras is "csak" warning-nak hivja, es nem error-nak (ami az hogy SEMMIT nem lehetett foglalni). Tudom, ez mar csak filozofiai szintu "kotekedes" de ha a mar a leiras is kulon emliti hogy a warning kategoria, akkor csak van alapja ...
Title: Re: EXOS
Post by: Zozosoft on 2016.April.10. 19:15:57
Mit ertesz mukodes alatt?
Azt, hogy vannak a hibák, szöveggel.
Title: Re: EXOS
Post by: lgb on 2016.April.10. 19:29:46
Azt, hogy vannak a hibák, szöveggel.

Oke, de device-ok eseten? :) Nem EXOS parancsokra ...

Csinaltam tesztet, lasd csatolmanyt. Oke, ronda .. :) Az asm a forras, a ket ROM az az ERROR_CODE 0x90 vagy 0x7E csak az a kulonbseg, azaz az ERROR_CODE-ot atirtam a forrasban es leforditottam (sjasm 0.42c). Aztan ep128emu-ba betettem mint ROM, nehogy a Xep128 tevedjen valahol :)

Aztan IS-BASIC prompt-nal:

LOAD"XXXX:akarmitlehetideirni"

A 4db X a device-unk neve :) Probald ki a ket kulonbozo ROM-mal. Egyiknel kiirja a sajat hibat hogy "*** Kiralysag" a masiknal viszont ez jelenik meg:

*** EXOS error type 9248

Xep128-ban az is latszik, hogy meg sem hivja a ROM-ot az error szoveg lekerdezesere ha az error code 0x80 alatt van az EXOS.
Title: Re: EXOS
Post by: szipucsu on 2016.April.10. 20:14:48
http://ep.homeserver.hu/Dokumentacio/Konyvek/EXOS_2.1_technikal_information/exos/constants/Ch3.html
Arról volt szó régebben, a homeserver-es oldalt inkább felejtsük el. Az egész tartalma megvan a gafz.enterpriseforever.com -on:
http://gafz.enterpriseforever.com/Dokumentacio/Konyvek/EXOS_2.1_technikal_information/exos/constants/Ch3.html
Title: Re: EXOS
Post by: Zozosoft on 2016.April.10. 20:16:20
Arról volt szó régebben, a homeserver-es oldalt inkább felejtsük el.
Azóta szereztem hozzá jelszót, ill. az ős 8bit.hu verzióhoz is, mindhármon azonos tartalom van.
Title: Re: EXOS
Post by: Zozosoft on 2016.April.10. 20:17:40
Oke, de device-ok eseten? :)
Izgi...
Itt valamiért ezt az EXOS hibát generálja, amihez nincs szöveg az EXOS ROM-ban:
 err .NOBUF ;0F8h No ALLOCATE BUFFER call made (OPEN/CREATE)
Title: Re: EXOS
Post by: lgb on 2016.April.10. 20:27:09
Izgi...
Itt valamiért ezt az EXOS hibát generálja, amihez nincs szöveg az EXOS ROM-ban:
 err .NOBUF ;0F8h No ALLOCATE BUFFER call made (OPEN/CREATE)

Igen, ezt en is lattam. El is gondolkoztam rajta. Ugye open/create channel-nel a leiras szerint *kell* channel buffer-t allokalnia a hivonak ... En nyilvan nem teszem, abbol a felindulasbol, hogy eleve tudom, hogy ha amugy sem sikerult megnyitni a file-t, akkor minek. Az alapszitu ugye a Xep128 FILE: implementaciojanak, hogy az ED trap-pel az emulator megprobalja megnyitni. Ha a file nincs, akkor eleve visszaadnam a hibat. Azert nem az EXDOS error code-ot hogy file not found, mert ugye exdos nem tuti h van a rendszerben. meg amugy is jo egy sajat uzenet, hogy ne legyen megteveszto hogy epp ki mit keres es hol file-t :) Ha a file-t meg tudom nyitni, es ezert A-t nullara allitom majd stb, akkor tenyleg gond, ha channel buffer RAM nem lett foglalva. Amde ha amugy se lehet megnyitni, akor minek? De az, hogy 0xF8-as kodot keres, ami pont ezt jelenti, az nekem is feltunt mar eddig is ... Ez viszont tovabbra se magyarazza, miert viselkedik maskepp az EXOS *csak* annyi kulonbseg alapjan, hogy az error code 7. bitje 1 vagy 0 :) Azaz hogy "negativ-e" az error code, ahogy a leiras emliti ...  Vegulis nem nagy dolog, hasznalok majd 0x80 feletti error code-ot, amiert felhoztam az az, hogy erdekes kerdesnek tunik ez az egesz, szerintem legalabbis :)

Amit post-oltam ide tesztet az persze egy ertelmetlen dolog, mivel semmire sem jo, csak demonstralni a dolgot :) Xep128-ban amugy igy nez ki kb:

Code: ZiLOG Z80 Assembler
  1. fileio_open_channel:
  2.         TRAP    xepsym_fileio_open_channel
  3.         OR      A
  4.         RET     NZ
  5. allocate_channel_buffer:
  6.         PUSH    DE
  7.         PUSH    IX
  8.         LD      DE, 1   ; really, I have no idea why I need to allocate 1 byte, when I don't need it
  9.         EXOS    27      ; ... but it seems EXOS would expect this call on open/create or strange error occures!
  10.         POP     IX
  11.         POP     DE
  12.         RET             ; A was not saved/restored, however EXOS 27 result code should be zero on OK anyway

A "TRAP" az a megfelelo ED opcode trap lesz, aminek hatsra az emulator megprobalja megnyitni a file-t. Be is allitja A regisztert stb. Ha az nulla, akkor megy tovabb, es foglal egy byte-nyi channel buffer RAM-ot :) az hogy ez miert kell nem pontosan tudom, de anelkul nem mukodik :) A fenti kodreszlet amugy jol megy, szoval Xep128 alol mukodik a FILE: -al a betoltes (most mar nekem a mentes is btw ... de az meg nincs release-ben ...) az is jol kezelodik, hogy nem tudja maga az emu megnyitni a file-t, akarmi, stb. Az egyeduli kerdes "csak" a "szep" sajat hibajelzes kepzese. Mondjuk a fenti kodreszletben egy logikai hiba azert van: nincs kezelve az az eset, hogy az emu maga megnyitotta a file-t (marmint Linux/Windows stb szinten), amde az EXOS 27 valamiert nem sikerul (mondjuk 1 byte eseten erre kicsi a valoszinuseg, dehat ...), akkor host OS szinten nyitva marad a file a hiba ellenere, es a Xep128 altal belsoleg kezelt EXOS channel / host OS file descriptor mapping-et kicsit zavarni fogja :)
Title: Re: EXOS
Post by: lgb on 2016.April.10. 20:52:36
Btw, erre a 0xF8-ra tovabbra is csak egy magyarazatom van: az EXOS legalabbis device-ok eseten (nem EXOS parancs) a 0x80 alatti nem zero kodokat nem tekinti hibanak, _csak_ warning-nak! Azaz ha azt adom vissza egy device driver-ben adott EXOS keresere (pl open channel), akkor o ugy tekinti hogy _sikerult_ a muvelet csak warning-gal! Ezert reklamal utana arra viszont, hogy 0xF8-as hiba (ezert keresi is az uzenetet!) mert sikeres open channel eseten viszont a leiras szerint is kotelezo lenne channel buffer-t allokalnom. Most hogy igy belegondolok, pont ugyanez a misztikus EXOS error type XXXX jott elo akkor is, amikor ez nem volt benne a kodban (az EXOS 27 marmint). Ergo, akkor megint ott tartunk, hogy a 0x80 alatti error code-ok valojaban nem error-ok csak warning-ok, legalabbis a device driver-eknel!!! EXOS _parancsokra_ teszteltem, ott keresi az explain error a 0x80 alatti kodokat is, a device driver-ektol elteroen, tehat ott ugy tunik nincs megkulonbozteto szerepe annak, hogy a kod 0x80 alatti vagy feletti ("negativ-e"). Hmmm. Jobb magyarazatom nincs, minden jel arra mutat, hogy EXOS valahogy igy gondolkodik legalabbis device driver-ek eseten, nem gyozom hozzatenni :)
Title: Re: EXOS
Post by: Zozosoft on 2016.April.10. 20:54:10
Igen, ezt en is lattam. El is gondolkoztam rajta. Ugye open/create channel-nel a leiras szerint *kell* channel buffer-t allokalnia a hivonak ... En nyilvan nem teszem, abbol a felindulasbol, hogy eleve tudom, hogy ha amugy sem sikerult megnyitni a file-t, akkor minek.
Ha megteszed, akkor már szépen működik a hibakód.

Quote
Vegulis nem nagy dolog, hasznalok majd 0x80 feletti error code-ot
Ami már mind stipi-stopizva van :oops:
Használhatod az EXDOS-os file not found-ot (István féle is ezt teszi), a ROM-odba meg berakni rá ugyanazt a szöveget (Istváné ezt nem teszi :oops: )

Egyébként itt van az eb elhantolva:
Code: ZiLOG Z80 Assembler
  1.                 pop     af                      ;A = function number
  2.                 call    CALL_DEVICE             ;Call the device driver
  3.                 exx                             ;Save returned params.
  4.                 or      a
  5.                 jp      m,pop_exx_ret           ;Error if -ve RC from device
  6. ;
  7.                 ex      af,af'
  8.                 ld      hl,buffer_not_allocated ;Check to see if device got
  9.                 ld      a,.NOBUF##              ;  a channel buffer.  This
  10.                 inc     (hl)                    ;  will still be 0FFh if it
  11.                 jp      z,pop_exx_ret           ;  didn't, zero if it did.
  12.                 dec     (hl)
  13.                 jp      ex_pop_exx_ret          ;Successful return
  14.  
  15.  
  16. pop_exx_ret:    ex      af,af'                  ;Get RC into A'
  17. ex_pop_exx_ret: pop     bc
  18.                 pop     de                      ;Restore alternate registers
  19.                 pop     hl
  20.                 exx
  21.                 ex      af,af'                  ;Get RC back into A
  22.                 ret

Ha jól sejtem az eredeti koncepció volt a 80h alatti warning kódokkal, aztán később felszabadították ezt a tartományt a bővítéseknek. Itt ezen az egy helyen benne maradt a JP M a JP NZ helyett. Meg a leírást se frissítették mindenhol.
Máshol nem találtam ilyet se az EXOS-ban, se a BASIC-ben, se az EXDOS-ban. Ez az egy meg csak egy szabálytalan eszközkezelővel jön elő :oops:
Title: Re: EXOS
Post by: lgb on 2016.April.10. 21:17:17
Ha megteszed, akkor már szépen működik a hibakód.

Na jo, de miert tennem meg, ha NEM SIKERULT megnyitnom a file-t? :) Mert ugye pont akkor akarnek visszaadni hibauzenetet :) Ha fixen foglalok channel buffer-t akkor is, ha sikertelen a muvelet, akkor nem lesz abbol baj, ha mas nem, annyi, hogy 1 byte feleslegesen lesz lefoglalva minden open channel call utan a rendszerszegmensben ha nem sikerul megnyitni a file-t? :) Vagy akkor EXOS azt felszabaditja? Mert ugye arra nem latok utalast, hogy channel buffer fel is szabadithato, valoszinu, channel close-kor EXOS megteszi, am most nem errol van szo, hanem arrol, hogy eleve *nem* sikerult a megnyitas, ezert *nem* akarok foglalni channel buffer-t. Csak eppen itt beleszol az EXOS, ha mindezt 0x80 alatti hibakoddal akarom prezentalni, hogy o azt warning-nak veszi es nem error-nak :) Szoval en probalok szabalyos lenni, amit fentebb demoztam az persze csak azt mutatja, hogy mi lenne ha nem sikerult volna megnyitnom a file-t amugy sem, akkor persze, hogy minek foglaljak channel buffer-t ... Amugy a demo asm-om meg persze szandekosan csonka es csak a problemat mutatja, valosagban az semmire nem jo, az igaz.

Quote
Ami már mind stipi-stopizva van :oops:
Használhatod az EXDOS-os file not foundod (István féle is ezt teszi), a ROM-odba meg berakni rá ugyanazt a szöveget (Istváné ezt nem teszi :oops: )

Ezert is kerdeztem par post-tal elobb meg par napja (?), hogy meddig "ervenyes" :) a hiabkod. En arra gondoltam amugy, hogy Xep128-ban visszaadok akkor mar egy hasznalt kodot :D Viszont, ha jon explain error code EXOS hivas (C=5) akkor valaszolok ra en, am _egyuttal_ kov hivasra mar nem fogok valaszolni ha nem generalok ilyen hibat, igy nem avatkozok a rendszerbe tovabb :)

Quote
Ez az egy meg csak egy szabálytalan eszközkezelővel jön elő :oops:

Kikerem magamnak :) :) En tok szabalyos akarok lenni :) A teszt pelda persze fura, de a valodi esetnel szabalyosan akarom megoldani, csak EXOS nem engedi, ha 0x80-nal kisebb hibakodot hasznalnek, mert ugy tunik o azt sikeresnek veszi, es azonnal channel buffer-t var el (0xF8 hibakodot nezegeti), holott en nem akarok olyat mert NEM sikerult a muvelet ...
Title: Re: EXOS
Post by: Zozosoft on 2016.April.10. 21:25:29
holott en nem akarok olyat mert NEM sikerult a muvelet ...
De valódi gépen nem tudsz semmilyen műveletet végezni, ha nincs hozzá puffered. Ezt csak ilyen gépen túli, túlvilági módszerekkel tudod megtenni.

Felszabadítja:
[attach=1]
Title: Re: EXOS
Post by: lgb on 2016.April.10. 21:38:54
Felszabadítja:

Cool. De ha ez az en erdeti asm-om volt, az nem jo pelda, akkor bele kene rakni a teszt-hez az EXOS 27 hivast is! Bar ha jol latom igy jo :D Csatoltam, ebbe beleirtam, foglalok channel RAM-ot *aztan* viszont hibaval terek vissza. Az INFO szerint tenyleg nem veszett el RAM :) Oke, akkor lehet jo lesz ez igy, azert nem mertem ezt mar az elejen, mert azt gondoltam, hogy akkor van ertelme foglalni channel buffer-t ha *sikeres* a muvelet, mert kulonben minek, es esetleg "el is veszik" igy, mert nincs kezelve az az eset, hogy foglalok, pedig nem is sikerult megnyitni a csatornat! Na ha ez igy jo, maradok ennel a modszernel, ez meg egyszerubb is, nem erzekeny a hibakod 0x80 alatt/felett kerdesre, stb :D

Igazabol max az izgat engem, hogy mire jo ez a channel buffer. Azt en ertem, hogy egy "valodi" (nem ilyen emulatoros varazslat ...) ROM eseten kell RAM szegeny kodnak ahol csinalhat is valamit :) Nem ezt nem ertem, hanem azt, hogy ha megsem foglalok az miert "baj" az EXOS-nak, elvegre az en maganugyem, hogy megoldom-e pl akar sajat SRAM-mal egy dedikalt szegmensben :) Ezek szerint o ellenorzi, hogy foglaltam-e, ez valami biztonsagi intezkedes, vagy miert kell az EXOS-nak ez a "tudat" hogy megtettem? Ez alapjan o is nyiltantart valamit, akkor is ha az "en" channel bufferem, es en irok bele (ha irok ...) barmit is? Ez mondjuk mar csak erdeklodes resze a dolognak.

Remelem nem vagyok tul analmas, tenyleg erdekelnek az ilyen system internal dolgok :D A konkret probleman tul is!
Title: Re: EXOS
Post by: Zozosoft on 2016.April.10. 21:44:25
Cool. De ha ez az en erdeti asm-om volt, az nem jo pelda, akkor bele kene rakni a teszt-hez az EXOS 27 hivast is!
Beleraktam, és aztán írtam, hogy úgy működik :-)

Quote
Ezek szerint o ellenorzi, hogy foglaltam-e, ez valami biztonsagi intezkedes, vagy miert kell az EXOS-nak ez a "tudat" hogy megtettem?
Igen, ez akkor is lefut, ha 0-át adsz vissza.
Title: Re: EXOS
Post by: Zozosoft on 2016.April.10. 21:47:36
Quote
;   The device descriptor chain is then searced for the required device and an
; error given if it is not found.  If it is found then the appropriate entry
; point of the device is called.  BUFFER_NOT_ALLOCATED is set non-zero which
; will allow the device to make an "ALLOCATE CHANNEL BUFFER" call to obtain
; its channel RAM.  The device descriptor address is saved at CURRENT_DEVICE
; since the buffer allocation routine needs to know it to insert it into the
; channel descriptor.
;
;   Having done all this the device OPEN or CREATE entry point is called and
; the return code returned to the user.  If BUFFER_NOT_ALLOCATED is still
; non-zero then an error code is forced (unless the device returned a -ve
; error anyway).
Title: Re: EXOS
Post by: lgb on 2016.April.10. 22:46:08
Meg egy kerdes :) Tenyleg csak azert, mert lehetoleg normalisan szeretnem megcsinalni ... Egy kicsit mas jellegu. Itt elojon az, hogy a file kezeles nem feltetlen ugyanazt jelenti EXOS szamara, mint a host OS (UNIX/Windows) eseten, amin az emu fut, de ugye a FILE: device eseten a kettot kozos nevezore kene hozni ...

Szoval, a helyzet a kovetkezo: van egy pl 1000 byte-os file-om, amit FILE: device-on at szeretne vki elerni az emulatorbol. Kiad egy block read EXOS hivast szepen de 2000 byte-ra. Akkor mi van? :) Az vilagos, hogy 1000 byte-ot tudok csak beolvasni. Az is vilagos, hogy a BC es DE a szerint kell modositani, hogy _valojaban_ mennyi adatot sikerult beolvasni (a leiras szerint akkor is, ha hibakodot adok vissza, hisz lehet, hogy azert sikerult a hiba elott olvasni valahany byte-ot!). Ami nem vilagos, hogy ilyenkor sikeres (A = 0) vagy sikertelen (A = 0xE4, tehat hogy file vege utan akar vki olvasni) statusszal illik visszaterni? A read character EXOS hivasnal meg kb sejtem, hogy mivel ott fixen egyet kell olvasni, ha nem sikerul 1-et, akkor A = 0xE4, kulonben A = 0 a visszateresi ertek. Block read-nel ez nem egyertelmu ugye, mert van koztes eset ... Sot tobb is: a block read folyomanya lehetnek pl:

* sikerul beolvasni valamennyi byte-ot, de nem annyit, mint az EXOS kert a device driveremtol
* nem sikerul egyetlen byte-ot sem beolvasni, mert mar eleve a file vegen alltunk
* sikerult annyit beolvasni, amennyit az EXOS szeretett volna (ez egyertelmu, hogy oke, A = 0)

Szoval ezekre az esetekre kene nekem, hogy mi legyen az error code (A = ?) a device driveremben :)

Lathatoan a mostani implementaciomban a LOAD-ra nem gond, valoszinu azert, mert megnezi az EXOS a fejlecet, es annyit olvas pont, amennyi kell, igy nem jon elo bug/akarmi, amit esetleg okoztam, de ugye szeretnem tenyleg jol csinalni ...
Title: Re: EXOS
Post by: Zozosoft on 2016.April.10. 22:55:27
Mind a két eset EOF (228), a másodikban változatlan BC,DE, mivel egy bájtot sem sikerült olvasni.
Title: Re: EXOS
Post by: lgb on 2016.April.10. 23:52:30
Már eleve vannak konfliktusok :oops:
ZT átmegy majd 104-re, hogy ne legyen ütközés a Venus-szal, Entercom-ot pedig 119-126-ra kéne módosítani (elméleti kérdés, modem hw nélkül túl sokan nem fogják használni :-) )
192-206-ot meghagyjuk EXDOS következő verzióinak, Bruce pedig 50h-5fh (80-95), 80h-94h (128-148) használja EPNET-hez.

Ha mar itt tartunk, es hivatalosan te vagy az EP error code allocation registry international :) akkor kerhetek "emulatorok szamara" kodokat? :) Nem feltetlen Xep128 csak, ki tudja, lehet mas emulacios/stb celra is hasznos lenne neha, masnak is. Mondjuk en bena modon amugy is csak egy kodot hasznalnek, csak mindig mas szoveget adok ra vissza :-P Lehet ezen finomitani, de egy FILE: implementacio miatt nem biztos, hogy erdemes. Bar azert lehet jo lenne tobb error code ertek is ...
Title: Re: EXOS
Post by: Zozosoft on 2016.April.13. 15:53:55
Összeszedtem az ismert kódokat. (http://enterprise.iko.hu/errors.htm)

Úgy nézem emulátor kódokat szerintem legokosabb lenne 1-től kezdeni, úgy tűnik azt a tartományt még senki nem nézte ki magának :-)
Title: Re: EXOS
Post by: lgb on 2016.April.13. 18:49:29
Összeszedtem az ismert kódokat. (http://enterprise.iko.hu/errors.htm)

Úgy nézem emulátor kódokat szerintem legokosabb lenne 1-től kezdeni, úgy tűnik azt a tartományt még senki nem nézte ki magának :-)

:) Remek. Es koszi, azt hiszem jo egy ilyen osszefoglalas amugy is!

Nezem ezt a listat ... Az jutott eszembe, hogy azert nincs tul sok kod (255, mivel a nulla az nem hiba ugye). Biztos, jo otlet minden apro dologra kulon hibakodot definialni, foleg a jovore valo tekintettel? Abbol tudok kiindulni, amit ismerek, pl a UNIX vilagban a hibakodok. Ott nem feltetlen numerikus ertekekrol van szo (a hordozhatosag miatt), hanem forraskod szintu dologrol, de a lenyeg ugyanaz. Az, hogy az adott hibakod mit jelent az fugg attol, hogy mitol kapod azt. Azaz a "nem letezik a file" az ertelmezheto filerendszer eseten arra amit jelent, de halozat eseten pl arra is akar, hogy nem nem letezik a http URL-el adott eroforras (tehat lehetne ugy is ertelmezni, hogy ha valami nem nyithato meg azonosito alapjan legyen az URL vagy EXDOS file path, akkor az jellegeben ugyanaz a hiba). Mert ha tenyleg minden aprosagra kulon kod kene, az zabalja a kodokat, es mivel 8 bit van csak ra, eleg hamar el fog fogyni ... Persze, ertem en, hogy az alap EXOS filozofiaban ez nehezkes, mert ugye az explain error code hivasnak odaadva, igy az mindig pontos, helyzethez illo valaszt fog adni, es nem kell figyelembe venni, hogy konkretan mi produkalta azt a hibat ... Igy viszont kvazi redundans, mert ugye kulonbozo software-ek vegulis ugyanarra a fogalomra kulon kodokat definialnak, amivel megfelelo prezicitassal adhato a pontosan oda szabhato hibauzenet, szoval ez a hozzaallas is logikus persze. Szoval nem tudom.

Masreszt, nem felreeteni nem akarom bantani, csak pelda, de: HEASS is egy szem software, es sajat kodokat hasznal, kvazi egy szinten azokkal az errorokkal amit maga az egesz EXOS/kernel ...

Bocsanat, csak elmelkedtem itt hangosan ... Lehet, nincs is ertelme ezen filoznom, mert ugy sincs annyi EP sw, hogy ez gondot okozzon valojaban? :)
Title: Re: EXOS
Post by: Zozosoft on 2016.April.13. 19:42:26
az alap EXOS filozofiaban ez nehezkes, mert ugye az explain error code hivasnak odaadva
Vagy nem, mert direktben használja az értéket a program :-)
 
Quote
HEASS is egy szem software, es sajat kodokat hasznal, kvazi egy szinten azokkal az errorokkal amit maga az egesz EXOS/kernel ...
Ezen én is meglepődtem :oops: HDIGI is ilyen...
Ha jól sejtem itt a kényelem volt az ok, nem kell foglalkozni azzal, hogy külső vagy belső a hiba oka, ugyanúgy érkezik rá a szöveg.
Majd megnézem a forrásban, hogy mit lehetne tenni ez ellen.
Title: Re: EXOS
Post by: lgb on 2016.April.13. 19:50:57
Vagy nem, mert direktben használja az értéket a program :-)

:) Ez a jobbik eset, ilyenkor talan jobb lenne egy pool-t fenntartani, ami elvileg sose kerulhet akkor az EXOS emlitett "magyarazo" funkciojahoz (pl mert direktben hasznalja a program!). Igy viszont tobb program is oszthozhat - elvileg - gond nelkul ugyanazokon az error code-okon, ha belsoleg lekezeli, akkor nem gond az "utkozes" ...

Quote
Ezen én is meglepődtem :oops: HDIGI is ilyen...
Ha jól sejtem itt a kényelem volt az ok, nem kell foglalkozni azzal, hogy külső vagy belső a hiba oka, ugyanúgy érkezik rá a szöveg.
Majd megnézem a forrásban, hogy mit lehetne tenni ez ellen.

Hat igen, soknak tunik az a 255 az elejen :) Ha EP igazan sikeres gep lett volna, valoszinu, hogy ez a problema mar elojon elobb is :)
Title: Re: EXOS
Post by: Zozosoft on 2016.April.13. 20:00:46
Hat igen, soknak tunik az a 255 az elejen :) Ha EP igazan sikeres gep lett volna, valoszinu, hogy ez a problema mar elojon elobb is :)
Most Bruce támadott be pár tucattal :-) De akad még pár tucat szabadon.

Aztán ott van az ENTERCOM, a dán modem kártya szoftvere, hw nélkül nem valószínű, hogy sokan fogják használni...
Venus-t se használ szerintem a mindennapokban senki.
Title: Re: EXOS
Post by: szipucsu on 2016.April.13. 20:16:19
Összeszedtem az ismert kódokat. (http://enterprise.iko.hu/errors.htm)
Szép kis lista!
Spanyolul nem lesznek ott a hibaüzenetek? Vagy más nyelven? Nem tudom, spanyolon kívül más nyelvű hibaüzenet is volt-e.

OFF: És ilyen kellemes kis táblázatot hogyan lehet csinálni? Simán Word-ben?
Title: Re: EXOS
Post by: lgb on 2016.April.13. 20:19:46
Most Bruce támadott be pár tucattal :-) De akad még pár tucat szabadon.

:) Azert szerintem mar eleve itt torkedni kene az egysegesitesre. Mire gondolok? Lehet mas "net" szeru project is. Legyen szo egy emulatorrol csak :) vagy tenyleg letezo hw-es megoldasrol a jovoben esetleg, ami nem EPNET (ezt most hasra mondtam, ki tudja, lehet, wifi-s akarmi egyszer). Meg kene probalni nem total EPNET specifikusra venni. Pl hogy DNS -ben ez/az, az minden TCP/IP internetes stb vilagban ugyanugy lehetne ugyanaz. Az, hogy nem talalja a halozat eleresere a hw-t (ERR_NONET de szovegesen mar tul EPNET specifikus: "Cannot communicate with EPNET") az pl igaz lehet minden halozati megoldasra, nem csak az EPNET-re. Azt meg nem tartom valoszinunek, hogy valaki egy szem EP-n tobbfajta halozati megoldast akar hasznalni _egyszerre_, az meg PC-n sem tul gyakori annyira atlag felhasznalasnal ... Vegulis a halozati hibauzenetek nagy resze EPNET temaban altalanosithato is. Es amugy maga az error szovegezese vegulis mind1, mert ha az error code-ok ugyanazok, mas NET megoldas hasznalhatja, es megmagyarazza kicsit mas szoveggel de hasonlo ertelmeben, akkor szerintem kevesbe gaz, foleg, ha a valoszinusege elhanyagolhato, hogy ezeket *egyszerre* kene hasznalni mondjuk ...

Quote
Aztán ott van az ENTERCOM, a dán modem kártya szoftvere, hw nélkül nem valószínű, hogy sokan fogják használni...
Venus-t se használ szerintem a mindennapokban senki.

En azt sem tudom mi az, bar en elegge egyedi eset vagyok EP tekinteteben ugye, hozzad kepest kb kiskoru, mert en mikor kezdtem el vele csak foglalkozni komolyan ... :)
Title: Re: EXOS
Post by: lgb on 2016.April.13. 20:21:32
OFF: És ilyen kellemes kis táblázatot hogyan lehet csinálni? Simán Word-ben?

Ahogy nezem a forrasat, nem sok cucc szolt bele, mintha kezzel irt html kod lenne. Tehat ugy. table, td, tr html tag-ek, es kb eleg is hozza. Minek ezt tulbonyolitani, word meg ilyesmi olyan html output-ot general, hogy lefordulok a szekrol :)
Title: Re: EXOS
Post by: szipucsu on 2016.April.13. 20:28:37
table, td, tr html tag-ek, es kb eleg is hozza.
Na, ez nekem kínai. Lehet, én az Excel-t választom inkább. :D
Néha leírogatok szavakat magyarul, angolul, németül, és elég rondán néz ki Word-ben, vesszővel elválasztva. Ezért tetszett most meg Zozo táblázata, és jött az ötlet, hogy ilyenre ott az Excel. Csak azt ugye sose használja a hétköznapi felhasználó, mert a Word "mindenre jó".
Title: Re: EXOS
Post by: Zozosoft on 2016.April.13. 20:39:30
Spanyolul nem lesznek ott a hibaüzenetek?
Spanyolnak ott a rublika kihagyva. Csak majd ami lista kijön EP-n, abban le kell cserélni a spéci karaktereket PC-sra. Magyarnál ez nem volt akkora gond, spanyollal meg kell még küzdeni :-)

Quote
OFF: És ilyen kellemes kis táblázatot hogyan lehet csinálni? Simán Word-ben?
Microsoft FrontPage 2003
Title: Re: EXOS
Post by: lgb on 2016.April.13. 20:40:41
Microsoft FrontPage 2003

Tenyleg? WOW! Tok kis sima html kodnak tunik a szokasos web editor-os hulyesegek nelkul, amihez mar volt szerencsem, es 10x tobb benne a sallang mint a valodi ertelmes tartalom :)
Title: Re: EXOS
Post by: endi on 2016.May.06. 15:52:10
milyen jó lenne ha lennének olyan exos funkciók hogy az adott videólap memóriabeli címét visszaadja meg egyéb ilyesmi paramétereit
emlékszem annak idején mennyire hiányoltam olyasmiket pl hogy exos funkció arra hogy egyik videólap tartalmát a másikra másolja... basic játékokban is hasznos lett volna

vagy olyan hogy egy videólapról egy négyzet alakú területet másol másik videólap megadott pozíciójára. tök jó kis sprite engint lehetett volna erre építeni.

és ez az exos fejlesztésében minimális munka lett volna nekik...
Title: Re: EXOS
Post by: Zozosoft on 2016.May.06. 17:41:58
milyen jó lenne ha lennének olyan exos funkciók hogy az adott videólap memóriabeli címét visszaadja meg egyéb ilyesmi paramétereit
Speciális funkciókat nézted már? :oops:
Code: [Select]
@@SIZE = 2 - return mode & size of page
@@ADDR = 3 - return video RAM address
Title: Re: EXOS
Post by: endi on 2016.May.06. 17:58:13
Speciális funkciókat nézted már? :oops:
Code: [Select]
@@SIZE = 2 - return mode & size of page
@@ADDR = 3 - return video RAM address

??? :)
hol van ez leírva?
Title: Re: EXOS
Post by: Zozosoft on 2016.May.06. 19:13:50
hol van ez leírva?
A nagy EXOS könyvben:
http://gafz.enterpriseforever.com/Dokumentacio/Konyvek/EXOS_2.1_technikal_information/exos/kernel/Ch11.html#11.13 (http://gafz.enterpriseforever.com/Dokumentacio/Konyvek/EXOS_2.1_technikal_information/exos/kernel/Ch11.html#11.13)
http://gafz.enterpriseforever.com/Dokumentacio/Konyvek/EXOS_2.1_technikal_information/exos/video/Ch2.html#2.3 (http://gafz.enterpriseforever.com/Dokumentacio/Konyvek/EXOS_2.1_technikal_information/exos/video/Ch2.html#2.3)
http://gafz.enterpriseforever.com/Dokumentacio/Konyvek/EXOS_2.1_technikal_information/exos/video/Ch3.html (http://gafz.enterpriseforever.com/Dokumentacio/Konyvek/EXOS_2.1_technikal_information/exos/video/Ch3.html)

http://ep128.hu/Ep_Konyv/Exos.htm#62 (http://ep128.hu/Ep_Konyv/Exos.htm#62)
http://ep128.hu/Ep_Konyv/Exos.htm#99 (http://ep128.hu/Ep_Konyv/Exos.htm#99)
http://ep128.hu/Ep_Konyv/Exos.htm#101 (http://ep128.hu/Ep_Konyv/Exos.htm#101)
Title: Re: EXOS
Post by: endi on 2016.May.06. 19:50:40
hogy mik vannak :D
Title: Re: EXOS
Post by: endi on 2016.May.07. 17:58:56
hát sok időm nincs olvasgatni ezt, most hirtelen nem találtam meg hogy lehet meghívni ezeket a videócím visszaadó rutinokat
ha jól értem nem exos hívás. vagy az?
Title: Re: EXOS
Post by: Zozosoft on 2016.May.07. 18:26:30
ha jól értem nem exos hívás. vagy az?
11-es EXOS hívás.
Title: Re: EXOS
Post by: endi on 2016.May.08. 20:56:17
11-es EXOS hívás.

na és basic-ból hogy lehetne ezt használni?
valami dereng hogy vissza lehet kapni gépi kódú hivásból értékeket...
Title: Re: EXOS
Post by: Povi on 2016.May.09. 16:50:12
hogyan lehet megnyitott fájlban pozicionálni?

tehát teszem azt, van egy 2MB-os file-om

ezt megnyitom, és a 125kB-tól kéne beolvasnom 10kB-ot

majd később pl. teljesen máshonnét 5kB-ot

Title: Re: EXOS
Post by: Zozosoft on 2016.May.09. 16:53:12
EXOS 10 (http://ep128.hu/Ep_Konyv/Exos.htm#61)
De az csak fájlkezelő eszközökkel működik. EXDOS-szal, vagy az XEP FILE eszköze is tudja elvileg már. Az ep128emu FILE-je nem tudja :-(
Title: Re: EXOS
Post by: Povi on 2016.May.16. 01:08:14
hogy tudok billentyűt olvasni? de úgy, hogy rögtön visszatérjen, ha nincs lenyomott gomb
az EXOS 5-tel az a baj, hogy addig vár, amig le nem nyomok valamit

erre jó az EXOS 9?

tehát pl:

exos 9
if (C==0) exos 5
Title: Re: EXOS
Post by: Zozosoft on 2016.May.16. 12:19:51
erre jó az EXOS 9?
Igen.
Title: Re: EXOS
Post by: Povi on 2016.June.02. 21:55:37
EXOS 10 (http://ep128.hu/Ep_Konyv/Exos.htm#61)
De az csak fájlkezelő eszközökkel működik. EXDOS-szal, vagy az XEP FILE eszköze is tudja elvileg már. Az ep128emu FILE-je nem tudja :-(

A 4..7 byte-ot (file méret) be kell állítani?

Vagy pozicionáláshoz elég nekem csak 0..3 byte-ot állítgatni?

RAM-disk-kel működik az EXOS 10? (mondjuk egy 3 megáson - egyáltalán lehetséges akkora, rémlik, hogy volt valami bug ezzel kapcsolatban...)
Title: Re: EXOS
Post by: Zozosoft on 2016.June.02. 22:03:48
Neked csak a mutatót kell állítani.
Bármely EXDOS meghajtóval müködik.

Nem javitott EXDOS nem enged 2MB-nál nagyobbat.
Title: Re: EXOS
Post by: Povi on 2016.June.02. 22:09:11
Nem javitott EXDOS nem enged 2MB-nál nagyobbat.

Melyik a javított EXDOS?
Title: Re: EXOS
Post by: Zozosoft on 2016.June.02. 22:17:38
Ramdisk ügyben 1.0-1.3-bol is készült, Lacikánál fent van.
De ha SD kártya/vinyo is kell,akkor 1.4!
Title: Re: EXOS
Post by: Povi on 2016.June.02. 22:43:47
a 32 bites file-mutatót milyen sorrendben kell beadni?

0. byte:  b31..b24
1. byte:  b23..b16     
2. byte:  b15..b8
3. byte:  b7..b0

vagy máshogy?
Title: Re: EXOS
Post by: Zozosoft on 2016.June.02. 22:53:19
Szerintem pont forditva, az alacsony van elöl. (Ha jól tudom Motorolánál van a magas elöl)
Title: Re: EXOS
Post by: lgb on 2016.June.03. 08:06:54
Szerintem pont forditva, az alacsony van elöl. (Ha jól tudom Motorolánál van a magas elöl)

Ja, a Z80 little-endian, ahogy a 65xx meg szerintem egesz sok 8 bites CPU, ja meg pl x86 is. A motorola viszont tenyleg big-endian parti, ez nem tuti de talan mar a 8 bites 6800 is big-endian ... Aztan van a fura egyveleg, pl a PDP-11 is asszem, hogy word/dword szervezesnel mar nem ugy jon ki, ahogy byte-bol adodoan logikusnak tunik. Vagy vmi hasonlo :) Meg van a bi-endian is, ahol vegulis megy barmelyik, attol fugg hogy allitod be a cuccost, tudja mindkettot. Nem tudom, bar atlag embernek a big endian logikus gondolom, nekem mindig is a little endian tetszett. Valahogy szerintem logikusabb, hogy egy adott cimen van byte, word is pl, ha a csak a legkisebb helyieerteku byte-ja erdekel egy nagyobb cuccnak. Biztos, van aki vitatkozna :) Illetve korai hw-ken egyertelmuen a little endian volt elonyosebb, a mai vilagban mar nem tul lenyeges a proci architekturak miatt stb.
Title: Re: EXOS
Post by: IstvanV on 2016.September.27. 14:42:10
Az ep128emu FILE-je nem tudja :-(

A 2.0.10 verzióban megvalósítható lenne, de néhány részlet nem egyértelmű a dokumentáció alapján:
- a DE által mutatott puffert az EXOS 6 és 8 hívásokhoz hasonlóan kell kezelni, vagy nem kell figyelni a felhasználói lapozásra (BFFCh-BFFFh)?
- pozíció beállításakor pontosan mi történik, ha a megadott érték negatív, vagy nagyobb a file méreténél?
- a "védelmi byte"-nak mi a célja, ez csak olvasható file-t jelez, vagy nem hasznos és lehet valamilyen fix érték (0)?
Title: Re: EXOS
Post by: Zozosoft on 2016.September.27. 18:32:31
Ha hazaertem, akkor tudok pontosabbat. Ami fejbol biztos: ha nagyobbra van allitva, akkor az EXDOS megnoveli a filet, nullakat irva a vegere.
Title: Re: EXOS
Post by: IstvanV on 2016.September.27. 19:02:10
Ha hazaertem, akkor tudok pontosabbat. Ami fejbol biztos: ha nagyobbra van allitva, akkor az EXDOS megnoveli a filet, nullakat irva a vegere.

Ez PC-n is hasonlóan működik. Azonban az állítható file pozícióval probléma lehet még a file megnyitásának a módja, ami jelenleg "rb" (csak olvasás) EXOS 1-nél és "wb" (csak írás, a már létező file tartalma elveszik és 0 lesz a mérete) EXOS 2-nél. Ha a pozíció állítható, akkor lehet értelme ugyanazon a csatornán írni és olvasni is, tehát pontosan hogyan kell működnie az EXOS 1 és EXOS 2 hívásoknak?
Title: Re: EXOS
Post by: Zozosoft on 2016.September.27. 19:26:53
Az EXOS 1-nél is irhato a fájl (ha nem irásvédett), ekkor 0. bájtról indul a mutató. Ha hozzáfüzni akarunk, akkor át kell állitani a mutatot a fájl végére.
EXOS 2-nél ha létezik (és nem irásvédett), akkor felülirodik, uj 0 bájtos fájl keletkezik.
Title: Re: EXOS
Post by: lgb on 2016.September.28. 01:26:31
Hehe, pont hasonlo kerdeseim voltak Xep128-nal :) Mondjuk nem tudom amugy, hogy az en implementaciom tuti korrekt-e mindenhol, de ha vkit erdekel meg lehet lesni a Xep128 forrasaban. https://github.com/lgblgblgb/xep128/blob/master/fileio.c

Ha jol remlik itt ertekeztunk arrol is Zozoval, hogy milyen "uj" exos error code-kat kell/lehet bevezetni, stb :)
Title: Re: EXOS
Post by: IstvanV on 2016.September.28. 10:35:20
Az EXOS 1-nél is irhato a fájl (ha nem irásvédett), ekkor 0. bájtról indul a mutató. Ha hozzáfüzni akarunk, akkor át kell állitani a mutatot a fájl végére.
EXOS 2-nél ha létezik (és nem irásvédett), akkor felülirodik, uj 0 bájtos fájl keletkezik.

Akkor tehát az EXOS 1-nél "r+b" módot kell használni, illetve ha azzal nem sikerül megnyitni a file-t, akkor újra próbálkozni "rb"-vel (ha ez már sikerül, akkor valószínűleg írásvédett a file). Az EXOS 2-vel megnyitott csatornáról lehet olvasni is? Ha igen, akkor azt is módosítani kell "w+b"-re. Kérdés még, hogy mi történik írásvédett file esetén a file vége utáni pozíció beállításakor, és hogy a puffernél (DE) hogyan kell kezelni a lapozást, illetve mi a "védelmi byte" funkciója.
Title: Re: EXOS
Post by: IstvanV on 2016.September.29. 12:29:22
Néhány teszt alapján:
- a puffert az EXOS 6/8 hívásokhoz hasonlóan lapozva kell kezelni
- az EXOS 2-vel megnyitott csatorna olvasható is a pozíció visszaállítása után
- a "védelmi byte" hasznossága nem egyértelmű, megpróbáltam beállítani FFh értékre, de így is 0 maradt, és nem tette írásvédetté a file-t. Szerk.: az EXDOS szerint nem érvényes a visszaadott érték (a C 2. bitje 0), tehát ez a mező valószínűleg nem hasznos, és másolásvédelmi vagy egyéb célokra tartották fent. Az emulátorban mindig 0 lesz
Title: Re: EXOS
Post by: Zozosoft on 2016.September.29. 12:59:13
- a "védelmi byte" hasznossága nem egyértelmű
Az EXOS leírás szerint: "Protection byte (yet to be defined)". Az EXDOS fixen nullázza a második 8 bájtot, így ezt is.
Title: Re: EXOS
Post by: endi on 2016.November.16. 16:23:47
a zzzip vajon mennyire exos kompatibilis ezzel a call usr 6144 hívással?
Title: Re: EXOS
Post by: Zozosoft on 2016.November.16. 16:45:03
a zzzip vajon mennyire exos kompatibilis ezzel a call usr 6144 hívással?
Kb semennyire :oops:
Kipróbáltam angol gépen 1088K memóriával már nem is indul el a zzzippelt program. Német gépen már 944K-val sem megy.
Egyéb bővítéseket most még nem is néztem.
Title: Re: EXOS
Post by: endi on 2016.November.16. 16:46:27
Kb semennyire :oops:
Kipróbáltam angol gépen 1088K memóriával már nem is indul el a zzzippelt program. Német gépen már 944K-val sem megy.
Egyéb bővítéseket most még nem is néztem.

aha érdekes
amúgy basic betöltő minek neki? úgy értem a zzzippelt program esetleg meghív csak basic-ban létező rutionokat? egyáltalán ez lehetséges? úgy tudom csak exos hívások léteznek.
Title: Re: EXOS
Post by: Zozosoft on 2016.November.16. 16:59:02
amúgy basic betöltő minek neki? úgy értem a zzzippelt program esetleg meghív csak basic-ban létező rutionokat? egyáltalán ez lehetséges? úgy tudom csak exos hívások léteznek.
BASIC-nak vannak saját hívásai, főleg az RST 10h-n, de az RST 08h,18h,20h is fel van használva. bővebben itt írnak erről. (http://ep128.hu/Ep_Konyv/Isbasic.htm)
És ahogy debugerrel gyorsan ránéztem, buzgón hívogatja ezeket. A fő lényeg az lehet, hogy előemészti az utasítás sorozatot, és egyből azokat hívogatja amit az interpreter csinálna, miután kielemezte az utasításokat, a hosszas elemezgetés marad ki. Plusz a bonyolult - ezért lassú - lebegőpontos matematika helyett van egy egyszerűbb egész számos.
Title: Re: EXOS
Post by: endi on 2016.November.16. 17:55:34
BASIC-nak vannak saját hívásai, főleg az RST 10h-n, de az RST 08h,18h,20h is fel van használva. bővebben itt írnak erről. (http://ep128.hu/Ep_Konyv/Isbasic.htm)
És ahogy debugerrel gyorsan ránéztem, buzgón hívogatja ezeket. A fő lényeg az lehet, hogy előemészti az utasítás sorozatot, és egyből azokat hívogatja amit az interpreter csinálna, miután kielemezte az utasításokat, a hosszas elemezgetés marad ki. Plusz a bonyolult - ezért lassú - lebegőpontos matematika helyett van egy egyszerűbb egész számos.

aha... és ezek a basic hívások miért nem exos dolgok?
Title: Re: EXOS
Post by: ergoGnomik on 2016.November.16. 18:15:33
aha... és ezek a basic hívások miért nem exos dolgok?
Sajnos nem tudom rendesen kifejezni magamat, de azért, mert a BASIC nem EXOS, és az EXOS nem BASIC. Másként olyan lenne az Enterprise is, mint a Commodore gépek, ahol egyáltalán nem volt rendes operációs rendszer szerűen megoldva a bővítés. Hát komondort akarnál csinálni az EP-ből? :D Funkcionálisan független dolgokat – amennyire lehet – nem keverünk össze, mert rontja a rugalmasságot, és felesleges dolgok integrálásával szükségtelenül növeljük az erőforrás (itt ROM méret) igényt. Pl. ezért is szentségelnek bizonyos operációs rendszerek, vagy felhasználói programok kapcsán egyesek, mert a toronyórát lánccal is belegyömöszölik, aztán mindennek csak a töredéke van használatban.
Title: Re: EXOS
Post by: endi on 2016.November.16. 18:18:33
Sajnos nem tudom rendesen kifejezni magamat, de azért, mert a BASIC nem EXOS, és az EXOS nem BASIC. Másként olyan lenne az Enterprise is, mint a Commodore gépek, ahol egyáltalán nem volt rendes operációs rendszer szerűen megoldva a bővítés. Hát komondort akarnál csinálni az EP-ből? :D Funkcionálisan független dolgokat – amennyire lehet – nem keverünk össze, mert rontja a rugalmasságot, és felesleges dolgok integrálásával szükségtelenül növeljük az erőforrás (itt ROM méret) igényt. Pl. ezért is szentségelnek bizonyos operációs rendszerek, vagy felhasználói programok kapcsán egyesek, mert a toronyórát lánccal is belegyömöszölik, aztán mindennek csak a töredéke van használatban.

de hát ezt mondom én is. ne lehessen elérni a basic rutinjait sehogy. azért van az exos, hogy az csinálja amit kell.
persze értem én hogy ez egy basic compiler, amit így egyszerűbb volt megírni.
Title: Re: EXOS
Post by: Zozosoft on 2016.November.16. 18:20:56
Rájöttem mit kérdez Endi: miért nem fordít teljes gépi kódra (ami max EXOS hívásokat használ) a Zzzip.
Title: Re: EXOS
Post by: lgb on 2016.November.16. 18:33:56
Rájöttem mit kérdez Endi: miért nem fordít teljes gépi kódra (ami max EXOS hívásokat használ) a Zzzip.

Gondolom azert, mert boszme nagy kod lenne, ha benne lennenek azok a cuccok is, amit igy csak hivogat? :)
Title: Re: EXOS
Post by: endi on 2016.November.16. 18:55:03
Rájöttem mit kérdez Endi: miért nem fordít teljes gépi kódra (ami max EXOS hívásokat használ) a Zzzip.

ez is, meg az hogy miért érhetők el rts hívásokkal basic dolgok?
csak az exos lenne logikisan elérhető.
Title: Re: EXOS
Post by: Zozosoft on 2016.November.16. 18:58:45
meg az hogy miért érhetők el rts hívásokkal basic dolgok?
csak az exos lenne logikisan elérhető.
Mért lenne logikus? Az RST-ket pont azért rakták a Z80-ba, hogy a gyakran hívogatott dolgokat oda tudják rakni a programok.
Az EXOS lefoglalja magának a 30h/38h-t a többi szabad. A BASIC a sajátjait rakja oda, az IS-DOS a CP/M dolgokat, Spectrum átiratokban oda szoktuk rakni billentyű, joy lekérdezést, stb.
Title: Re: EXOS
Post by: lgb on 2016.November.16. 19:06:46
Mért lenne logikus? Az RST-ket pont azért rakták a Z80-ba, hogy a gyakran hívogatott dolgokat oda tudják rakni a programok.
Az EXOS lefoglalja magának a 30h/38h-t a többi szabad. A BASIC a sajátjait rakja oda, az IS-DOS a CP/M dolgokat, Spectrum átiratokban oda szoktuk rakni billentyű, joy lekérdezést, stb.

Jah, vegulis az RST az egyfajta CALL - igy is mondhatjuk -, csak ugye nemileg fixalt cimmel. Viszont csak (hmm, kb) 11 orajelciklus es egyetlen byte opcode, mig a normal CALL az 17 (?) es harom byte ugye. Szoval megeri hasznalni, foleg, ha masra amugy meg egy-egy nincs eppen :D
Title: Re: EXOS
Post by: endi on 2016.November.16. 19:37:45
visszatérve az eredeti kérdésre, a zzzipnél akkor mi az a rész ami miatt nem exos kompatibilis?
fix címre fordítja le magát azt látjuk. vagy valami ilyesmi van.
Title: Re: EXOS
Post by: Povi on 2016.November.16. 19:49:27
visszatérve az eredeti kérdésre, a zzzipnél akkor mi az a rész ami miatt nem exos kompatibilis?
fix címre fordítja le magát azt látjuk. vagy valami ilyesmi van.
Szerintem pont emiatt nem EXOS kompatibilis... A fix cím miatt.
Title: Re: EXOS
Post by: endi on 2017.January.02. 18:19:45
kérdés: az exosnak "hol" van a megszakítása, a képernyő tetején?
az ok hogy 50hz, meg gondolom video megszakítás. vagy ez se igaz?
Title: Re: EXOS
Post by: ergoGnomik on 2017.January.02. 18:35:14
kérdés: az exosnak "hol" van a megszakítása, a képernyő tetején?
az ok hogy 50hz, meg gondolom video megszakítás. vagy ez se igaz?
Tekintve hogy a DAVE-nek van 50 Hz-es megszakítása, az EXOS megszakítás jöhet abból is. Nem mintha tudnám konkrétan hogyan van megvalósítva.
Title: Re: EXOS
Post by: geco on 2017.January.02. 19:52:21
Megnéztem, a képernyő alján, a keret kezdete után 14-16 sorral, és úgy látom csak Nick, Dave nincs.
Title: Re: EXOS
Post by: endi on 2017.January.02. 19:53:44
Megnéztem, a képernyő alján, a keret kezdete után 14-16 sorral, és úgy látom csak Nick, Dave nincs.

ja mondjuk logikus is hogy ott alul van
gondolom az egész exos megszakítás ott van, tehát a sound: eszköz nem mondjuk hang megszakításban
Title: Re: EXOS
Post by: Povi on 2017.January.08. 16:36:37
mi a szabályos kilépés 5-ös fejlécű progiból?

én ezt használom:
Code: [Select]
exitApplication:
        di
        ld   c, 0x40
        exos 0
        inc  a
        out  (0xb3), a
        ld   a, 6
        jp   0xc00d

de látszólag nem tökéletes:
bejön a villogó ENTERPRISE felirat, nyomok egy billentyűt, és mégegyszer a villogó EP felirat jön be
csak a második bill. nyomás után jön a BASIC
Title: Re: EXOS
Post by: Zozosoft on 2017.January.08. 16:56:12
Veremmutató hova mutat? Mondjuk egy LD SP,100h az elejére.
Title: Re: EXOS
Post by: Povi on 2017.January.08. 17:08:37
hm...

akkor is ezt csinálja...

egyébként 0xfe-re mutatott
Title: Re: EXOS
Post by: IstvanV on 2017.January.08. 18:14:10
Arra is figyelni kell még, hogy a 2. lapon a rendszerszegmens legyen, illetve a közvetlen (nem resetnél történő) híváskor vissza kell állítani az esetleg felülírt EXOS megszakításkezelő rutint.
Title: Re: EXOS
Post by: Povi on 2017.January.08. 18:27:59
jajaja, a rendszerszegmens!!! :-)
ez volt a gond, köszi!
Title: Re: EXOS
Post by: geco on 2017.March.13. 10:42:36
EXOS hívással le lehet kérdezni valahogy a funkcióbillentyűk lenyomási állapotát, úgy gondolom, hogy a 10h-1fh-s billentyűkódot adja vissza, EXOS 5 nem megy akkor sem, ha lenulláztam a funkióbillentyű stringjeit.
Title: Re: EXOS
Post by: Zozosoft on 2017.March.13. 11:24:34
Nem lenullázni kell, hanem rájuk definiálni valami karakterkódot.
Title: Re: EXOS
Post by: geco on 2017.March.13. 11:28:01
Nem lenullázni kell, hanem rájuk definiálni valami karakterkódot.
Tehát, ha hossz egyet állítok be, meg egy karakterkódot, akkor jó lesz?
A 10-1fh kódot szeretném visszakapni :D
Title: Re: EXOS
Post by: Zozosoft on 2017.March.13. 11:38:57
Tehát, ha hossz egyet állítok be, meg egy karakterkódot, akkor jó lesz?
Igen.
Title: Re: EXOS
Post by: geco on 2017.March.13. 11:45:55
Igen.
Köszi, erre nem gondoltam.
Title: Re: EXOS
Post by: endi on 2017.May.24. 23:39:58
még sose írtam be hogy toggle border :)
most beírtam :)
Title: Re: EXOS
Post by: Ep128 on 2017.May.24. 23:54:47
még sose írtam be hogy toggle border :)
most beírtam :)

Az élet apró örömei, na... :-)
Title: Re: EXOS
Post by: endi on 2017.May.25. 08:40:05
Az élet apró örömei, na... :-)

igen, érdekes dolog hogy egy ilyen kis gépben/rendszerben is mennyi lehetőség van, még ha ilyen egyszerűek is maradtak már nekünk :)
bár ott van a gracha mód az az utóbbi időkig teljesen kihasználatlan volt :)
Title: Re: EXOS
Post by: szipucsu on 2017.May.25. 11:53:22
még sose írtam be hogy toggle border :)
most beírtam :)
Én már próbáltam régebben. Most is kicsit szórakozgattam vele:
[attachimg=1]
Akkor már a key click-kel is szórakozgattam:
[attachimg=2]
Ez lemaradt:
toggle key click
ok
ask key click a
ok
print a
135
ok

Ha egyik basic programból át akarjuk adni egy változó értékét egy másik programnak, de betöltés után a gép elfelejti a változó értékét, akkor élhetünk a klikkes lehetőséggel. Ilyenkor találkozhatunk 2028-ban írt EP programokkal, melyekhez az Enterpress-ben olvasható a cheat, hogy a loaderbe írjuk be, hogy set key click off, és örökélet lesz.
Title: Re: EXOS
Post by: endi on 2017.May.25. 13:12:33
:)
haha
ja amúgy erről most az jut eszembe, hogy hogy utáltam hogy nincs xor az ep basicben...
Title: Re: EXOS
Post by: szipucsu on 2017.May.25. 19:37:20
Sőt, a toggle 6 átvált CAPS üzemmódba.
Title: Re: EXOS
Post by: IstvanV on 2017.May.28. 17:26:13
ja amúgy erről most az jut eszembe, hogy hogy utáltam hogy nincs xor az ep basicben...

"Gépközeli" (de nem assembly) programozásra a legjobban talán a C nyelv használható, itt megfelelően támogatottak a különböző méretű és előjelességű egész típusok, a mutatók (POKE/PEEK helyett), és a bitenkénti műveletek (&, I, ^, ~, <<, >>).
Title: Re: EXOS
Post by: endi on 2017.May.28. 17:52:37
"Gépközeli" (de nem assembly) programozásra a legjobban talán a C nyelv használható, itt megfelelően támogatottak a különböző méretű és előjelességű egész típusok, a mutatók (POKE/PEEK helyett), és a bitenkénti műveletek (&, I, ^, ~, <<, >>).

na ja, mondjuk az EP számábrázolásában nem is tudom mennyire értelmes a xor.
bár band meg bor van :) és ezek is elég extrák basic viszonylatban
Title: Re: EXOS
Post by: Lacika on 2017.May.28. 18:00:03
ja amúgy erről most az jut eszembe, hogy hogy utáltam hogy nincs xor az ep basicben...

(A BOR B)-(A AND B)
Title: Re: EXOS
Post by: endi on 2017.May.28. 18:06:44
(A BOR B)-(A AND B)
na ja
Title: Re: EXOS
Post by: szipucsu on 2017.May.29. 08:55:44
bor van :)
Sör nincs?
Title: Re: EXOS
Post by: endi on 2017.June.05. 15:29:55
rémlik valami program, ami úgy soft-resetelt, hogy a karakterkészlet megmaradt. tök jól nézett ki az EP felirat más karakterekkel :)
ez lehetséges, vagy rosszul emlékszem?
és esetleg basicből lehetséges?
Title: Re: EXOS
Post by: IstvanV on 2017.June.05. 16:16:23
A legtöbb program valószínűleg ilyen (ha van egyáltalán soft reset rutin), ahhoz külön kódot kell írni hogy visszaállítsa a karakterkészletet. Azonban általában nem változtatják az EXOS karakterkészletét.

EP logóhoz kilépés BASIC-ben:
[attachurl=1]
Title: Re: EXOS
Post by: szipucsu on 2017.June.05. 16:25:31
tök jól nézett ki az EP felirat más karakterekkel
Graphics 16 módban basicből is előállítható az EP felirat, előtte be lehet tölteni karakterkészletet.

Tényleg, az EP-t villogtató kódrész megvan valahol visszafejtve? Simán RND-vel váltogatja a színeket? Mind a 255 szín előfordulhat, kivéve a fekete? Vagy lehet fekete is?
Ha RND-vel csinálja, minden újraindulásnál ugyanazok a színek villognak. De ez úgyse tűnne fel senkinek. Kivéve, ha előtte kiadják a RANDOMIZE utasítást - illetve azt nem, hanem helyette a gépi kódú megfelelőjét.
Title: Re: EXOS
Post by: IstvanV on 2017.June.05. 16:33:39
Tényleg, az EP-t villogtató kódrész megvan valahol visszafejtve? Simán RND-vel váltogatja a színeket? Mind a 255 szín előfordulhat, kivéve a fekete? Vagy lehet fekete is?

Az R regiszter olvasásával generál véletlenszerű színeket 0 és 127 között. Lehet fekete is, csak kis valószínűséggel.
Title: Re: EXOS
Post by: szipucsu on 2017.June.05. 22:28:36
Az R regiszter olvasásával generál véletlenszerű színeket 0 és 127 között.
Érdekes, hogy 127 színt használ csak, nem mind a 256-ot. Lehet, nem nézne ki olyan jól? Pedig biztos jó lenne az is.

Meg lehet hívni vajon az EP feliratot kiíró és villogtató kódrészt úgy (pl. programból), hogy nincs újraindulás?
Title: Re: EXOS
Post by: IstvanV on 2017.June.05. 22:39:00
Érdekes, hogy 127 színt használ csak, nem mind a 256-ot. Lehet, nem nézne ki olyan jól? Pedig biztos jó lenne az is.

Az R regiszter (DRAM frissítéshez címet generáló számláló, amelyet minden utasítás olvasás növel) 7 bites, ezért van csak 128 szín a feketével együtt.

Quote
Meg lehet hívni vajon az EP feliratot kiíró és villogtató kódrészt úgy (pl. programból), hogy nincs újraindulás?

Talán megoldható, attól függően, hogy hogyan írták.
Title: Re: EXOS
Post by: endi on 2017.June.11. 20:16:36
azon gondolkodtam, van az az exos visszafejtés "nagy zöld" könyv, azt valaki átolvasta? :)
lehet valami funkció ami rejtett, vagy nem ismerjük?
Title: Re: EXOS
Post by: endi on 2017.June.16. 21:22:46
meg még az jutott eszembe (bár lehet hogy már 5x megbeszéltük ezt is :) ), hogy vajon az exosban hogyan valósították meg a grafika kezelését?
pl minden plot utasítás vizsgálja hogy melyik szegmensre kell írnia? vagy eleve lehetséges úgy grafikus oldalt kérni hogy egy szegmensen legyen? (a mutant test c. játékoban exos képernyőre rakok sprite-okat, de valszeg nem túl kompatibilis megoldással).
ha jól emlékszem bárhol lehet egy videólap, több szegmensen is, és ez szívás, sebesség szempontból is.

pl a grafikus print (főleg c16 módban) tök hasznos játékok írására basic-ben, de lehetne sokkal gyorsabb is a kiírás... mennyivel jobb játékokat tudtam volna írni ha gyorsabb...
Title: Re: EXOS
Post by: IstvanV on 2017.June.17. 12:14:31
pl minden plot utasítás vizsgálja hogy melyik szegmensre kell írnia? vagy eleve lehetséges úgy grafikus oldalt kérni hogy egy szegmensen legyen? (a mutant test c. játékoban exos képernyőre rakok sprite-okat, de valszeg nem túl kompatibilis megoldással).

Előfordulhat szegmenshatár átlépése, ezt nagyobb lapoknál nem is lehetne elkerülni, 42*27 karakter például 20412 byte. De a vonalrajzolás, kitöltés és egyéb műveletek nem számítják pixelenként újra a címet, hanem optimalizált kódot használnak a sugár mozgatására. Például egy pixel balra = RLC művelet a bit maszkon, ha túlcsordul, akkor DEC HL, és csak ilyenkor vizsgálja a szegmenshatárt. A pixelenkénti PLOT természetesen lassú, de elsősorban nem a laphatár figyelése miatt.
Title: Re: EXOS
Post by: endi on 2017.September.25. 23:58:34
azon gondolkodtam, hogy vajon a hivatalos átiratok, sorcery, batman, wriggler stb exos képernyőt használnak vagy saját lpt-t?
wrigglerrel játszogattam (jó az extendedben a pálya léptetős cheat), és hát milyen szépen lehetne raszter színezni... :)
Title: Re: EXOS
Post by: IstvanV on 2017.September.26. 00:18:28
azon gondolkodtam, hogy vajon a hivatalos átiratok, sorcery, batman, wriggler stb exos képernyőt használnak vagy saját lpt-t?
wrigglerrel játszogattam (jó az extendedben a pálya léptetős cheat), és hát milyen szépen lehetne raszter színezni... :)

A Batman és a Wriggler nem EXOS képernyőt használ, nem is EXOS kompatibilisek (felülírják a rendszerszegmenst). A Sorcery az EXOS LPT-jét használja, és talán VIDEO: csatornát is nyit, de természetesen nem EXOS hívásokkal rajzol a képernyőre.
Title: Re: EXOS
Post by: endi on 2017.October.17. 19:06:35
jé mit találtam a pascal leírásban:

"A lefordított PASCAL program sokkal gyorsabban "eteti" a SOUND-eszközt, mint a BASIC, ezért problémát okozhat, hogy a sorban álló hangoknak fenntartott puffer betelik. Ilyenkor alapértelmezés szerint a SOUND eljárás várakozik addig, amíg a sorban felszabadul hely a berakni kívánt hangnak. Ez a PASCAL program drasztikus lassulását vonhatja maga után.
Ennek a helyzetnek feloldására szolgál a 13 EXOS változó: ha ennek értéke 1..255 között intervallumban van, nincs várakozás, helyette a SOUND eszköz .SQFUL hibát ad vissza ra-ban. Ezt a hibát lekezelendő újra azt a hangot kell a sorba raknunk, amit az előző próbálkozásnál nem sikerült."

http://ep128.hu/Ep_Util/Hisoft_Pascal.htm
Title: Re: EXOS
Post by: endi on 2017.October.23. 15:36:40
vajon lehet valahogy olyat hogy az esc szekvenciákat tartalmazó fájlt valahogy betölteni a memóriába, hogy ne kelljen mindig fájlból lejátszani?
lehetőleg ügye exdos nélkül, mert tudom, azon ott a ramdisk. (mekkora királyság lett volna ha alapból része az exdosnak a ramdisk...).
persze tudom, stringbe be lehet tölteni és azt szépen kiírogatni a csatornára, csak hát az valszeg tök lassú lesz.
Title: Re: EXOS
Post by: IstvanV on 2017.October.23. 15:47:24
vajon lehet valahogy olyat hogy az esc szekvenciákat tartalmazó fájlt valahogy betölteni a memóriába, hogy ne kelljen mindig fájlból lejátszani?
lehetőleg ügye exdos nélkül, mert tudom, azon ott a ramdisk. (mekkora királyság lett volna ha alapból része az exdosnak a ramdisk...).
persze tudom, stringbe be lehet tölteni és azt szépen kiírogatni a csatornára, csak hát az valszeg tök lassú lesz.

BASIC-ben sok más lehetőség nincs, esetleg memóriába olvasni és onnan egy rövid gépi kódú rutinnal lejátszani. De a lassúság talán nem is nagy probléma ha a program egyébként is 250 MHz-es CPU-t igényel. :)
Title: Re: EXOS
Post by: endi on 2017.October.23. 15:57:46
BASIC-ben sok más lehetőség nincs, esetleg memóriába olvasni és onnan egy rövid gépi kódú rutinnal lejátszani. De a lassúság talán nem is nagy probléma ha a program egyébként is 250 MHz-es CPU-t igényel. :)

most egy demót írok ami 10 generált zenét tartalmaz, ahhoz kéne. ez sima gépen is megy. ki lehet választani 10 zenét.
na mindegy, akkor csak exdossal fog menni :)
Title: Re: EXOS
Post by: szipucsu on 2017.October.23. 16:27:32
most egy demót írok ami 10 generált zenét tartalmaz, ahhoz kéne. ez sima gépen is megy. ki lehet választani 10 zenét.
na mindegy, akkor csak exdossal fog menni :)
DATA sorokban tárold le, ami a kimentett ESC szekvenciákban van benne. Karakterenként.
Title: Re: EXOS
Post by: IstvanV on 2017.October.23. 16:36:44
DATA sorokban tárold le, ami a kimentett ESC szekvenciákban van benne. Karakterenként.

Az úgy szerintem nem lenne jó, az a lényeg, hogy file legyen betölthető és ne legyen az adat fixen a BASIC programba építve. Erre a célra talán le lehetne foglalni egy területet (ALLOCATE) és azt egyszerű gépi kódú rutinokkal kezelni, amelyek EXOS blokk olvasás/írás műveletet végeznek.
Title: Re: EXOS
Post by: endi on 2017.October.26. 18:59:07
az a baj hogy nincs olyan csatorna fajta hogy "buffer". mert ügye nem tehetem meg hogy hang esc szekvenciákat kiírok mondjuk egy szöveges képernyőre, majd onnan bármikor le tudom játszani get és hasonló parancsokkal kiolvasva...
Title: Re: EXOS
Post by: szipucsu on 2017.October.26. 20:12:55
nem tehetem meg hogy hang esc szekvenciákat kiírok mondjuk egy szöveges képernyőre, majd onnan bármikor le tudom játszani get és hasonló parancsokkal kiolvasva...
Nyithatsz 256 színű grafikus lapot, oda plottal kiírhatod a szekvencia éppen aktuális bájtjának megfelelő színkódokat sorban pontokként, és a look utasítással beolvashatod. De gondolom, kicsit sok helyet foglal. A look-ot ne használd önmagában paraméterek nélkül, különben Picasso alkotást fog mutatni a gép lefagyás előtt.
Vagy még volt az a mód, ahol 256 színű karaktereket tudtál megjeleníteni, de az biztos nem jó erre.
Title: Re: EXOS
Post by: IstvanV on 2017.October.26. 23:22:11
az a baj hogy nincs olyan csatorna fajta hogy "buffer". mert ügye nem tehetem meg hogy hang esc szekvenciákat kiírok mondjuk egy szöveges képernyőre, majd onnan bármikor le tudom játszani get és hasonló parancsokkal kiolvasva...

Az ALLOCATE utasítással lehetséges puffert foglalni, amibe utána EXOS 6 hívással lehet csatornáról olvasni, vagy EXOS 8 hívással csatornára írni. Ez néhány byte gépi kód. Példa ennek a használatára:
[attachurl=1]
Talán célszerűbb lenne, ha a visszatérési érték a ténylegesen olvasott vagy írt adat mérete lenne, ez hasznos ismeretlen méretű file olvasásánál.
Title: Re: EXOS
Post by: endi on 2017.October.27. 00:16:34
Az ALLOCATE utasítással lehetséges puffert foglalni, amibe utána EXOS 6 hívással lehet csatornáról olvasni, vagy EXOS 8 hívással csatornára írni. Ez néhány byte gépi kód. Példa ennek a használatára:
(Attachment Link)
Talán célszerűbb lenne, ha a visszatérési érték a ténylegesen olvasott vagy írt adat mérete lenne, ez hasznos ismeretlen méretű file olvasásánál.

igen, talán ez lesz a megoldás. remélem elég gyors lesz az esc szekvenciák küldéséhez.
Title: Re: EXOS
Post by: Povi on 2017.October.27. 09:06:34
igen, talán ez lesz a megoldás. remélem elég gyors lesz az esc szekvenciák küldéséhez.
Gépi kódú rutinnál nehezen tudok elképzelni gyorsabbat :-)
Title: Re: EXOS
Post by: endi on 2017.October.28. 23:54:58
Gépi kódú rutinnál nehezen tudok elképzelni gyorsabbat :-)

ja, mondjuk lehetne csinálni egy asm programot ami betölti a zenéket és egy másikat ami lejátssza. úgyis elég nagyok ezek az esc szekvenciás zenék, talán még szegmenset is érdemes lenne lefoglalni hozzá.
szöveges kalandjátékaimban a grafika volt így megoldva. a játék basic volt, a kirajzolás is, de lefoglalt szegmensre töltöttem be a grafikákat :)
Title: Re: EXOS
Post by: endi on 2017.November.12. 15:35:08
olyat lehet exos-al, hogy direkt video szegmenset igényelni?
mert így talán elkerülhető lenne az hogy egy videó csatorna két szegmensre lóg.
csinálok egy lpt-t és a memóriacímeket a kért szegmensre raknám
Title: Re: EXOS
Post by: ergoGnomik on 2017.November.12. 16:14:05
olyat lehet exos-al, hogy direkt video szegmenset igényelni?
Szerintem ezt már többször is írták, hogy nem. Addig kell foglalgatni sorban a szegmenseket, amíg amit kapsz az videó szegmenst, vagy hibával ki kell lépni a programból. Persze a felesleges szegmenseket fel kell szabadítani.
Title: Re: EXOS
Post by: IstvanV on 2017.November.12. 16:24:07
Az ilyen módon foglalt szegmens természetesen nem lenne használható az EXOS VIDEO: eszközével, tehát BASIC-ben mindent POKE utasításokkal kellene rajzolni vagy kiírni. :)
Title: Re: EXOS
Post by: endi on 2017.November.12. 16:44:14
Az ilyen módon foglalt szegmens természetesen nem lenne használható az EXOS VIDEO: eszközével, tehát BASIC-ben mindent POKE utasításokkal kellene rajzolni vagy kiírni. :)

ez lenne a lényeg :)
Title: Re: EXOS
Post by: endi on 2017.November.22. 10:12:39
azon gondolkodtam, hogy egy exos video sorban (tehát 9 pixel magas sor) változhat-e a videómemória szegmense?
mert elvileg megcsinálhatták azt hogy úgy választják meg a videólap kezdőcímét, hogy ezt kiküszöböljék.
ez azért elég hasznos lehetne.
Title: Re: EXOS
Post by: geco on 2017.November.22. 10:51:35
azon gondolkodtam, hogy egy exos video sorban (tehát 9 pixel magas sor) változhat-e a videómemória szegmense?
mert elvileg megcsinálhatták azt hogy úgy választják meg a videólap kezdőcímét, hogy ezt kiküszöböljék.
ez azért elég hasznos lehetne.
Az biztos, hogy lehetnek mixelve az LPB-k címei, és szerintem egy LPB címe is változhat szegmensek között, ha arról van szó.
Title: Re: EXOS
Post by: endi on 2018.January.26. 16:26:08
vajon igaz lehet ez az állítás? exos alatt az lpt-t tartalmazó videolap mindig be van lapozva.
Title: Re: EXOS
Post by: szipucsu on 2018.January.26. 19:22:37
Az EXOS-nak mi a shell része? Van egyáltalán? Amikor a basic bejelentkezik, az már a basic, nem az EXOS.
Title: Re: EXOS
Post by: Tomato77 on 2018.January.26. 19:58:09
vajon igaz lehet ez az állítás? exos alatt az lpt-t tartalmazó videolap mindig be van lapozva.

Ha saját LPT-d van valamelyik videoszegmensen, azt csak úgy éred el, ha belapozod. Basic-ben SPOKE-kal meg tudsz adni szegmens számot, de szerintem ő is lapoz a háttérben. A Nick eléri közvetlenül az FC-FF szegmenseket, de ha írni szeretnél rá vagy olvasni róla, akkor gondoskodnod kell róla, hogy valamelyik lapra be legyen lapozva.
Title: Re: EXOS
Post by: endi on 2018.April.26. 17:26:28
másik topikban van szó a relocatable kódról.
na most arra emlékszem hogy van relatív ugrás meg ilyesmik, de más most nem ugrik be, hogy hogyan is kell megoldani (változók, memóriakezelés stb).
de nem is ez a kérdésem. hanem az hogy ügye a lapozással lehetne olyan "áthelyezhető" programot csinálni aminek nem kell relatív kódon futnia, igaz, így elfoglal mindig 16K-t, és ügye mindig csak megadott lapra lapozható be.
ilyet támogat az exos?
nem mintha akarnék ilyet csinálni, csak érdekesség...
Title: Re: EXOS
Post by: Povi on 2018.April.26. 17:49:09
másik topikban van szó a relocatable kódról.
na most arra emlékszem hogy van relatív ugrás meg ilyesmik, de más most nem ugrik be, hogy hogyan is kell megoldani (változók, memóriakezelés stb).
de nem is ez a kérdésem. hanem az hogy ügye a lapozással lehetne olyan "áthelyezhető" programot csinálni aminek nem kell relatív kódon futnia, igaz, így elfoglal mindig 16K-t, és ügye mindig csak megadott lapra lapozható be.
ilyet támogat az exos?
nem mintha akarnék ilyet csinálni, csak érdekesség...
a rendszerbővítő nem ilyen? az mindig a 3. lapon fut
Title: Re: EXOS
Post by: Povi on 2018.December.01. 11:28:01
Az EXOS 29 hívást hogy kell használni?
Rendszerbővítőt szeretnék betölteni 5-ös fejlécű programból.
Megnyitom a fájlt exos 1-gyel, majd exos 29, ha jól értem, de a DE-nek hova kell mutatnia?
Nekem kéne biztosítani a helyet a fájl betöltéséhez is? Vagy elég csak 16 byte-nyi területet fönntartanom neki (ami bárhol lehet a nullás lapon), és annak a puffernak a címét írjam a DE-be?
Title: Re: EXOS
Post by: Zozosoft on 2018.December.01. 11:42:53
16 bájt kell fejlécpuffernek. (Ha a rendszer által nem felismert modul, akkor itt kapja vissza a hívó program a fejlécet, hogy saját maga tudja kezelni.)
Title: Re: EXOS
Post by: IstvanV on 2018.December.01. 16:15:39
Vagy elég csak 16 byte-nyi területet fönntartanom neki (ami bárhol lehet a nullás lapon), és annak a puffernak a címét írjam a DE-be?

Ha jól látom, nem csak a 0. lapon lehet, hanem bárhol a felhasználói memóriában (a BFFCh..BFFFh táblázat alapján belapozza az EXOS), de nem léphet át laphatárt.

A ROM: eszköz (https://enterpriseforever.com/programozas/fajltomorites-enterprise-on/msg73291/#msg73291) kódja talán rövidülhetne egy keveset, ha az "1" billentyűs betöltésnél nem foglalna helyet a puffernek a veremben, mivel a tartalmát nem használja, elvileg akár a ROM-ra is mutathatna. :)
Title: Re: EXOS
Post by: Povi on 2019.February.10. 17:53:02
most, hogy működik a kis RTC-m, jó lenne, ha minden reset-kor (hideg- és meleg egyaránt!) lefutna egy szinkronizáció a RTC idő és az EXOS idő között. Ehhez nagyságrendileg 100 byte-ra van szükségem. Hova lehetne tenni (én az SD-kártya flash-jébe gondoltam, azt lenne a legegyszerűbb itthon módosítani). Kérdés: van-e ott elég hely? Másik kérdés: az EXOS-ba is kéne valamit módosítani, vagy eltéríthető valahogy a reset, anélkül, hogy az EXOS ROM-ot módosítanánk?
Title: Re: EXOS
Post by: gflorez on 2019.February.10. 18:36:46
Már létezik egy olyan Rom, ami ezt teszi, ZozoTools, miért nem kérdezed meg Zozo, hogy vonja be az RTC-t a Rom?

A ZozoTools megszakításvezérelt, így a rendszeróra mindig naprakész, nem csak a kezdetén.

------

There is already a Rom that does that, ZozoTools, why don't you ask Zozo to include your RTC in that Rom?

ZozoTools is interrupt-driven so, the system clock is always up to date, not only at start.
Title: Re: EXOS
Post by: Povi on 2019.February.10. 18:55:35
yes, I know ZozoTools, but I'd like to do it in my way, because I can learn from it :-)
Title: Re: EXOS
Post by: Zozosoft on 2019.February.10. 19:21:32
Az SD ROM-jába éppen most faragom az SD-s RTC RTC-jét... nem nagyon lesz ott már hely. De ha van EXOS 2.4-ed akkor kidobhatod a BASIC-et az SD-ből.
Title: Re: EXOS
Post by: Povi on 2019.February.11. 10:27:06
kidobhatod a BASIC-et az ED-ből.
mi az az ED? Vagy SD akart lenni? Benne van a BASIC???
Title: Re: EXOS
Post by: Zozosoft on 2019.February.11. 10:42:48
mi az az ED? Vagy SD akart lenni? Benne van a BASIC???
SD akart lenni :oops:
A 4-5-ös szegmens az lényegében megfelel az EXOS 2.4 2-3 szegmensének, így ha az van a gépben, akkor ezekkel lehet szabadon garázdálkodni :-) (Van már olyan EXOS 2.4 amiben benne van a :FILE, ilyen esetekre :-) )
Title: Re: EXOS
Post by: Povi on 2019.February.11. 11:00:05
Nekem szerintem valami nagyon régi cucc van az SD-kártyámban.
Tudsz olyan friss FLASH.ROM-ot küldeni, ami az első generációs SD-kártyához jó (nincs benne RTC), és van benne ISDOS is?
És akkor ha jól értem, ezek a cuccok a 6-7 szegmenst foglalják el, a 4-5-re bármit tehetek?

A másik kérdés: EXOS reset-kor kéne meghívódni a rutinomnak. Ez hogyan oldható meg? (meleg reset-kor is)
Title: Re: EXOS
Post by: Zozosoft on 2019.February.13. 09:54:51
Tudsz olyan friss FLASH.ROM-ot küldeni, ami az első generációs SD-kártyához jó (nincs benne RTC), és van benne ISDOS is?
A most béta tesztelődő EXDOS 3.0-val lesz ISDOS is (az már kihasználja a lapozható részt is a 7-es szegmensen).
Addig mondjuk azt lehetne, hogy normál EXDOS-ISDOS ROM-ot rakni a 5-6-ra.

Quote
a 4-5-re bármit tehetek?
Az 4-5 az variálható, ha van EXOS 2.4 a gépben. (Amúgy is, csak akkor nem lesz BASIC, FILE meg gyorsteszt)

De hamár úgyis benne vagy a hw készítésbe, egy 74HCT138-al be lehet kötni 512K-s Flash ROM-ot. (http://ep.homeserver.hu/Galery/Bovitmenyek/Picture/512K-FLASHROM~1.jpg) (És akár még pár 512-es SRAM is mehet rá)
És akkor bőven lesz helyed mindenre.

Quote
A másik kérdés: EXOS reset-kor kéne meghívódni a rutinomnak. Ez hogyan oldható meg? (meleg reset-kor is)
Rendszerbővítőt (http://ep128.hu/Ep_Konyv/Exos.htm#38) kell írni, és aztán ott a 8-as akciókód.
Title: Re: EXOS
Post by: Povi on 2019.February.13. 21:02:38
no, csináltam a egy EXOS_ROM-ot (kemény 71 byte lett), most ezt raktam az 4-es szegmensre, jó kis pazarlás :-)

no, megértettem ezt a 8-as akciókódot, most reset-kor mindig frissul az óra.

Most azt akarom csinálni, hogy viszont hideg-reset-kor írjon ki nekem valami szöveget, hasonlóan, mint pl. az SD-kártya driver-e. Azt hogy csinálom? Jól értem a leírást, hogy erre az 1-es akciókódot kell használni? És visszatéréskor őrizzem meg szintén a C regiszter tartalmát?

Ha igen, akkor először mindenképpen az 1-es kód jár körbe, és a 8-as már nem fog? Vagy hideg-reset esetében mindkettő kód körbeszaglássza a bővítőket?
Title: Re: EXOS
Post by: Zozosoft on 2019.February.13. 21:09:37
Ha igen, akkor először mindenképpen az 1-es kód jár körbe, és a 8-as már nem fog? Vagy hideg-reset esetében mindkettő kód körbeszaglássza a bővítőket?
Elsőként 7-es aztán 8-as, itt jön bejelentkező kép. Aztán jön az 1-es, ebben nézi az EXDOS az EXDOS.INI-t, majd pedig a BASIC indul (ha nincs más magától induló berakva).
Title: Re: EXOS
Post by: Povi on 2019.February.13. 21:18:07
Elsőként 7-es aztán 8-as, itt jön bejelentkező kép. Aztán jön az 1-es, ebben nézi az EXDOS az EXDOS.INI-t, majd pedig a BASIC indul (ha nincs más magától induló berakva).
hm... akkor ha jól értem, ha induláskor (hideg reset-kor) ki akarom írni, hogy "hello", akkor ezt intézzem a 7-es kóddal (itt használnahatok-e szabályos videolap nyitást, vagy lpt-varázslat kell?), és ha nem kell egyébként RAM, akkor return-kor küldjem vissza a C-t változatlanul, (a többi regisztert elronthatom?), és ezek után még meg fog hívódni a 8-as akciókód is?
Title: Re: EXOS
Post by: Povi on 2019.March.04. 11:14:13
próbálkozok saját eszközt létrehozni, amivel az RTC modulon lévő EEPROM-ot tudnám írni / olvasni.

Viszont a kérdés a következő: ha megnyitom az eszközt, akkor írhatok, és olvashatok is. Viszont én azt akarom, ha megnyitottam, akkor csak olvasni lehessen, vagy csak írni. A BASIC-ben van ilyen, hogy ACCESS INPUT / OUTPUT, de ennek valójában mi a gépi kódú megfelelője?

Magyarul: ha megnyitottam az eszközt, akkor után írhatom, vagy olvashatom, de ha pl. írtam, akkor az olvasáshoz le kelljen zárni, és újra nyitni.

szerk: "Olvasásra megnyitott csatornára nem lehet írást végezni és fordítva sem. Olvasási csatornát csatornamegnyitás hívással, írási csatornát pedig csatornalétrehozás hívással lehet megnyitni. A magnókezelő az egyetlen olyan beépített eszköz, ami különbséget tesz e két EXOS-hívás között."

valami ilyesmit kéne nekem is csinálni, ha jól értem
Title: Re: EXOS
Post by: Zozosoft on 2019.March.04. 11:30:07
A BASIC-ben van ilyen, hogy ACCESS INPUT / OUTPUT, de ennek valójában mi a gépi kódú megfelelője?
EXOS 1/EXOS 2
Title: Re: EXOS
Post by: Povi on 2019.March.04. 11:48:27
EXOS 1/EXOS 2
és akkor ha jól értem, szükségem lesz egy byte-nyi csatorna RAM-ra is, amiben eltárolom, hogy most írása, vagy olvasásra van-e megnyitva a csatorna, és ez alapján hajtom végre pl. a blokkírás funkciót, vagy dobok egy hibát.
Title: Re: EXOS
Post by: Povi on 2019.March.04. 15:04:41
ha a blokkírás / olvasás implementálva van, akkor onnantól kezdve működik automaikusan a :load, :copy stb. parancs is az adott eszközre? (vagy a BASIC LOAD, SAVE?)

ill. másik kérdésem az EOF -val kapcsolatos. Maga az EEPROM 4kB-os, de ha csak pl. 1kB-nyi adat van rámentve, akkor honnét tudja majd az EXOS, hogy elérte a fájlvéget? Nyilván nekem (a saját periféria vezérlőmnek) kéne küldenie EOF hibaüzenetet, ha többet próbálunk olvasni az eszközről, mint 1kB (a példánál maradva). De ebben az esetben akkor úgy látom, nekem a fájlhosszt is le kéne menteni az EEPROM-ba, mondjuk pl. úgy, hogy azt az első két byte tartalmazná?

Fájlnevekkel, és több fájl rámentésére az EEPROM-ra nem akarok foglalkozni.
Title: Re: EXOS
Post by: Zozosoft on 2019.March.04. 15:19:33
ha a blokkírás / olvasás implementálva van, akkor onnantól kezdve működik automaikusan a :load, :copy stb. parancs is az adott eszközre? (vagy a BASIC LOAD, SAVE?)
Kell hozzá a karakterírás/olvasás is, de igen.

Quote
ill. másik kérdésem az EOF -val kapcsolatos. Maga az EEPROM 4kB-os, de ha csak pl. 1kB-nyi adat van rámentve, akkor honnét tudja majd az EXOS, hogy elérte a fájlvéget? Nyilván nekem (a saját periféria vezérlőmnek) kéne küldenie EOF hibaüzenetet, ha többet próbálunk olvasni az eszközről, mint 1kB (a példánál maradva). De ebben az esetben akkor úgy látom, nekem a fájlhosszt is le kéne menteni az EEPROM-ba, mondjuk pl. úgy, hogy azt az első két byte tartalmazná?
Így van.
Vagy csinálhatod azt, hogy nem foglalkozol a hosszal, és 4K-nál küldesz EOF-ot. Ez nagyjából csak a COPY-nál fog számítani. Ha mondjuk BASIC program van rámentve, az úgyis fejléc alapján tölt. Vagy ha más program használja, az úgyis megmondja EXOS 6-nál a szükséges méretet.
Title: Re: EXOS
Post by: IstvanV on 2019.March.05. 12:31:12
A Quadrillion Full a START programmal indítva valamiért gyakran lefagy, nem tudom, ez a START hibája-e, vagy EXOS bug az 5-ös fejlécű modul betöltésénél, régebben is volt hasonló véletlenszerű fagyás EXOS 0 hívásoknál. :oops: A 100h címet mindenesetre már nem éri el.

Valahol itt lehet a bug (00h szegmens), a program indítása közben engedélyezett a megszakítás, és hibát eredményez, ha a JP 0042h után nem szerencsés időzítéssel történik megszakítás:
Code: ZiLOG Z80 Assembler
  1. .   CAD4  21 00 01     LD    HL, 0100
  2. .   CAD7  22 F8 BF     LD    (BFF8), HL
  3. .   CADA  31 17 B2     LD    SP, B217
  4. .   CADD  0E 20        LD    C, 20
  5. .   CADF  C3 3B C1     JP    C13B
  6.  
  7. .   C13B  D9           EXX
  8. .   C13C  3A FC BF     LD    A, (BFFC)
  9. .   C13F  D3 B0        OUT   (B0), A
  10. .   C141  21 AA C3     LD    HL, C3AA
  11. .   C144  11 17 B2     LD    DE, B217
  12. .   C147  01 3B 00     LD    BC, 003B
  13. .   C14A  ED B0        LDIR
  14. .   C14C  11 30 00     LD    DE, 0030
  15. .   C14F  0E 2B        LD    C, 2B
  16. .   C151  ED B0        LDIR
  17. .   C153  2A F8 BF     LD    HL, (BFF8)
  18. .   C156  E5           PUSH  HL
  19. .   C157  ED 43 F8 BF  LD    (BFF8), BC
  20. .   C15B  3E 80        LD    A, 80
  21. .   C15D  32 79 BF     LD    (BF79), A
  22. .   C160  3E 06        LD    A, 06
  23. .   C162  C2 40 CB     JP    NZ, CB40
  24. .   C165  D9           EXX
  25. .   C166  AF           XOR   A
  26. .   C167  C3 42 00     JP    0042
Talán javítaná, ha a START az EXOS 29 előtt a B4h port írásával tiltaná a megszakításokat, mivel a rendszer a portot az EXOS reset közben újra beállítja, de csak a fenti problémás részlet után.
Title: Re: EXOS
Post by: Povi on 2019.March.07. 10:59:30
ROM fájlt be lehet valahogy tölteni?

Jelenleg készítem az EEPROM driver-t, ami EXOS_ROM formátumú, de teszteléshez macera lenne mindig újra égetni a flash-t az SD-kártyán.

Tudom, hogy az EPDOS-ban ott az LROM parancs, ami pont erre jó, de az EPDOS is csak ROM formában van meg (persze beégethetem azt is a 4-5 szegmensre).

A ZozoTools meg van EXT formátumban, de ott csak ROM likvidátor van, amivel csak kiírtani lehet ROM-ot, betölteni nem (vagy mégis?)
Title: Re: EXOS
Post by: Zozosoft on 2019.March.07. 11:40:17
az EPDOS is csak ROM formában van meg
Meg betölthetőben :-) (https://enterpriseforever.com/programozas/epdos-fejlesztese/msg27081/#msg27081)

Ennek a betöltő részéből fabrikálhatsz sajátot is.

De ha csak simán betöltöd egy szegmensre, és nyomsz egy hideg resetet (C+Reset), a gyors tesztem megtalálja ROM szimulációként.
Title: Re: EXOS
Post by: Povi on 2019.March.07. 13:47:14
De ha csak simán betöltöd egy szegmensre, és nyomsz egy hideg resetet (C+Reset), a gyors tesztem megtalálja ROM szimulációként.
Na, ez tűnik egyelőre a legegyszerűbbnek, és működik!

Kérdés:
most már működik a karakter és blokk olvasás
exos 6-tal szépen be tudok olvasni az EEPROM-ból

viszont pl. ASMON-ban a "R" paranccsal már hülyeségeket csinál, de a WP-ben is az F1-re
mi hiányzik még?
Code: [Select]
READ_BLCK:
; exos 6

        ld   a, b
        or   c
        ret  z
        push de
        in   a, (0b1h)
        ex   af, af'        ; save A
        call SET_USER_SEGMENT
        call rdChr
        ld   (de), a
        ex   af, af'        ; restore A
        out  (0b1h), a
        pop  de
        inc  de
        dec  bc
        jp   READ_BLCK
Title: Re: EXOS
Post by: Zozosoft on 2019.March.07. 14:13:15
EXOS 5 és 9 meg van?
Title: Re: EXOS
Post by: Povi on 2019.March.07. 14:30:37
az exos 9-re mindig 0-át adok vissza a C-ben és az A-ban is
az exos 5 meg van:
Code: [Select]
; ======================================================================

READ_CHR:
; exos 5

        call rdChr
        ld   b, a
        xor  a
        ret

rdChr:  ld   a, CMD_RD_BYTE_EEPROM
        out  (port_PIC), a
        jr   $ + 2          ; wait 12T cycle
        in   a, (port_PIC)
        ret

; ======================================================================
Title: Re: EXOS
Post by: Povi on 2019.March.07. 15:23:59
no, közben hozzáadtam EOF vizsgálatot (a file méretet is eltárolom az EEPROM első két byte-ján): WP-ben már beolvassa hibátlanul, ASMON-ban még nem az igazi...
Title: Re: EXOS
Post by: Povi on 2019.March.07. 16:24:24
arra rájöttem már, hogy az EXOS 5 jól működik, de a EXOS 6 valamiért nem lép ki EOF hibaüzenettel, amikor eléri a fájlvéget... Úgy tűnik, akkor a WP EXOS 5-tel olvassa be a cuccot...
Title: Re: EXOS
Post by: Zozosoft on 2019.March.07. 16:29:13
EXOS 6 valamiért nem lép ki EOF hibaüzenettel, amikor eléri a fájlvéget...
Az ide betett kódodban nincs EOF vizsgálat :oops:
Title: Re: EXOS
Post by: Povi on 2019.March.07. 16:31:30
Az ide betett kódodban nincs EOF vizsgálat :oops:
tudom, azóta változott:
hátha látod a hibát:
az IX-1 és IX-2 a fájlméret negáltját tárolja (IX-2 low byte, IX-1 high byte)
Code: [Select]
; ======================================================================

READ_CHR:
; exos 5

        ld   a, (ix-1)
        or   (ix-2)
        ld   a, 0E4h         ; End of file
        ret  z
        call rdChr
        ld   b, a
        xor  a
        ret

rdChr:  ld   a, CMD_RD_BYTE_EEPROM
        out  (port_PIC), a
        jr   $ + 2          ; wait 12T cycle
        in   a, (port_PIC)
       
        inc  (ix-2)
        ret  nz
        inc  (ix-1)
        ret

; ======================================================================

READ_BLCK:
; exos 6

        ld   a, b
        or   c
        ret  z
        ld   a, (ix-1)
        or   (ix-2)
        ld   a, 0E4h        ; End of file
        ret  z
        push de
        in   a, (0b1h)
        ex   af, af'        ; save A
        call SET_USER_SEGMENT
        call rdChr
        ld   (de), a
        ex   af, af'        ; restore A
        out  (0b1h), a
        pop  de
        inc  de
        dec  bc
        jp   READ_BLCK

; ======================================================================
Title: Re: EXOS
Post by: Povi on 2019.March.07. 18:34:12
naaaa, rájöttem a hibára!

megcsináltam az exos 7 és 8 funkciókat is, és ott is hasonló hiba jött elő: a karakteres írás működött, de blokkírás nem igazán

aztán rájöttem, hogy azért, mert a csatorna RAM, amire az IX mutat, az a P1-en van, és én kilapozom azt blokkműveletnél!!!!

szerk: MOST MÁR MŰKÖDIK!!! COPY, LOAD, SAVE stb... minden fasza! :razz:
Title: Re: EXOS
Post by: Povi on 2019.March.07. 20:38:22
egyébként ami nem világos nekem az EXOS leírásból: milyen regisztereket kell megőriznem?
az ugye világos, hogy az A-ban adok vissza hibakódot, vagy nullát. BC és DE regiszterben meg eredményt. De pl. mi van olyan hívásoknál, ahol nincs eredmény, csak az A-ban? Pl. EXOS 1 esetén? Akkor BCDE-t is elronthatom? Mi van a vesszős regiszterekkel? Azokat is megváltoztathatom?
Title: Re: EXOS
Post by: Povi on 2019.March.09. 21:16:55
sebességteszt:

közvetlen portírással / olvasással, 256 byte-os puffer-t használva (egyszerre ennyi adatot töltök be az EEPROM-ból) 11700 byte / sec. A 256 bájtnyi adat valójában 2313 bitnyi jel az I2C buszon, ha jól számolom.

Puffer használata nélkül közvetlen port olvasással: 5715 byte / sec, ebben az esetben a 256 bájt valójában 4608 bitnyi infó a buszon, szóval reális a kb. kétszeres sebesség a puffer használata esetén.

Ugyanez a 256 byte-os buffer-es módszer EXOS 6-tal már csak 3960 byte/sec. Szóval van még mit faragni, főleg, hogy pl. minden bájtolvasásnál újra számolom a DE-t az egyes lapra...

Puffer nélkül EXOS 6-tal 3360 byte / sec, szóval minimális a gyorsulás, ebből is látszik, hogy a fő overhead maga az EXOS 6 rutinom, amit még faragni kéne :-D
Title: Re: EXOS
Post by: Povi on 2019.March.09. 22:52:16
egyébként ami nem világos nekem az EXOS leírásból: milyen regisztereket kell megőriznem?
az ugye világos, hogy az A-ban adok vissza hibakódot, vagy nullát. BC és DE regiszterben meg eredményt. De pl. mi van olyan hívásoknál, ahol nincs eredmény, csak az A-ban? Pl. EXOS 1 esetén? Akkor BCDE-t is elronthatom? Mi van a vesszős regiszterekkel? Azokat is megváltoztathatom?
Asszem meg van a megoldás: "A perifériakezelő alprogramok tönkretehetik az összes regiszter - közöttük az indexregiszterek és az alternatív regiszterkészlet regisztereinek - tartalmát, mivel ezek a tárolását az EXOS hajtja végre. "
Title: Re: EXOS
Post by: Povi on 2019.March.09. 22:57:11
Amit viszont nem értek:
a csatorna RAM mindig az 1-es lapon lesz, ha jól értem. (ide mutat az IX regiszter).
Akkor EXOS 6 és 8 esetén, miért az 1-es lapra számoljuk át a DE értékét? Így állandóan lapozgatni kell, ha nekem szükségem van a csatorna RAM-ra (mondjuk ott van a puffer, ott tárolom a fájlméretet, ami alapján nézem, hogy EOF van-e).
Logikusabb lenne nekem a 2-es lapra átszámolni a DE-t, és odalapozni. A 2-es lapon úgyis csak a rendszerszegmens van, szóval szerintem tiltott megszakítás mellett, és CALL / RET / PUSH / POP használata nélkül működne a dolog, mivel ha jól értem, a verem is a rendszerszegmensen van ilyenkor. Aztán a végén persze visszalapoznám a rendszerszegmenst a 2-es lapra. Vélemény? De akár a nullás lapra is tehetném, tiltott megszakítás mellett, és akkor a verem használatáról se kéne lemondanom.
Title: Re: EXOS
Post by: Povi on 2019.March.10. 11:43:07
átírtam a blokk olvasó rutint, most a nullás lapra van belapozva a DE által kapott cím, a P1-en marad a csatorna RAM.
Így eléggé fölgyorsult, most 7447 byte / sec lett az eredmény a korábbi 3960 helyett.

Code: [Select]
READ_BLCK:
; exos 6

        bit  0, (ix-3)
        jp   nz, RET_NOFN

        ; HL = pointer to buffer
        ld   l, (ix-6)
        ld   h, (ix-5)

        ; DE' = DE
        push de
        exx
        pop  de
        exx

        in   a, (0b0h)
        push af
        di
        call SET_USER_SEGMENT0  ; at return DE points to P0

.loop:  ld   a, b
        or   c
        jr   z, .vege           ; if (BC == 0) { A = 0; goto vege; }

        ld   a, (ix-1)
        or   (ix-2)
        jr   z, .eof

        inc   (ix-4)
        call  z, Read256ByteFromEeprom
        ldi
        exx
        inc   de
        exx
        bit   6, d
        call  nz, SET_USER_SEGMENT0

        inc  (ix-2)
        jp   nz, READ_BLCK.loop
        inc  (ix-1)
        jp   READ_BLCK.loop

.eof:   ld   d, ERR_EOF         ; End of file
        db   020h               ; JR NZ, .. skip next byte
.vege:  ld   d, a               ; no error
        pop  af
        out  (0b0h), a
        ei
        ld   a, d
        ld   (ix-6), l
        ld   (ix-5), h
        exx
        push de
        exx
        pop  de
        ret
Title: Re: EXOS
Post by: Povi on 2019.March.10. 22:37:40
van-e valami hátrány, ha kilapozom a rendszer alól a nullás lapszegmenst, vagy tiltott megszakítás mellett nem lehet semmi gond, ugye?
Title: Re: EXOS
Post by: geco on 2019.March.11. 13:55:43
van-e valami hátrány, ha kilapozom a rendszer alól a nullás lapszegmenst, vagy tiltott megszakítás mellett nem lehet semmi gond, ugye?
Elméletileg nem, azt nézd meg lapozás előtt, hogy ne ott legyen a verem.
Title: Re: EXOS
Post by: endi on 2019.September.08. 17:37:43
van olyan számláló ep-n, ami a bekapcsolástól elkezd számolni?
exos-al elérhető ez, illetve peek jobb lenne.
Title: Re: EXOS
Post by: Zozosoft on 2019.September.08. 17:43:03
van olyan számláló ep-n, ami a bekapcsolástól elkezd számolni?
exos-al elérhető ez, illetve peek jobb lenne.
Az óra nem jó? Vagy ott van még a RANDOM_IRQ változó.
Title: Re: EXOS
Post by: Ferro73 on 2019.September.08. 18:12:56
Ha nincs "cmos real-time clock" hardver akkor a sima TIME változó.
TIME = bekapcsolástól  eltelt idő.
Title: Re: EXOS
Post by: endi on 2019.September.08. 18:31:49
a time-ban a másodperc a legfinomabb, nem? nekem frame kellene, az finomabb.
mi az a RANDOM_IRQ ?
Title: Re: EXOS
Post by: Ferro73 on 2019.September.08. 18:44:52
Van egy 50 Hz számláló. Az elég?
Title: Re: EXOS
Post by: endi on 2019.September.08. 19:03:53
Van egy 50 Hz számláló. Az elég?

az kell nekem :)
Title: Re: EXOS
Post by: Ferro73 on 2019.September.08. 19:08:27
SPEEK(255,16364)
Title: Re: EXOS
Post by: szipucsu on 2019.September.08. 19:21:14
István írt sokszor a polinomszámlálókról, meg talán másról is, amik pörögnek ezerrel, a hang is azoktól van, vagy nincs.
Title: Re: EXOS
Post by: endi on 2019.September.08. 19:43:50
István írt sokszor a polinomszámlálókról, meg talán másról is, amik pörögnek ezerrel, a hang is azoktól van, vagy nincs.

ja, csak ezeket nem lehet kiolvasni
Title: Re: EXOS
Post by: endi on 2019.September.08. 19:45:03
SPEEK(255,16364)

köszi
Title: Re: EXOS
Post by: endi on 2019.September.13. 16:18:31
ki tudja, van-e valahol, mindig belapozott helyen olyan elérhető memória, ami mondjuk 50-100 byte, és lehetne oda rakni saját rutinokat, úgy, hogy nem nagyon zavarná a rendszert? :)
exos/basic alatt.
Title: Re: EXOS
Post by: Ferro73 on 2019.September.13. 16:26:14
Nyiss egy VIDEO: csatornát nem kell DISPLAY -ezned és a video puffer rendelkezésedre áll.
Mind addig míg be nem zárod a csatornát.
Puffer mérete a*b

SET VIDEO X,a
SET VIDEO Y,b
Title: Re: EXOS
Post by: Zozosoft on 2019.September.13. 17:39:44
Mind addig míg be nem zárod a csatornát.
És másikat se. Meg nem is nyitsz. Mert ilyen műveleteknél áthelyezésre kerülhet.
Title: Re: EXOS
Post by: endi on 2019.September.13. 17:59:43
És másikat se. Meg nem is nyitsz. Mert ilyen műveleteknél áthelyezésre kerülhet.

plusz ez video mem, és kérdés, hogy be van-e mindig lapozva?

hm esetleg egy editor: csatorna memórájára?
Title: Re: EXOS
Post by: Ferro73 on 2019.September.14. 00:26:08
Programozás kérdése.
Lesz-/nek/ VIDEO: csatorna-/ák/?
Akkor
Code: [Select]
CLOSE #102
 SET VIDEO X,a
 SET VIDEO Y,b
 ...
 OPEN #255
Ez lesz az a memória amit szeretnél
Ez a 255. lapon lesz, amit a SPEEK(255,xxxx) és a SPOKE 255,xxxx,yy használhatsz.
Mivel az EXOS felülről lefelé telit mint a PUSH a további VIDEO: csatornák már nem zavarnak be.
Különben is milyen EXOS lenne ha e lefoglalt puffert átrakná pláne ha az DISPLAY alatt van.
Akkor az "Entersnake" sem működne ami több mint 20 VIDEO: csatornát használ/-t/.
Title: Re: EXOS
Post by: Zozosoft on 2019.September.14. 07:23:38
Különben is milyen EXOS lenne ha e lefoglalt puffert átrakná pláne ha az DISPLAY alatt van.
Pedig szokott ilyet csinálni, ezért kell a periféraiakezelőknek puffermozgatásra felkészülni. (http://ep128.hu/Ep_Konyv/Exos.htm#32)
Időnként látni is BASIC-ben, hogy ugrál a kép pár pillanatra.

A lényeg, hogy meg kell nyitni mindent amire szükség lesz, aztán lekérdezni a címet. Majd nem bezárni semmit addig amíg használjuk.

Title: Re: EXOS
Post by: Ferro73 on 2019.September.14. 08:57:22
Ezt nem értem pontosan.

De azt el tudom képzelni pl.:
OPEN #1 ...     lefoglal 40 bájtót BA00
OPEN #2 ...     lefoglal 40 bájtót B9F0
OPEN #3 ...     lefoglal 40 bájtót B9E0
OPEN #4 ...     lefoglal 40 bájtót B9D0
OPEN #5 ...     lefoglal 40 bájtót B9C0
CLOSE #3        felszabadít 40 bájtót B9E0
És hogy ne legyen kihasználatlan hely ilyenkor a #4 pufferét áthelyezi B9D0 -> B9E0
Mikor adja vissza azokat az értékeket az EXOS ha nem kérdezek.
Tehát elméletileg kell egy EXOS hívást indítani EXOS x .
És mivel csak 1 csatorna számát adja vissza akár többször is meg kellene ismételni.
Mint egy "defrag" csak egy áthelyezés/ hívás.
Title: Re: EXOS
Post by: Zozosoft on 2019.September.24. 09:25:36
És hogy ne legyen kihasználatlan hely ilyenkor a #4 pufferét áthelyezi B9D0 -> B9E0
És aztán egyből a #5 pufferét is áthelyezi B9C0 -> B9D0
Arra törekszik, hogy a videó memória szabad része mindig egybefüggő legyen, hogy új videó lap nyitásakor a lehető legnagyobb méret legyen elérhető.
Title: Re: EXOS
Post by: endi on 2019.September.24. 09:51:50
És aztán egyből a #5 pufferét is áthelyezi B9C0 -> B9D0
Arra törekszik, hogy a videó memória szabad része mindig egybefüggő legyen, hogy új videó lap nyitásakor a lehető legnagyobb méret legyen elérhető.

ez egy érdekes dolog amúgy, ilyen memória menedzselés se nagyon volt már korabeli gépben, nem?
Title: Re: EXOS
Post by: endi on 2019.September.24. 10:15:24
amúgy a megoldás lehetne az, hogy minden memória írás/olvasás előtt lekérjük az adott sor memória címét az lpt-ből?
Title: Re: EXOS
Post by: Tuby128 on 2019.December.24. 13:10:06
Milyen "set" utasítással lehet lehalkítani a belső hangszórót a magnós töltés idejére. Nem kikapcsolni akarom, csak halkítani.
Title: Re: EXOS
Post by: Tuby128 on 2019.December.24. 13:16:21
Megtaláltam:
Set 12,255
Title: Re: EXOS
Post by: szipucsu on 2019.December.24. 14:17:43
Milyen "set" utasítással lehet lehalkítani a belső hangszórót a magnós töltés idejére.
SET TAPE SOUND OFF
(OFF van benne, de valójában nem lekapcsolja, hanem lehalkítja.)
Title: Re: EXOS
Post by: szipucsu on 2021.February.17. 14:06:53
Az miért van, hogy ha pl. az exos21.rom tartalmában valamit átírok hex editorral, és azt rakom az emulátorba, akkor Internal checksum error üzenettel el sem kezdődik a memóriateszt? Gondolom, a fájlban lévő karakterek kódja alapján ellenőrzi, milyen érték jön ki, és ha nem az, ami kell, akkor nem engedi elindulni a gépet. Viszont ha csak két karaktert megcserélek a rom-ban, akkor is ugyanannyi kéne, hogy legyen a kódok összege, azt sem fogadja el.
Megtaláltam a rom-ban a funkcióbillentyűk szövegeit sorban egymás után. Először azt hittem, a basic romban lesz. A toggle speaker-t akartam átírni valami másra.
Így hogyan lehet romokat fejleszteni? Vagy az ellenőrző rutin is a romban van benne és felül lehet írni mással?
Title: Re: EXOS
Post by: Zozosoft on 2021.February.17. 14:19:10
16 bites az ellenőrző összeg. Ki kell számolni a módosítás utáni új értéket és beírni azt a ROM végére.
Én anno csináltam egy kis programot, amit Asmonból vagy Fenasból lefuttattam a módosított ROM tartalmon és kiszámolta az értéket.

De akár BASIC-ből is meg lehetne csinálni, csak jó lassú lesz, mondjuk manapság van ALT+W :lol:
Title: Re: EXOS
Post by: szipucsu on 2021.February.17. 14:31:52
Ki kell számolni a módosítás utáni új értéket
Hogyan kell kiszámolni? Gondolom, nem az összes addigi karakter kódjának az összege, mert akkor nem befolyásolná, ha csak megcserélek két karaktert.
Én ilyesmire gondoltam:
Code: [Select]
OPEN #1:"exos21.rom" ACCESS INPUT
LET X=0
FOR A=1 TO 32768
GET #1:A$
LET X=X+ORD(A$)
NEXT
CLOSE #1
PRINT "Ezt kell beírni a végére (hex alakban):" X
Title: Re: EXOS
Post by: Zozosoft on 2021.February.17. 15:15:33
Code: [Select]
OPEN #1:"exos21.rom" ACCESS INPUT
LET X=0
FOR A=1 TO 16384
GET #1:A$
LET Y=ORD(A$)
GET #1:A$
LET Y=Y+ORD(A$)*256
LET X=X+Y
NEXT
CLOSE #1
PRINT "Összeg:" X

Ha jól emlékszem nullának kell kijönni. A 0-ás szegmens végéről kell venni az utolsó két bájtot 16 bites értékként, abból kivonni az eltérést, és az így kapott értéket kell visszaírni.
Title: Re: EXOS
Post by: Povi on 2021.February.17. 16:00:08
Az miért van, hogy ha pl. az exos21.rom tartalmában valamit átírok hex editorral, és azt rakom az emulátorba, akkor Internal checksum error üzenettel el sem kezdődik a memóriateszt? Gondolom, a fájlban lévő karakterek kódja alapján ellenőrzi, milyen érték jön ki, és ha nem az, ami kell, akkor nem engedi elindulni a gépet. Viszont ha csak két karaktert megcserélek a rom-ban, akkor is ugyanannyi kéne, hogy legyen a kódok összege, azt sem fogadja el.
Megtaláltam a rom-ban a funkcióbillentyűk szövegeit sorban egymás után. Először azt hittem, a basic romban lesz. A toggle speaker-t akartam átírni valami másra.
Így hogyan lehet romokat fejleszteni? Vagy az ellenőrző rutin is a romban van benne és felül lehet írni mással?
a későbbi exos verziókban ki lett irtva ez a cheksum, azokban már büntetlenül átírhatod a szöveget (de lehet, h rosszul tudom)
Title: Re: EXOS
Post by: Zozosoft on 2021.February.17. 16:12:30
a későbbi exos verziókban ki lett irtva ez a cheksum, azokban már büntetlenül átírhatod a szöveget (de lehet, h rosszul tudom)
Rosszul tudod.
A titkos cheksum lett kiírtva 2.4-ben, ami hardver hibát szimulál ha nem stimmel. Ennek az ellenőrző összegbájt helye lett felhasználva 191-es EXOS változónak.
Title: Re: EXOS
Post by: elmer on 2021.February.17. 16:53:43
Nem tudom, hogy ez segít-e Önnek, de itt van a C kód, amelyet az EXOS ellenorzo összeg javításához használok, amikor megváltoztatom az EXOS karakterkészletet ...

-----------------------------------------------------

I do not know if this will help you, but here is the C code that I use to fix the EXOS checksum when I change the EXOS character set ...

-----------------------------------------------------

Code: [Select]
  // Javítsa az EXOS ellenorzo összeget (az elso szegmens utolsó 2 bájtjában tárolva).
  // Fix the EXOS checksum (stored in the last 2 bytes of the first bank).

  {
    uint16_t * pChecksum = (uint16_t *) aRomBuffer;

    pChecksum[ 0x1FFF ] = 0;

    j = 0;

    for (i = 0; i < 0x4000; ++i)
    {
      j += pChecksum[i];
    }

    j = 0 - j;

    pChecksum[ 0x1FFF ] = (uint16_t) j;
  }
Title: Re: EXOS
Post by: Povi on 2021.February.17. 17:28:56
Gondolom, nem az összes addigi karakter kódjának az összege, mert akkor nem befolyásolná, ha csak megcserélek két karaktert.
Azért lesz más a checksum, mert nem byte-onént adja össze a számokat, hanem 16 bites értékekként.
Tehát pl. tegyük fel, hogy páros címen kezdődik ez a szöveg: "ZOLI", akkor ez így van tárolva a memóriában: 5A 4F 4C 49 (ezek az ASCII kódok hexában)
16 bites számonként olvasva (kis endián ábrázolás miatt az első byte az alsó helyiérték, a második byte a felső helyiérték): 4F5A, és 494C, ezeknek az összege = 98A6

ha megcseréled a két első betűt: OZLI -> 4F 5A 4C 49, a két 16 bites számod ez lesz: 5A4F és 494C, ezeknek összege értelemszerűen más lesz.
Title: Re: EXOS
Post by: Tuby128 on 2022.January.06. 04:04:03
Mire való a
set 8,0
Illetve
Set 8,1
Utasítás?
Azt írja a kézikönyv, hogy a billentyű lenyomás szoftveres IRQ-t (megszakítás) okoz.
Basicben nem láttam különbséget, hol keressem?
Title: Re: EXOS
Post by: Lacika on 2022.January.06. 07:55:10
SET 8,0 = SET INTERRUPT STOP ON - vagyis a futó program megszakítható a STOP billentyűvel (ez az alapértelmezés)
SET 8,1 = SET INTERRUPT STOP OFF
Title: Re: EXOS
Post by: Tuby128 on 2022.January.06. 13:42:04
Ezeket a Set utasításokhoz tartozó számokat és azok azonosítószámát hol találom meg? Ezek szerint akkor eddig a rossz táblázatot néztem.
Title: Re: EXOS
Post by: geco on 2022.January.06. 13:54:07
itt megtalálod: 8. Az EXOS-változók (http://www.ep128.hu/Ep_Konyv/Exos.htm#37)
Title: Re: EXOS
Post by: Tuby128 on 2022.January.06. 15:36:46
Én az angol exos leírást néztem. Ezek szerint hibás.

A set 5 az timer_irq lett, és az egészet elcsúsztatta.
Title: Re: EXOS
Post by: geco on 2022.January.06. 15:54:10
Hát vagy épp az EXOS 2.0 leírását nézed :D , és akkor nem hibás az, hanem human error történt :D :D
Title: Re: EXOS
Post by: Tuby128 on 2022.January.06. 16:29:16
Van egyáltalán angol leírás az exos .1-gyel.
Title: Re: EXOS
Post by: geco on 2022.January.06. 16:52:31
Most nézem, hogy nem is az EXOS 2.0-t nézted, hanem az EXOS 1.0-át.
Zozónál megvan mind a 3 verzió ángliusul (http://enterprise.iko.hu/technical.htm)
Title: Re: EXOS
Post by: szipucsu on 2022.January.06. 18:27:41
Hát vagy épp az EXOS 2.0 leírását nézed :D , és akkor nem hibás az, hanem human error történt :D :D
Akkor a SET 5,akármennyi és hasonló SET-ek máshogy működnek 64-es és 128-as gépen? Akkor lehet, basicből érdemesebb kiírni a teljes szöveget (Pl. set key click off), mint elintézni szép frappánsan a set 6,akármennyivel, különben a kompatibilitásnak lőttek?
UI: Ja, közben rájöttem, az EXOS 1.0 az valami még régebbi verzió, a 2.0 a 64-es gépeké, vagy már nem tudom...
Title: Re: EXOS
Post by: geco on 2022.January.06. 19:19:18
igen, a 2.0 az ep64-ben hasznalt verzio, es az csak 2 EXOS valtozoval tudott kevesebbet, az egyik a sprite, a masikra nem emlexem, es nem volt elteres a tobbi szamozasaban.
Title: Re: EXOS
Post by: Tuby128 on 2022.January.07. 01:13:13
Hol lehet letölteni az Exos 1.x-et? Szívesen megnézném milyen volt az új kor hajnala.
Title: Re: EXOS
Post by: geco on 2022.January.07. 09:00:21
http://enterprise.iko.hu/technical/ET10-9_EXOS_1_Kernel_Specification.pdf
Title: Re: EXOS
Post by: Tuby128 on 2022.January.07. 09:20:17
Mármint a rom file-t.
Title: Re: EXOS
Post by: Tuby128 on 2023.March.29. 12:38:44
Ha rendszerindításkor kiadjuk a load parancsot és betöltünk egy játékot, akkor hányas kezdôcímtôl kezdi elhelyezni?
Title: Re: EXOS
Post by: Tuby128 on 2023.March.29. 12:52:38
Ha "Új alkalmazói program" ami 5-ös fejléccel lett fordítva, akkor a 0x100 címtôl kezdi elhelyezni.

forrás:
Fejezet 10.6
http://www.ep128.hu/Ep_Konyv/Exos.htm#42

A fejléc tartalmazza a betöltendô fájl hosszát, így a betöltött program több szegmensen is landolhat => F8, F9, FA

Title: Re: EXOS
Post by: Tuby128 on 2023.March.29. 14:24:50
Az EXOS felhasználói kézikönyv nem nyilatkozik, hogy mit jelent a képen található STATUS, és a visszatérô értékeket hogyan kell kiértékelni.
Title: Re: EXOS
Post by: Povi on 2023.March.29. 16:54:59
de, igen, a II/3. fejezetben (http://ep128.hu/Ep_Konyv/Exos.htm#84) (hibakódok):
"Minden EXOS hívás állapotkóddal tér vissza, amely nulla, ha a hívás sikeres volt, és negatív, ha hiba történt. A pozitív nem nulla kódok figyelmeztetést jelentenek, bár az EXOS ezeket nem használja kiterjedten, valójában csak egy ilyen van, és ezt az alábbiakban ismertetjük."
Title: Re: EXOS
Post by: Ferro73 on 2023.March.29. 19:54:31
Ha "Új alkalmazói program" ami 5-ös fejléccel lett fordítva, akkor a 0x100 címtôl kezdi elhelyezni.

forrás:
Fejezet 10.6
http://www.ep128.hu/Ep_Konyv/Exos.htm#42

A fejléc tartalmazza a betöltendô fájl hosszát, így a betöltött program több szegmensen is landolhat => F8, F9, FA
Először beolvassa az első 16 bájtot  ami a fejléc ezt elemezve dönti el a további tartalom hová kerüljön.
5-ös fejléc esetében a 0100h címre tölti.
De ha a "Loader"-t dissassembler-ezni szeretnéd akkor a 00F0H-ra töltsd /olvasd/ és 0100h tol kódold.
Title: Re: EXOS
Post by: Tuby128 on 2023.March.29. 20:34:15
Nem tudom a 100h címre tölteni, mert elszáll az asmon 1.5.
Azt csináltam, hogy a 0x40F0 címre töltöttem. Absolute JUMP és CALL esetében mindig kivonok gondolatban 0x4000-et.
Title: Re: EXOS
Post by: Ferro73 on 2023.March.30. 13:36:56
Nem tudom a 100h címre tölteni, mert elszáll az asmon 1.5.
Azt csináltam, hogy a 0x40F0 címre töltöttem. Absolute JUMP és CALL esetében mindig kivonok gondolatban 0x4000-et.
Igen
De mintha lenne cím eltoló.
Bár így csak listázni tudod.
Title: Re: EXOS
Post by: Tuby128 on 2023.April.02. 01:05:59
Az exos hívások után, amikor visszatér a fôprogramhoz, a regisztereket/ árnyékregisztereket visszaállítja az eredeti állapotra? Tehát kell-e attól tartani, hogy visszatéréskor valami elvész? (eltekintve a regisztereket amiket az Exos amúgy is kommunikációra használ)
Ha lapoznia kell, akkor megjegyzi az utolsó állapotot és visszalapoz mindent? Mi van akkor ha közben jön egy megszakitás? Vagy ilyenkor az le van tiltva?
Title: Re: EXOS
Post by: geco on 2023.April.02. 12:06:51
általában az AF, BC, DE romlik, a többi marad, de, erre nem érdemes hagyatkozni, minden EXOS hívást meg kell nézni a könyvben, hogy miket ront. A memóriakiosztást mindig visszaállítja, a megszakítás is visszatér a megszakítás előtti állapotra.
EXOS könyv (http://ep128.hu/Ep_Konyv/Exos.htm)
Title: Re: EXOS
Post by: Povi on 2023.April.04. 14:16:30
Az exos hívások után, amikor visszatér a fôprogramhoz, a regisztereket/ árnyékregisztereket visszaállítja az eredeti állapotra?
A HL biztosan megmarad. A vesszős regisztereket nem tudom.

Ha lapoznia kell, akkor megjegyzi az utolsó állapotot és visszalapoz mindent?
Persze, hiszen maga az EXOS rutin is a ROM területen fut (általában), tehát mindenképpen lapozni fog. Azt a lapkiosztást visszaállítja, ami hívás előtt volt.

Mi van akkor ha közben jön egy megszakitás? Vagy ilyenkor az le van tiltva?
Szerintem ez EXOS funkció függő, hogy le van-e közben tiltva a megszakítás. De nem látok olyan okot, ami miatt probléma lenne az exos hívás közben lévő megszakítási rutin hívás miatt, ha maga megszakítási rutin jól van megírva.
Title: Re: EXOS
Post by: Zozosoft on 2023.April.04. 14:21:10
Ahogy az EXOS könyv írja:
Quote
Az EXOS-hívások a paramétereket az A-, BC- és DE-regiszterekben veszik át, és az eredményeket ugyanezekben a regiszterekben adják vissza. Az A-regiszter állapotkódot hoz vissza, ami nulla, ha a hívás sikeres volt, egyébként pedig egy nullától különböző értékű állapotkód. Az összes többi regiszter (HL, IX, IY, AF', BC', DE', HL') tartalmát minden EXOS-hvás megőrzi és változatlan marad a felhasználói lapkiosztás is. EXOS-hívást bármely Z80-as lap bármely címéről kérhetünk, és a felhasználói veremmemória is elhelyezkedhet a négy lap bármelyikén.
Title: Re: EXOS
Post by: Tuby128 on 2023.April.04. 23:02:21
Quote
EXOS-hívást bármely Z80-as lap bármely címéről kérhetünk

 Ez egy nagyon érdekes dolog.
 Akkor ez azt jelenti, hogy az exos lapozó rutin a 0-ás lapon azzal kezd, hogy eltárolja a 3. lapon a szegmensszámot, majd ide belapozza a romot. Ott végrehajtja a feladatot majd - itt jön a kérdés hogy jól látom-e a dolgot - visszatér a 0-ás lapra a végrehajtás, ott visszalapozza a korábbi szegmenst és végül visszaugrik az Exos hívás utáni részre?
Title: Re: EXOS
Post by: Ferro73 on 2023.April.05. 19:24:37
  Akkor ez azt jelenti, hogy az exos lapozó rutin a 0-ás lapon azzal kezd, hogy eltárolja a 3. lapon a szegmensszámot, majd ide belapozza a romot. Ott végrehajtja a feladatot majd - itt jön a kérdés hogy jól látom-e a dolgot - visszatér a 0-ás lapra a végrehajtás, ott visszalapozza a korábbi szegmenst és végül visszaugrik az Exos hívás utáni részre?
Lényegében igen.
Az  EXOS  xx valójában  RST 30h, DB xx
ez 1+1 bájtos utasítás teljesen egyen értékű CALL 0030h , DB xx ami így 3+1 bájt
Title: Re: EXOS
Post by: Tuby128 on 2024.January.16. 02:03:35
Amikor kazettáról tölti a gép játékot, akkor a status sorban megjelenik a SEARCHING/LOADING, majd a fájl név és egy téglalap ami a magnó jelszintjéhez képest sárga vagy piros. És töltés közben ahogy a magnót leállítja PAUSE felirat jelenik meg. (nem tudom mi a szakszerű neve, de ez olyan evidens mint ahogy az ég kék)
Vannak játékkok mint a Sorcery vagy néhány betöltő kép nélküli játék, ahol ez a 9 képpont magas sort, a töltés alatt végig fent mutatja.
Vannak viszont olyan játékok (pl. Untouchables), ahol ez a status sor alul jelenik meg egy olyan kb. 18 képpont magas és elég vastagok a betűk a sorban. Az egész szürke, és a magnó jelszintjelző sem nagyon ugrál, csak a PAUSE felirat jelenik meg.

Ez utóbbi hogy lett? Beépített lehetőség, vagy valaki ezt kitalálta? Elég sok játéknál láttam, de egyet sem tudok felidézni, az említett példa is csak szúrópróba szerű keresés eredménye.
Más gépeken van ilyen betöltő status sor alul vagy felül mint az EP-n? ZX Spectrumra meg CPC-re gondolok.
Title: Re: EXOS
Post by: Dr.OG on 2024.January.16. 06:05:46
Én más gépen nem láttam még ilyen jellegű status sort, mint EP-n.
Pl. HT-1080Z-n ez hardveresen van megoldva, a korai modelleknél analóg Depréz kivezérlés-mérővel, a későbbieknél már egy LED-et kell figyelni, hogy jó-e a jelszint. Bár a képernyő tetején ez is villogtat csillagokat. Speccynél a töltőképernyő megjelenéséig látod, hogy milyen fájlokat olvas be, de utána már csak a keret csíkozódik. CPC szerintem ugyanez. C64-nél 'sima' magnós betöltés esetén még a kép is elmegy, csak akkor jelenik meg újra, ha végzett (vagy ?LOAD ERROR esetén). Turbós programnál már van rasztercsíkozás, és turbótól függően hang is. Mikor véget ér a kakofónia, kész a betöltés. Még Primonál van valami EP-hez hasonló, csak ott alul számol.
Title: Re: EXOS
Post by: Zozosoft on 2024.January.16. 08:44:01
Vannak játékkok mint a Sorcery vagy néhány betöltő kép nélküli játék, ahol ez a 9 képpont magas sort, a töltés alatt végig fent mutatja.
Vannak viszont olyan játékok (pl. Untouchables), ahol ez a status sor alul jelenik meg egy olyan kb. 18 képpont magas és elég vastagok a betűk a sorban.
Ez utóbbiakat én csak "nagy searching-es"-nek hívtam gyerekkoromban :-)
De vannak olyanok is, ahol alul van, de normál méretű

Quote
a magnó jelszintjelző sem nagyon ugrál, csak a PAUSE felirat jelenik meg.
A Zozosoft&Apuci Demo az egyetlen program ami áthelyezett Status sort használ, és működik a szintjelző! (És a képernyő közepére tettem, mert olyat még senki nem csinált :-) )

Quote
Beépített lehetőség, vagy valaki ezt kitalálta?
Beépített lehetőség a Nick chipben, hogy olyan LPT-t definiálsz amilyet csak akarsz. Valaki kitalálta, aztán néhány átíró ezt a megoldást használta a betöltőjében.

Quote
Más gépeken van ilyen betöltő status sor alul vagy felül mint az EP-n?
Én nem tudok ilyenről. Rendszerint a Searching, Loading, fájlnevek, stb a normál képernyőbe beírva jelennek meg. Ha van is valami effektus a magnóbemenethez, az keretcsíkozás szokott lenni.
Title: Re: EXOS
Post by: Tuby128 on 2024.January.16. 09:42:27
Jó de a nagy searchinget hogyan csinálja meg? Más a felbontása, nem elég csak áthelyezni a Status sort.
Egyszer láttam olyat (nem vagyok benne 100% biztos) hogy a karakterek also és felső része különböző színű volt.
Title: Re: EXOS
Post by: Zozosoft on 2024.January.16. 09:54:47
Nem egybe rakja be a 9 pixel magas karaktersort, hanem 9-szer 1 pixel magasat, úgy, hogy minden sort megdupláz. Soronként szín állítás meg sima ügy.
Title: Re: EXOS
Post by: Tuby128 on 2024.January.16. 10:00:40
Nagyon okos!
Title: Re: EXOS
Post by: Povi on 2024.January.16. 10:44:00
Nem egybe rakja be a 9 pixel magas karaktersort, hanem 9-szer 1 pixel magasat, úgy, hogy minden sort megdupláz. Soronként szín állítás meg sima ügy.
ezek gyerekként nagyon nagy mágiának tűntek nekem...
emlékszem, egyszer apukám odaadta a fekete-fehér csíkos exos könyvet, hogy tanuljak belőle :-D (ő se értett belőle semmit)
a nagy szent grál az volt, hogy írjunk a status sorba (BASIC-ből)
nem sikerült, a könyv alapján se :-D pedig volt rengeteg Enterpress magazinunk is. De mind kínaiul volt számunkra. 10 évvel később sikerült megugrani ezt a szintet, már felnőttként.
természetesen a print at 0 nem működött, pedig olyan logikusnak tűnt :-D

Title: Re: EXOS
Post by: Zozosoft on 2024.January.16. 11:14:12
a nagy szent grál az volt, hogy írjunk a status sorba (BASIC-ből)
nem sikerült, a könyv alapján se :-D
Én kb egy év alatt eljutottam odáig :-)
[attach=1]
Amúgy kb itt jelent meg elsőként a Zozosoft név.

Title: Re: EXOS
Post by: Tuby128 on 2024.January.16. 11:50:24
Arra emlékszem, hogy a status sorba íráshoz először át kellett írni egy "védelmi bájtot", ami (talán?) a A6FA címen volt a 2. lapra belapozott FF szegmensen. Utána lehetett írnia BEBE címen a status sort. Vajon jó címekre emlékszem?
Annyit olvastam a könyveket, újságokat, hogy ezek a hexa címek már örökre belémégtek.

Azon gondolkozom, ha ezekre hexában emlékszem, akkor valószínűleg az Asmon-ban manipulálhattam.
Title: Re: EXOS
Post by: Tuby128 on 2024.January.18. 22:02:15
Zozo tudnál nekem tippet adni. Láttam, hogy amikor az EXOS olvassa a fájlt a lemezről, akkor először a rendszerszegmensbe írja, és onnan másolja át a célterületre. Tudnál nekem tippet adni, hogy a 0-ás szegmensen hol találom ezt az átmásolás gépi kódot? Vagy ha esetleg a rom visszafejtése könyben jobban kiismered magad, akkor oldalszámot.
Title: Re: EXOS
Post by: geco on 2024.January.19. 08:26:50
Igen, előbb a rendszerszegmensre másolja, a 0-ás szegmensen sehol nem találod azt a kódot, mert maga az EXDOS intézi a másolást. Az EXDOS ROM-on belül a 2959h (belapozva E959h környéke), pl ez könnyen kideríthető egy jól irányzott break pointtal, én is így tettem: ec:0100w
Ahol EC a page0 tartalma, épp 320KB-os konfiggal csekkoltam, és 0100w pedig azért, mert minden 5-ös fejlécű program 100h-ra töltődik be, tehát oda tuti másol a rendszer, és már csak be kell tölteni egy 5-ös fejlécű programot.
Title: Re: EXOS
Post by: Tuby128 on 2024.January.19. 08:48:21
Ez azt jelenti hogy kazettánál nem ugyanígy jár el mint a lemez esetén?
Title: Re: EXOS
Post by: Zozosoft on 2024.January.19. 08:52:39
Igen, előbb a rendszerszegmensre másolja, a 0-ás szegmensen sehol nem találod azt a kódot, mert maga az EXDOS intézi a másolást
Pontosabban az a periféria, amely éppen intézi a töltést. Lehet TAPE:, DISK:, FILE:, SERIAL:, CBM:, ROM: hogy csak a leggyakoribbakat említsem.
Innentől túl sok értelmét nem látom ilyen kódra vadászni. :oops:  Ez nem Spectrum vagy C64, ahol van egy ROM LOAD rutin aztán csá...

Quote
Az EXDOS ROM-on belül a 2959h (belapozva E959h környéke)
Ami aztán változhat a ROM verzióval :oops:
Amúgy ha alaposan megnézed ez a másolás csak az első szektorra igaz, mivel ott csonka olvasás van: elsőnek be van olvasva 16 bájt a fejlécnek, és aztán később 496 bájt már a fájl. Ezért van el téve az EXDOS rendszer szegmensen lévő pufferébe ez a szektor.
További olvasásnál, ahol ha legalább egy szektornyi adat lesz beolvasva, a szektor olvasó rutin eleve a cél memóriába tölti az adatokat.
Az utolsó szektornál, ha úgy jön ki a fájl vége, hogy nem teljes szektornyi, akkor megint csak az EXDOS pufferbe olvassa, és aztán másolja át amennyi kell.
Title: Re: EXOS
Post by: geco on 2024.January.19. 10:48:58
Innentől túl sok értelmét nem látom ilyen kódra vadászni. :oops:  Ez nem Spectrum vagy C64, ahol van egy ROM LOAD rutin aztán csá...
Ami aztán változhat a ROM verzióval :oops:
Akkor van értelme, ha az ember turpisságot szeretne elkövetni, mint pl töltés közbeni zene, igaz, azzal meg az a baj, hogy csak adott média forrással fog működni.
Így találtam meg, és szedtem ki a tape loadert is, hogy zenebonáljak közben :lol:

Ami aztán változhat a ROM verzióval :oops:
Jáááá, nem is akartam felhasználni a címet sehova, Tuby128 szeretné tanulmányozni azt a részt, hát hajrá.

Amúgy ha alaposan megnézed ez a másolás csak az első szektorra igaz, mivel ott csonka olvasás van: elsőnek be van olvasva 16 bájt a fejlécnek, és aztán később 496 bájt már a fájl. Ezért van el téve az EXDOS rendszer szegmensen lévő pufferébe ez a szektor.
További olvasásnál, ahol ha legalább egy szektornyi adat lesz beolvasva, a szektor olvasó rutin eleve a cél memóriába tölti az adatokat.
Az utolsó szektornál, ha úgy jön ki a fájl vége, hogy nem teljes szektornyi, akkor megint csak az EXDOS pufferbe olvassa, és aztán másolja át amennyi kell.
Szuper, ez tök jó, hogy teljes szektornál egyből a célmemóriába tölt. :)
Title: Re: EXOS
Post by: Ferro73 on 2024.January.19. 19:01:02
Úgy hangzik mint egy egyedi LOADER.
Én is csináltam anno TAPE: vissza számlálót.
Nem maradt sok lehetőségem, idő amit felhasználhattam.

De így nem lesz EXOS kompatibilis vagy EXDOS!?!

1 loader tape: vagy disk: verzió
2 screen
2 program

A szabvány irány  a Bruce Lee,... és hasonló játék programok és EXOS kompatibilitása.

1 Önmagába screen
2 Önmagába loader+rutinok+CHAR+program

Title: Re: EXOS
Post by: geco on 2024.January.20. 13:46:25
Úgy hangzik mint egy egyedi LOADER.
Jáááá, csak érdekességképp, meg még meg szeretnék csinálni egy játékot, amiben ez a zenélős tape loader lesz, természetesen lesz nem spéci betöltős verziója is.
De így nem lesz EXOS kompatibilis vagy EXDOS!?!
Nem hát, speciel az én verzióm csak magnóról műxik.
Title: Re: EXOS
Post by: Ferro73 on 2024.January.20. 15:00:55
Akkor ajánlanám,  keresd a TAPE: részt.
Talán a "turbo tape".ext et vissza fejted nem kell akkor a nulláról kezdened.

Vagy a az EXOS.ROM 01. szegmens visszafejtése irodalmat.

Vagy ha úgyis egyedi lesz kazis akkor alkalmazd a Spectrum LOAD/SAVE rutint és módosítsd valamivel könnyebb dolgod lesz.
Title: Re: EXOS
Post by: geco on 2024.January.22. 09:19:46
Akkor ajánlanám,  keresd a TAPE: részt.
Talán a "turbo tape".ext et vissza fejted nem kell akkor a nulláról kezdened.

Vagy a az EXOS.ROM 01. szegmens visszafejtése irodalmat.

Vagy ha úgyis egyedi lesz kazis akkor alkalmazd a Spectrum LOAD/SAVE rutint és módosítsd valamivel könnyebb dolgod lesz.
Pimpa, már megvan pár hónapja, az EP128emuval megkeresetem a szükséges részt, kiszedtem, csináltam forrást, majd beszúrtam a zenelejátszót :ds_icon_cheesygrin:
A Spectrum loadert nem szeretem, mert az lassú, és nem toleráns a hibára, és a programot is abban a formátumban kéne kimenteni, így bármely EP-s magnós program alá be lehetne szúrni a zenélgetést.
Title: Re: EXOS
Post by: Ferro73 on 2024.January.22. 17:40:28
A Spectrum loadert nem szeretem, mert az lassú, és nem toleráns a hibára, és a programot is abban a formátumban kéne kimenteni, így bármely EP-s magnós program alá be lehetne szúrni a zenélgetést.
És hogyan?
Mindegyik elé fel vennél egy plusz betöltőt?
Vagy +ROM ba töltenéd mint a "turbó tape:"-t?
Title: Re: EXOS
Post by: Zozosoft on 2024.January.22. 20:38:16
az EP128emuval megkeresetem a szükséges részt, kiszedtem, csináltam forrást
Nem egyszerűbb lett volna elővenni a Hsoft csomagból a TPT forrást? :-)
Title: Re: EXOS
Post by: geco on 2024.January.23. 09:09:13
És hogyan?
Mindegyik elé fel vennél egy plusz betöltőt?
Vagy +ROM ba töltenéd mint a "turbó tape:"-t?
Vagy +betöltő, vagy a betöltőben lehetne választható, hogy ki hogy szeretné.
Title: Re: EXOS
Post by: geco on 2024.January.23. 09:10:21
Nem egyszerűbb lett volna elővenni a Hsoft csomagból a TPT forrást? :-)
Biztos egyszerűbb lett volna, ha eszembe jutott volna :smt040
Title: Re: EXOS
Post by: Ferro73 on 2024.January.23. 17:33:30
Vagy +betöltő, vagy a betöltőben lehetne választható, hogy ki hogy szeretné.
Hát.
1. Én nem másolnám újra a kazikat.
2. Ha + betöltő /TAPE: + zene, zenék mert, hogy választhatok 2kB-16kB?/ ez idő alatt már betöltődik a játék 1/4,1/5 .
Viszont ha ROM-ban van 16,32,64kB TAPE: + zenék + zene lejátszó gondolom ja fentebb is +zene le játszó az már elfogadhatóbb lenne szerintem.
Title: Re: EXOS
Post by: geco on 2024.January.24. 09:11:30
Hát.
1. Én nem másolnám újra a kazikat.
2. Ha + betöltő /TAPE: + zene, zenék mert, hogy választhatok 2kB-16kB?/ ez idő alatt már betöltődik a játék 1/4,1/5 .
Viszont ha ROM-ban van 16,32,64kB TAPE: + zenék + zene lejátszó gondolom ja fentebb is +zene le játszó az már elfogadhatóbb lenne szerintem.
Nem kell újramásolni a kazikat, ilyen verzió, ha készül, 1-2 játék lesz ilyen, és esélyed se lesz választani, ha csak egy loader lesz, és abban kell választani :D :D
Mivel nem általános betöltő, ezért fölösleges is ROM-ozni, és amúgy is.
Title: Re: EXOS
Post by: Lacika on 2024.March.23. 10:15:22
Ladányi Péter Mikromagazin 1990 május 23 számában azt írja, az ALTIND és BALT bitek szerepe tévesen fordítva jelent meg az EXOS leírásban.
Ez van az EXOS leírásban:

"Ha az MSBALT értéke 1, akkor minden kijelzésre kerülő byte 7. bitje nulla értéket kap kijelzés előtt. Ha a 7. bit a kijelzendő byte-ban 1 volt, akkor a 0 és 1 paletta színek helyett a 3 és 4 lesz használva a byte által meghatározott pontokra.
Ha az LSBALT értéke 1, akkor minden kijelzésre kerülő byte 0. bitje 0 értéket kap kijelzés előtt. Ha az adott byte 0. bitje 1 volt, akkor a paletta színek közül nem a 0..3, hanem a 4..7 választódik ki."

Ez akkor nem jó így?
Title: Re: EXOS
Post by: ergoGnomik on 2024.March.23. 11:53:52
Ez nekem is feltűnt egy másik téma kapcsán.
Ez a CH64 mód valamelyik ALTIND# jelzőbit bekapcsolt állapotával, ugye? (Az EXOS könyvben ez mintha ellentmondásosan lenne leírva. Vö.: 288. oldal a 294. oldal aljával és a 295. oldallal szemben.)
Title: Re: EXOS
Post by: Zozosoft on 2024.March.24. 16:37:34
Ez akkor nem jó így?
Az ott jó, máshol a hiba.

Ladányi Péter Mikromagazin 1990 május 23 számában azt írja, az ALTIND és BALT bitek szerepe tévesen fordítva jelent meg az EXOS leírásban.
Nem a szerepük jelent meg fordítva, hanem a helyük.
Valójában a Bal margóban van az LSBALT/MSBALT, és a Jobb margóban az ALTIND-ek.
És a hiba még az angoloknál keletkezett, az EXOS 2.0 leíráshoz használt ET1/1 (http://enterprise.iko.hu/technical/ET1-1_84-11-29_The_Nick_Chip.pdf) dokumentumban még jól van. Az EXOS 2.1-nél módosítottak a szövegen, szétszedték az LPT bájtok felsorolását, és értelmezésük leírását két részre, és itt került be a felsorolásba a hiba, az ET1/3 (http://enterprise.iko.hu/technical/ET1-3_Nick_Chip_Programmers_Guide.pdf) dokumentumban.