Enterprise Forever

:HUN => Programozás => Topic started by: Zozosoft on 2017.February.15. 14:13:39

Title: EPROM-ba írható játékok
Post by: Zozosoft on 2017.February.15. 14:13:39
Nemrég kaptam ezt a kérdést, ill. többen is kérdeztek már hasonlót:
Quote
a játékokat nem tudom milyen módon vihetném át az EP128-ra az egyetlen üresen maradt 64KB-os BASIC csatolóba?
Nem tudom, hogy létezik-e konverter program, ami egy tetszőleges játékot ROM formátumúvá alakít?
Erre csak ezt tudtam válaszolni:
"Ilyen program nem létezik, csak az egyes programokat egyedileg módosítva lehetne megoldani.
ROM formátumú játék csak nagyon kevés létezik.
De nyitok majd a egy témát erről a fórumon, mert nem rég más is pont ugyanilyen lehetőségről kérdezett. Talán sikerül kifejleszteni valami megoldást."

Elsőként lássuk, milyen ROM formátumú játékok ismertek:
-Cyrus Chess volt a legelső játék ROM, itt igen egyszerű volt módosítás, hiszen az eredeti program is EXOS bővítőként került kiadásra, csak a fejlécet kellett lecserélni.
[attach=1]
-Heathrow ATC, ezt én csináltam meg Apucinak. Ez az 5-ös fejlécű program betöltését szimulálja 100h-ra másolással
[attach=2]
-Haluska Laci Pasziánsz ROM-ja, ami a Pasziánsz és Kaszinó játékokat tartalmazza, ezek is eredetileg 5-ös fejlécű programok voltak.
Ez volt az első 64K-s EP ROM.
[attach=3]
Azóta ennek készült modernizált verziója Gflorez és Geco közreműködésével, bekerült az EnterMice egér kezelés, és immár tömörítve kerültek be a programok, így most már elég 32K-s EPROM is.
[attach=4]
-Szintén Haluska Lacinak van a Tetris-éből is ROM verzió
[attach=5]
Title: Re: EPROM-ba írható játékok
Post by: szipucsu on 2017.February.15. 14:20:01
Ha jól sejtem, először azt kell átalakítani, hogy rendszerbővítő legyen a játék. Pl. basic-ből :NODES parancsra induljon kedvenc játékunk. (Ez az 5-ös fejléc talán.)
De biztos azt is meg lehet csinálni, hogy a basic helyett egyből a játék jelentkezzen be. Pl. Enterprise felirat után egyből szólna a Nodes digi hangja, elég vagány lenne. :D
Title: Re: EPROM-ba írható játékok
Post by: Zozosoft on 2017.February.15. 14:28:19
Ezek pedig egyáltalán nem ismert ROM-ok :-)
Wernertől kerültek elő, 1995-ben(!) kapta őket Kopácsytól.
Alien 8, Gunfright, Knight Lore, Nether Earth
[attach=1]
Visszafejtettem, hogy mit csinál: az eredeti 5-ös fejlécű betöltőt 100h-ra másolja, majd a betöltő részt megpatcheli, hogy a ROM-ból hívjon meg egy rutint, ami a fájlok betöltése helyett a ROM-ból másolja át a tartalmat.
Nem EXOS kompatibilis, csak akkor működnek ha a 4-es szegmenstől van berakva.
[attach=2]

Mindenesetre ez példa arra amit írtam, hogy a program egyedi módosításával lehet ROM verziót készíteni. Ha jól sejtem ezek a programok egy azon átíró művei, így hasonló a betöltő, ezért az egyszer kidolgozott patch-elést már könnyen lehetett módosítani a következő programhoz.
Title: Re: EPROM-ba írható játékok
Post by: Zozosoft on 2017.February.15. 14:42:42
Szintén Wernertől kerültek elő ezek, még pedig az anno az Enterprise cégtől elhozott EPROM gyűjteményből:
[attachimg=1]
[attach=2]
[attachimg=3]
[attach=4]

A címke alapján el sem tudtam képzelni, hogy mi a búbánat lehet ez :-D

Aztán megfejtettem:
[attach=5]
Létrehoz egy EXOS periféria kezelőt ROM: néven, amelyről a kód után (0C100h címtől) becsatolt BASIC fájlt lehet betölteni. Azaz LOAD "ROM:" vagy RUN "ROM:"
Az elsőben csak egy pici példa program van, a másikat a példa ROM bináris módosításával hozták létre, a jól ismert Bomber játék került be, és az eszköznév BOM: lett, azaz  LOAD "BOM:" vagy RUN "BOM:"

Title: Re: EPROM-ba írható játékok
Post by: Zozosoft on 2017.February.15. 14:50:37
Mivel ez a módszer teljesen EXOS kompatibilis, nem csak BASIC programot tehetünk bele, hanem akár 5-ös fejlécűt is.
Megcsináltam sjasm-mel fordíthatóra:
[attach=1]
Csak a DD_NAME résznél kell átírni a kívánt eszköznevet (csak nagybetű legyen benne!), és a hosszbájtot, valamint a végén az incbin-nél megadni a becsatolandó programfájl nevét.
Csináltam is pár példát:
[attach=2]
[attach=3]
[attach=4]

A ROM mérete nem lehet 16K-nál nagyobb, így kb 16200 bájt használható fel a programnak (függ attól, hogy milyen hosszú eszköz nevet adunk meg).
A Tombs of Doom epcompressel csomagolva fért be.
Title: Re: EPROM-ba írható játékok
Post by: Zozosoft on 2017.February.15. 14:58:23
Innen már csak egy pici módosítás kellett, hogy 64K legyen használható, a ROM-ból bájt kiolvasásánál kiszámolja melyik szegmenst kell olvasni. (Korábban csak a RAM-ba írásnál számolt, hogy melyik felhasználói szegmensbe kell írni.)
[attach=1]

Így aztán már a nagyobb BASIC programok is beférnek, valamint az egyfájlos gépi kódú programok is. Ez utóbbiak jellemzően negyven valahány kilobájtosak, de epcompress segítségével már beleférnek 32K-ba, így egy cartridge-be 2 játék is beleférhet.

RUN "DIKTATOR:"
RUN "NODES:"
RUN "RAID:"
stb
Title: Re: EPROM-ba írható játékok
Post by: Zozosoft on 2017.February.15. 15:19:46
De biztos azt is meg lehet csinálni, hogy a basic helyett egyből a játék jelentkezzen be.
:-)
Title: Re: EPROM-ba írható játékok
Post by: Zozosoft on 2017.February.15. 16:19:02
A következő lépés a több fájlos programok kezelése lenne. Az a rész egyszerű, hogy az EXOS eszközkezelő több fájlt kezeljen, csak kell egy fájnév ellenőrzés megnyításnál, és egy táblázatból venni az adatokat.
A probléma a fájlokra való hivatkozással van. A sima egyfájlos töltés le van tudva azzal, hogy a RUN/LOAD parancsban meg van adva az eszköznév.
Többfájlosnál viszont a következő fájlt már az alapértelmezett eszközről fogja tölteni a program. Egyik megoldás lenne, hogy a programban átírni a fájlneveket, de pont onnan indult a kérdés, hogy módosítás nélkül lehessen a programokat berakni.
Következő megoldás az lenne, hogy a ROM bővítő átállítja az alapértelmezett eszköz nevét. Így már működne a ROM-ból töltött program, csak mást nem lehetne betölteni :-)
Lehetne azt, hogy parancsra, vagy EXOS változótól függően állítja át, de ez se működne minden konfigurációban (pl ha az EXDOS felett van).
A legjobb ötletem az lenne, ha parancsra, mondjuk :RUN JATEK, megnézi, hogy az adott fájl 5-ös fejlécű-e, ha igen akkor elvégzi a 100h-ra töltését, és a program indítása előtt állítja át az alapértelmezett eszközt.

És esetleg a sebességen is lehetne javítani, a jelenlegi bájtonként másoló, plusz bájtonként szegmenscímeket számoló megoldás elég primitív, nem túl gyors :oops:
Bonyolítja a dolgot, hogy mind a ROM olvasásánál, mind a RAM-ba írásnál figyelni kell a laphatárokra, ezek figyelembe vételével kéne folyton kiszámolni az egyben átmásolható blokkhosszokat.
Title: Re: EPROM-ba írható játékok
Post by: gflorez on 2017.February.16. 11:10:26
Nem kapcsolódik, de mivel egy eszköz, jó lenne, hogy integrálja azt az alapvető kiindulási képességét Epdos. Úgy értem, kezdve a Basic programot Rom vagy egy fájlból.

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

Not related, but being a device, it would be good to integrate in it the Basic starting capability of Epdos. I mean, starting a Basic program from Rom or from a file.
Title: Re: EPROM-ba írható játékok
Post by: gflorez on 2017.February.16. 23:48:06
Én kibontás a darab EPDOS forrás. Azt hiszem, ez a kód, amely betölti és elindítja a Basic programot.

Próbáltam csinálni egy "BasicRun" a parancsot a kódot, de hogy nem működik....

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

I have extracted this piece of EPDOS source. I think it's the code that loads and launches the Basic program.

Tried to do a "BasicRun" command with the code, but it didn't work....
Title: Re: EPROM-ba írható játékok
Post by: szipucsu on 2017.February.18. 20:22:12
Hoppá! Ez egész érdekes! Nodes és Hamika indítása romból! :D
Most tűnt fel, hogy a Nodes az időt is méri játék közben, de hogy miért, az rejtély.
Title: Re: EPROM-ba írható játékok
Post by: szipucsu on 2017.February.18. 20:48:12
Ezek pedig egyáltalán nem ismert ROM-ok :-)
Ezek most kerültek elő? Most küldte el Werner?

A többi romot (pl. hamika.rom) hogyan kell betölteni? Próbáltam basic-ből a start-tal, load-dal, de úgy nem megy.
UI: Ja, közben rájöttem, be kell tenni a 20-as szegmensre és utána RUN "név:"

Azt hiszem, nem sokára frissíteni kell a letölthető ROM csomagot az emulátorhoz. :D
Title: Re: EPROM-ba írható játékok
Post by: IstvanV on 2017.February.18. 20:59:25
A többi romot (pl. hamika.rom) hogyan kell betölteni? Próbáltam basic-ből a start-tal, load-dal, de úgy nem megy.

LOAD "HAMIKA:" :)
Title: Re: EPROM-ba írható játékok
Post by: szipucsu on 2017.February.18. 21:33:10
Érdemes lenne valami gyakrabban használatos segédprogramot betenni alapból romként az emulátorba, pl. Zzzip (ahhoz forrás is van).
Össze lehetne gyűjteni, mik lehetnének hasznosak.
Esetleg még a karaktertervező? Vagy hogy alapból lehessen a karakterek alakját kimenteni, betölteni?
Én a Rockdigit is beletenném, de kinek mi fontos.
Lehetne ezek alapján több alap-konfig fájl is.
Mondjuk pl. a Zozotools-ban is már eleve elég hasznos dolog van.
Title: Re: EPROM-ba írható játékok
Post by: szipucsu on 2017.February.19. 10:24:20
Érdemes lenne SID lejátszóból is csinálni ROM-os verziót, az most nagyon aktuális. Ha jól tudom, abból COM-os van.
És tényleg a Zzzip lenne hasznos, ha mindig ott lehetne a 20-as szegmens környékén. Azt nehéz lehet megcsinálni? Azt hiszem, az 3 fájlból töltődik be.
Title: Re: EPROM-ba írható játékok
Post by: IstvanV on 2017.February.19. 10:27:01
Érdemes lenne SID lejátszóból is csinálni ROM-os verziót, az most nagyon aktuális. Ha jól tudom, abból COM-os van.

Ezt tulajdonképpen egyszerűen meg lehetne oldani az IVIEW.ROM-hoz hasonlóan. Modul betöltés (LOAD parancs) is működhetne, mivel a formátum EXOS fejlécet használ.
Title: Re: EPROM-ba írható játékok
Post by: geco on 2017.February.19. 15:55:40
Ez jó lesz ROM verziónak?
Enterprise logóhoz tér vissza, gondolom azért, mert a 0-ás lapra másolom a programot.
Title: Re: EPROM-ba írható játékok
Post by: IstvanV on 2017.February.19. 21:04:42
Jónak tűnik, esetleg még a modul betöltést lehetne megoldani, bár azt valamivel nehezebb, mert a file már meg van nyitva valamelyik csatornán.
Title: Re: EPROM-ba írható játékok
Post by: geco on 2017.February.19. 21:11:05
Jónak tűnik, esetleg még a modul betöltést lehetne megoldani, bár azt valamivel nehezebb, mert a file már meg van nyitva valamelyik csatornán.
Arra gondolsz, hogy az 4Fh modul azonosítót megetetni az EXOS-szal, így simerné és kezelné a az M64-eket, esetleg átpasszolná egyből SIDBasicnek? Pl be lehetne tölteni FILE-ból az M64-et ,EXOS meghívná a SIDBasicet? A programban lévő fájlt ki lehetne iktatni ilyen esetekben, ugyanúgy, mint magnós konfig esetén, de  kicsinek érzem magam :oops:
Title: Re: EPROM-ba írható játékok
Post by: IstvanV on 2017.February.19. 21:59:47
Arra gondolsz, hogy az 4Fh modul azonosítót megetetni az EXOS-szal, így simerné és kezelné a az M64-eket, esetleg átpasszolná egyből SIDBasicnek? Pl be lehetne tölteni FILE-ból az M64-et ,EXOS meghívná a SIDBasicet?

Igen, ilyenkor az EXOS már megnyitotta a file-t (B = csatorna száma) és beolvasta a 16 byte-os fejlécet a DE regiszterben megadott című pufferbe. Tehát ha 6-os kóddal hívja a ROM-ot és (DE+1) = 4Fh, akkor M64 formátumot próbál valamilyen program betölteni.
Title: Re: EPROM-ba írható játékok
Post by: geco on 2017.February.19. 22:03:59
Egy kicsit gondolkoztam,  megpróbálkozom vele, végülis miért is csináltad a külön fejlécet neki, na jó, nem csak a modul miatt, hanem az egyéb infók miatt is, de akkor már legyen meg ez is, remélem sikerülni fog, majd a SIDPLAY.COM-ot is módosítani kell akkor, mert ott azt figyelem, hogyha nem ismeretlen modult ad vissza a LOAD modul EXOS hívás, akkor hibára ugrik.
Title: Re: EPROM-ba írható játékok
Post by: IstvanV on 2017.February.19. 23:16:09
majd a SIDPLAY.COM-ot is módosítani kell akkor, mert ott azt figyelem, hogyha nem ismeretlen modult ad vissza a LOAD modul EXOS hívás, akkor hibára ugrik.

Ez a rész? Bár a modul betöltésnél a ROM lejátszaná, és akkor az EXOS 29 már nem tér vissza. Így azonban a következő file választása a probléma.

Code: ZiLOG Z80 Assembler
  1.   C555  AF           XOR   A
  2.   C556  11 F0 60     LD    DE, 60F0
  3.   C559  F7 1D        EXOS  1D
  4.  *C55B  FE EE        CP    EE
  5.   C55D  20 F3        JR    NZ, C552
  6.   C55F  78           LD    A, B
  7.   C560  FE 4F        CP    4F
  8.   C562  20 EE        JR    NZ, C552
  9.   C564  AF           XOR   A
  10.   C565  ED 4B F2 60  LD    BC, (60F2)
  11.   C569  21 00 A1     LD    HL, A100
  12.   C56C  09           ADD   HL, BC
  13.   C56D  38 E3        JR    C, C552
  14.   C56F  11 00 61     LD    DE, 6100
  15.   C572  F7 06        EXOS  06

Lehetne helyette valami ilyesmi is, a fejlécet egyszerű EXOS 6 hívással olvasva:

Code: ZiLOG Z80 Assembler
  1.         XOR   A
  2.         LD    DE, 60F0
  3.         LD    BC, 0010
  4.         EXOS  06
  5.         LD    HL, (60F0)
  6.         LD    B, B1
  7.         ADD   HL, BC
  8.         OR    L
  9.         OR    H
  10.         JR    NZ, C552
  11.         LD    BC, (60F2)
  12.         LD    HL, A0FF
  13.         ADD   HL, BC
  14.         JR    C, C552
  15.         EXOS  06
Title: Re: EPROM-ba írható játékok
Post by: geco on 2017.February.20. 08:34:07
Ez a rész? Bár a modul betöltésnél a ROM lejátszaná, és akkor az EXOS 29 már nem tér vissza. Így azonban a következő file választása a probléma.

Lehetne helyette valami ilyesmi is, a fejlécet egyszerű EXOS 6 hívással olvasva:
Igen, később eszembe jutott nekem is ez a probléma, és hogy le kell cserélni EXOS 6-os olvasásra, de előbb legyen meg a modulosítás :)
Title: Re: EPROM-ba írható játékok
Post by: geco on 2017.February.20. 20:28:49
Ezt most ide teszem (benne van a ROM verzió is, és a módosított COM is), légyszi csekkoljátok ti is, én a rövid tesztelés alatt nem takálkoztam hibával, és még működött is :)
Ha nincs hiba, akkor ápdételem a SIDBasic csomagot.
Title: Re: EPROM-ba írható játékok
Post by: IstvanV on 2017.February.21. 19:47:42
Jónak tűnik, csak kisebb jelentőségű hibákat találtam:
- emulátorban 10 MHz-es CPU-t és 1 MHz-es hang órajelet beállítva lefagyott a program (ha jól láttam, 50 kHz-en próbált lejátszani?). Ez nem csak a ROM verziót érinti, de a gyakorlatban nem jelentős, valódi gépen nem fordulhat elő, emulátoron pedig ilyen beállítást nem sokan használnak

Még kevésbé lényeges:
- a fejlécet és adatot olvasó EXOS 6 hívások visszatérési értékét nem ellenőrzi, bár a hibás file-t a CA80h rutin (betöltött adat méret és ellenőrző összeg tesztelése) nagy valószínűséggel így is felismeri, tehát nem igazán probléma
- az EXOS 6 előtti méret ellenőrzés 5F00h adat méretet már nem fogad el, de valószínűtlen, hogy egy file véletlenül pont ekkora legyen :)
Title: Re: EPROM-ba írható játékok
Post by: geco on 2017.February.22. 08:46:49
Jónak tűnik, csak kisebb jelentőségű hibákat találtam:
- emulátorban 10 MHz-es CPU-t és 1 MHz-es hang órajelet beállítva lefagyott a program (ha jól láttam, 50 kHz-en próbált lejátszani?). Ez nem csak a ROM verziót érinti, de a gyakorlatban nem jelentős, valódi gépen nem fordulhat elő, emulátoron pedig ilyen beállítást nem sokan használnak
Igen, ha Dave frekvencia egyenesen arányosan nő a CPU-val, akkor használja a rutinodat a sebességbeállításra, ha a Dave frekvencia nem változik, akkor számol megszakítási sebesség értéket, és osztót a CPU sebességnek megfelelően, ilyen aránytalan növekedésre nem készültem fel :)
Még kevésbé lényeges:
- a fejlécet és adatot olvasó EXOS 6 hívások visszatérési értékét nem ellenőrzi, bár a hibás file-t a CA80h rutin (betöltött adat méret és ellenőrző összeg tesztelése) nagy valószínűséggel így is felismeri, tehát nem igazán probléma
Ezt direkt hagytam ki, mivel ellenőrzi a fejléc első két bájtját, és utána ott van az ellenőrző összeg tesztelő rutin, gondoltam ez elég is lesz, de ha hibalehetőséget látsz csak ezek ellenőrzősőben, akkor beteszem azokat is :)
- az EXOS 6 előtti méret ellenőrzés 5F00h adat méretet már nem fogad el, de valószínűtlen, hogy egy file véletlenül pont ekkora legyen :)
Egy bájt is bájt :), javítom majd.

Köszi a segítséget :)
Title: Re: EPROM-ba írható játékok
Post by: IstvanV on 2017.February.22. 11:57:57
Ezt direkt hagytam ki, mivel ellenőrzi a fejléc első két bájtját, és utána ott van az ellenőrző összeg tesztelő rutin, gondoltam ez elég is lesz, de ha hibalehetőséget látsz csak ezek ellenőrzősőben, akkor beteszem azokat is

Nem valószínű, hogy van jelentősége. Esetleg a fejléc és az EXOS műveletek hibáinak a kezelésével elkerülhető lenne az ellenőrző összeg tesztelése, de a jelenlegi megoldás működik. :)

Quote
Egy bájt is bájt :), javítom majd.

Lehetne akár még egy is a file-t 60EFh kezdőcímre töltve, mivel az ellenőrző összeg byte lejátszás közben már nem hasznos. De így változna a 6101h kezdőcím is, illetve a sid_conv.cpp-ben is növelni kellene a maximális méretet.
Title: Re: EPROM-ba írható játékok
Post by: geco on 2017.February.22. 15:35:54
Nem valószínű, hogy van jelentősége. Esetleg a fejléc és az EXOS műveletek hibáinak a kezelésével elkerülhető lenne az ellenőrző összeg tesztelése, de a jelenlegi megoldás működik. :)
Hát, esetleg, ha valaki vicces kedvében van, és a fejléc mögé bepakol valami adatot, akkor jobb ez a megoldás :)
Lehetne akár még egy is a file-t 60EFh kezdőcímre töltve, mivel az ellenőrző összeg byte lejátszás közben már nem hasznos. De így változna a 6101h kezdőcím is, illetve a sid_conv.cpp-ben is növelni kellene a maximális méretet.
:lol: na ez az egy bájt már nem érné meg, a másik egy bájtot én szúrtam el, és egy kis módosítással javítható :)
Title: Re: EPROM-ba írható játékok
Post by: Zozosoft on 2018.January.09. 10:24:48
valamint az egyfájlos gépi kódú programok is.
Valaki reklamált, hogy kimaradt a Bruce Lee :-)
Title: Re: EPROM-ba írható játékok
Post by: Zozosoft on 2018.January.09. 15:02:14
Szintén kívánságra készült: Wriggler
Mivel ez 2 fájlos, így két módszer keverékével lett össze hackelve:
:WRIG parancsra indul, ez bemásolja 100h-ra a betöltőt, ami az EXOS eszközös megoldásról tölti be a PRG fájlt a ROM-ból.
Title: Re: EPROM-ba írható játékok
Post by: endi on 2018.January.09. 15:12:56
erről jut eszembe, mekkora király volt annak idején a cyrus chess, hogy így rezidensen benne volt a memóriában. nagyon tetszett a megoldás.
Title: Re: EPROM-ba írható játékok
Post by: Zozosoft on 2018.January.09. 15:20:29
erről jut eszembe, mekkora király volt annak idején a cyrus chess, hogy így rezidensen benne volt a memóriában. nagyon tetszett a megoldás.
Annál egyszerű volt a helyzet, mert eleve rendszerbővítő formátumban volt a program.
Title: Re: EPROM-ba írható játékok
Post by: Zozosoft on 2018.January.09. 16:10:50
ez bemásolja 100h-ra a betöltőt, ami az EXOS eszközös megoldásról tölti be a PRG fájlt a ROM-ból.
Ugyanezzel a módszerrel Eat-it-up.
:EAT
Title: Re: EPROM-ba írható játékok
Post by: Zozosoft on 2018.March.01. 16:56:13
Judge kérésére
Title: Re: EPROM-ba írható játékok
Post by: Judge on 2018.March.02. 00:05:11
Király! Csak beírom, hogy :BZS+enter és már húz is. :cool:

Egyébként elég egy ROM cartridge is,ha gyorsan lehet benne romot cserélni. :) (prototípus,később szebb lesz,viszont pöpecül működik)

[attach=1]
Title: Re: EPROM-ba írható játékok
Post by: Zozosoft on 2019.January.29. 22:25:49
Judge kérésére Treasure Cave ROM verzió.
István féle új ROM készítővel készült, EP logónál 1-est kell nyomni és indul is.
Title: Re: EPROM-ba írható játékok
Post by: Judge on 2019.January.29. 23:31:12
Judge kérésére Treasure Cave ROM verzió.
István féle új ROM készítővel készült, EP logónál 1-est kell nyomni és indul is.

Király vagy! :smt026
Title: Re: EPROM-ba írható játékok
Post by: Judge on 2019.January.30. 16:08:21
Zozo, van egy kis problémám... (nem csoda, én csak egy kis buta gépész vagyok :oops: )
A TCAVE.ROM rendben működik az emulátorban, de eepromba kiírva ( Winbond W27C512-45Z) valódi gépen már nem.
Ide teszem az író beállításait, nézd meg hátha nem jól csinálok valamit. Bár, a többi romot is ezekkel a beállításokkal írtam és működnek.

[attach=1]

[attach=2]

...a második képet, ha megfeszülök, akkor is fordítva rakja be. Pedig már átfordítottam egy szerkesztőben is.. :evil: :smt017
Title: Re: EPROM-ba írható játékok
Post by: IstvanV on 2019.January.30. 19:19:37
Újracsomagolt változat, bár a PRG file továbbra is sok tömörített adatot tartalmaz, amihez már nem lenne elég csak a betöltőt átalakítani:
[attachurl=1]
Talán még elférhetne valamilyen kis méretű program.
Title: Re: EPROM-ba írható játékok
Post by: Judge on 2019.January.30. 21:44:18
Újracsomagolt változat, bár a PRG file továbbra is sok tömörített adatot tartalmaz, amihez már nem lenne elég csak a betöltőt átalakítani:

Köszönöm István, ez már működik...

[attach=1]
Title: Re: EPROM-ba írható játékok
Post by: IstvanV on 2019.January.31. 14:15:28
Nagyobb ROM bővítésre van valamilyen elterjedt megoldás? A cartridge csak 64K méretű lehet, így azonban gyakran kell az EPROM-ot cserélni. :)

Szerk.: a fenti módosított Treasure Cave, ha esetleg hasznos valamilyen célra:
[attachurl=1]
[attachurl=2]
Title: Re: EPROM-ba írható játékok
Post by: Zozosoft on 2019.January.31. 14:31:48
Nagyobb ROM bővítésre van valamilyen elterjedt megoldás?
Bármely EXDOS kártyára rálehet rakni 256K-s ROM-t, csak be kell kötni a plusz címvezetékeket. Mivel a címdekódolás nem teljes, így eleve 20-2Fh címen látszik az EPROM. A Pear féle EXDOS v2.0 Compact (https://wiki.enterpriseforever.com/index.php?title=EXDOS_by_pear#EXDOS_v2.0_Compact) eleve 256K-s foglalattal készül.
MICROTEAM kártyára kis további faragással már 512-es is mehet :-) (Itt a három foglalatból 1x512K ROM, 2x512K SRAM megoldás a szokásos).
A Dream Turbo Card (https://wiki.enterpriseforever.com/index.php?title=Dream_Turbo_Card_by_pear#Memory_map)-ra is tervezve van 512K Flash ROM.
Title: Re: EPROM-ba írható játékok
Post by: Judge on 2019.January.31. 15:50:19
A cartridge csak 64K méretű lehet, így azonban gyakran kell az EPROM-ot cserélni. :)

Az enyém egy különösebb beruházást nem igénylő, költséghatékony "homemade" megoldás :)
Ezt a kis fáradságot elviselem...
Title: Re: EPROM-ba írható játékok
Post by: gflorez on 2019.January.31. 16:16:23
És mi van az SD-olvasóval?. Az AM29F400BT 512KB-től csak 64KB-t használnak. Nagyszerű lenne kitölteni ezt a helyet játékok.

---------

And how about the SD-reader?. Only 64KB from the AM29F400BT 512KB are used. It would be great to fill that space with games.
Title: Re: EPROM-ba írható játékok
Post by: Zozosoft on 2019.January.31. 16:35:35
And how about the SD-reader?. Only 64KB from the AM29F400BT 512KB are used.
112K are available: 3x16K+8x8K
With EXDOS 3.0 72K will be used (3x16K+3*8K).  And there is some more request, for example German Keyboard handler, and etc.

Quote
It would be great to fill that space with games.
Yes. This is also one of my first questions about the SD hw: don't possible to access more ROM space?
The problem is: out of pins of the CPLD chip.

But on one SD Card you can have all Enterprise games :-)
Title: Re: EPROM-ba írható játékok
Post by: IstvanV on 2019.January.31. 16:41:04
And how about the SD-reader?. Only 64KB from the AM29F400BT 512KB are used. It would be great to fill that space with games.

I do not know if newer versions of the SD card interface are different, but this hardware may be more difficult to use because it is a cartridge, and all memory and I/O has to be accessed via segment 07h, which is split into smaller areas of ROM, RAM, and registers. So, programs need to be adapted specifically for running on SDext. It should be possible however to modify romfsdev.asm to work on SDext, with a slight performance cost because of the more complex memory paging. I guess one more reason why the ROM is not used much could be that there is a lot more space for programs on the SD cards. :)
Title: Re: EPROM-ba írható játékok
Post by: Zozosoft on 2019.January.31. 19:35:46
Zozo, van egy kis problémám... (nem csoda, én csak egy kis buta gépész vagyok :oops: )
A TCAVE.ROM rendben működik az emulátorban, de eepromba kiírva ( Winbond W27C512-45Z) valódi gépen már nem.
Kipróbáltam, ugyanolyan EPROM-mal, és nekem működik.
Title: Re: EPROM-ba írható játékok
Post by: gflorez on 2019.January.31. 20:02:58
....with a slight performance cost because of the more complex memory paging.

I understand: it would only deserve the effort to program it if the reading velocity of the "pagination inside a pagination" is faster than reading the SD.

Another use for that spare memory can be to fill it with other possible SD-Reader firmwares, as a backup for important data or use it as Write Only Memory (https://enterpriseforever.com/other-topics/wom-write-only-memory/msg53911/#msg53911)...

Title: Re: EPROM-ba írható játékok
Post by: Judge on 2019.January.31. 23:11:49
Kipróbáltam, ugyanolyan EPROM-mal, és nekem működik.

Akkor hasonlítsd össze légyszíves a programozóm írási beállításait ( fentebb kitettem) a tiéddel, hogy nagyon eltér e a tiédtől. Ha látsz valami nem odavalót légyszi szólj, mindig szívesen veszem a jó tanácsot. :oops:
Ezekkel a beállításokkal írtam az Istvánét is és egyből jó lett.

Pl.: te ott mit állítassz be ahol az üres terület feltöltését kérdi  00H-kal, FFH-kal vagy ne legyen művelet. Én ezt alapbeállításon hagyom: FFH-kal
Title: Re: EPROM-ba írható játékok
Post by: IstvanV on 2019.January.31. 23:29:48
Talán valamiért hibás lesz a ROM vége? Az újracsomagolt verzió néhány száz byte-tal rövidebb.
Title: Re: EPROM-ba írható játékok
Post by: Zozosoft on 2019.February.01. 10:25:42
Akkor hasonlítsd össze légyszíves a programozóm írási beállításait ( fentebb kitettem) a tiéddel, hogy nagyon eltér e a tiédtől.
Az enyém ilyen:
[attach=1]

Quote
Ha látsz valami nem odavalót légyszi szólj, mindig szívesen veszem a jó tanácsot. :oops:
Ezekkel a beállításokkal írtam az Istvánét is és egyből jó lett.
Törlést nyomtál rá előbb? Lehet, hogy másodszorra azért lett jó, mert akkor törölve lett.


Quote
Pl.: te ott mit állítassz be ahol az üres terület feltöltését kérdi  00H-kal, FFH-kal vagy ne legyen művelet. Én ezt alapbeállításon hagyom: FFH-kal
FF a jó, mert a törölt IC szintén FF-ekre áll be. Így azokat már nem kell kiírni, így gyorsabb az írás, és nincs feleslegesen koptatva az IC.
(Emlékszem, hogy anno beltettük a HSoft féle EPROM égető programba, hogy FF-nél ugorja át az írást)
De jelen esetben tök mindegy, mivel a fájl és az IC mérete megegyezik. A nem használt részre meg a fájlban ott van az FF feltötés.

Talán valamiért hibás lesz a ROM vége? Az újracsomagolt verzió néhány száz byte-tal rövidebb.
Én is valami IC/írási hibára tippelnék. Ha még megvan a hibás működésű IC, akkor ki kéne menteni EP-n, hogy ott mi látszik belőle, és aztán összehasonlítani a forrás fájllal.
Title: Re: EPROM-ba írható játékok
Post by: Judge on 2019.February.01. 14:16:07
Törlést nyomtál rá előbb? Lehet, hogy másodszorra azért lett jó, mert akkor törölve lett.
Ott van a képen (sajnos fordítva) az Information ablakban, hogy Törléssel kezd a progamozó, aztán Programozás és végül Ellenőrzés. Mindhárom OK.

Én is valami IC/írási hibára tippelnék. Ha még megvan a hibás működésű IC, akkor ki kéne menteni EP-n, hogy ott mi látszik belőle, és aztán összehasonlítani a forrás fájllal.
Sajnos ugyanabba az IC-be írtam az Istvánét és elsőre jó lett. De azért megpróbálom most már egy másik IC-be a tied is.
Title: Re: EPROM-ba írható játékok
Post by: IstvanV on 2019.February.01. 15:18:35
I understand: it would only deserve the effort to program it if the reading velocity of the "pagination inside a pagination" is faster than reading the SD.

Actually, it could be possible to make an SDext port of romfsdev.asm faster than the original version, if it used the SRAM area of the card instead of the EXOS stack on a separate page. But the SRAM is probably already in use for other purposes. Reading uncompressed data from an SD card is still faster in any case, and the capacity is obviously much higher as well.
Title: Re: EPROM-ba írható játékok
Post by: Zozosoft on 2019.March.02. 20:53:40
Én is valami IC/írási hibára tippelnék.
Ezt megfejtettük a klubnapon: hamis kínai IC-k, némelyike jóval lassabb mint ami rá van írva, ezért nem ment 7.12 MHz-es gépen. 4MHz-en végülis ezek is működtek.
Title: Re: EPROM-ba írható játékok
Post by: Dr.OG on 2022.May.01. 20:40:38
Üdvözlöm a nagyérdeműt!

Kérdéseim lennének az (E)EPROM-okba írható játékokkal kapcsolatban.
Alapvetően a Pear-féle EXDOS 2.0 kártya klónnal kísérleteztem.
Az világos, hogy a nem teljes 16kB vagy többszörösei méretű fájlokat hexaeditorral ki kell egészíteni (én FF hexa karaktereket használtam), hogy pontosan 16.384, 32.768 stb... bájt méretűek legyenek.

Átolvastam az egész topicot, és számomra gyakrolati szempontból összefoglalva az alábbiak derültek ki:
1.) Bizonyos játékok EXOS-kompatibilisek, és bővítményként futtathatók ROM-ból. Ilyen a régiek közül pl. a PASIANS, a CYRUS, de Zozó is csinált pár ilyet, pl. WRIG, EAT, BZS.
2.) Mások nem jelennek meg a :HELP listáján, de LOAD "NÉV:"-vel betölthetők és futtathatók, ilyen pl. a HAMIKA, BRUCE, NODES. Nem tudom, ezeket valahogy lehet-e listázni, ha esetleg idegen ROM-ban szeretnénk megnézni, mik vannak.
3.) Vannak olyan játékok, amik direkt cartridge ROM-ként történő használatra alakítottak át, pl. BRICKY, TCAVE. Ezek esetén a :HELP listájában ROMFS szerepel, na ezeknél nem tudtam rájönni, hogy hogyan indíthatók, vagy indíthatóak-e egyáltalán valamilyen nagyobb belső ROM részeként. De ez lehet az én lámaságom miatt van így.
4.) Néhány játék nekem nem volt hajlandó megfelelően működni, annak ellenére, hogy elvileg futniuk kellene. Ilyen pl. a TETRISZ (fekete képernyővel megáll), vagy a WIZLAIR (kezdő nyelvválasztó képernyőn túljutok, de utána zöld glitchek jelennek meg, majd le is fagy a játék). Amire tippelek, hogy esetleg valami memória-ütközésről lehet szó. Egyelőre csak úgy tudom ugyanis kihasználni az EXDOS-kártya 256kB-os ROM-kapacitását, ha az SD-kártya olvasóval indítom a gépet (annak hiányában a gyári BASIC cart lassú memóriatesztjével csak az első 32kB-ot látja a rendszer, így van IS-DOS 1.0 és EXDOS 1.4 is). Viszont az SD-kártyás gyorsteszt már látja a teljes ROM-állományt, de így eltűnik az IS-DOS a listáról. Holnap tervezem a gép alaplapját módosítani, és a 2.4-es EXOS-t beégetni egy 64kB-os EPROM-ba, hogy ne kelljen indításhoz se a BASIC cart, se SD-kártya olvasó. Letöltöttem a gflorez-nek összeállított ROM-ot is, abban az tűnt fel, hogy több helyre van 16kB-os "üres" (hexa FF) rész betoldva, nem tudom, ennek van-e gyakorlati jelentősége (pl. ütközés elkerülése), vagy csak ballasztnak van ott.

Elnézést mindenkitől, ha triviális dolgokat nem értek, és előre köszönöm a segítséget!
Title: Re: EPROM-ba írható játékok
Post by: Zozosoft on 2022.May.01. 20:52:58
ROMFS-nél szerintem LOAD "ROM:" de elvileg az is működik, hogy 1-es lenyomod a bejelentkező képnél, és picit még nyomva is tartod.
Elvileg van ROMDIR is.
És készült a FILE-ből ROM-os is, sokjátékos ROMFS-nél azt kell betenni elsőnek, és akkor ez indul el a fentebb említett módokon.
Te esetedben egy saját ROMFS-t kéne készíteni a kívánt játékokból, ezzel a fájlválasztómenüvel.

Több ilyen összerakva tuti összeakad, mivel nem lehet több ROM: eszköz a rendszerben, felülírják egymást.
Title: Re: EPROM-ba írható játékok
Post by: Dr.OG on 2022.May.02. 05:45:48
Köszönöm, Mester a gyors választ!
A LOAD "ROM:"-ot fogom tesztelni, az 1-es lenyomását próbáltam, de ezek szerint nem tartottam nyomva elég hosszan.
Igazából egy ROMFS-os játék elég lenne a boldogságomhoz, a BRICKY, ez megy EnterMice egérrel, mint a PASZIANS. Sajnos a Pear EXDOS-kártya 2.0-ás verziója "csak" 256kB-os (E)EPROM-ot kezel, az meg elég gyorsan betelik. Felrakom a saját ROM pakkomat a késztermékkel és a generáló .bat fájllal együtt, hátha érdekes vagy segítséget jelent valakinek.

A többi kérdésről (TETRISZ, WIZLAIR fagyás, IS-DOS eltűnése) mi a vélemény?
A konfig egy alap, bővítetlen memóriájú EP128, EnterMice egér- és botkormányillesztő, 3-as verziójú (tehát RTC nélküli) SD-kártya olvasó, PEAR EXDOS-kártya v2.0 compact. Az alaplaphoz eddig nem nyúltam, tehát valószínűleg a gyári EXOS 2.1 van rajta. Ma tervezem 2.4HU-ra upgradelni. A BASIC cartridge érdekes, mert 2x16k-s ROM-mal működik, és nincs harmadik ROM foglalat, pedig pluszos gépről van szó. Az U1 (ablakos EPROM) tartalma megegyezik az ep128emu által is használt ep-plus.rom-mal, de a gyári U2, 9128DS-0237/ENTER 08-46-A feliratú ROM néhány helyen eltér a fent lévő basic21.rom-tól. Van még egy U3-mal jelölt, SN74ALS138-as IC, meg egy LK1-gyel jelölt jumper, ez alapján a 03-07-es típusú cart NyÁK-ról van szó. Feltöltöm a saját U2-es ROM-om tartalmát is, hátha jól jön még...
Title: Re: EPROM-ba írható játékok
Post by: Zozosoft on 2022.May.02. 09:21:23
Az U1 (ablakos EPROM) tartalma megegyezik az ep128emu által is használt ep-plus.rom-mal, de a gyári U2, 9128DS-0237/ENTER 08-46-A feliratú ROM néhány helyen eltér a fent lévő basic21.rom-tól.
Nem meglepő :lol:
Valami Zozosoft nevű fickó cikket is írt erről az Enterpressben:
Quote
Az gondolom közismert, hogy eredetileg az IS-BASIC-ben hibás az EXT utasítás:
[attachimg=1]
Quote
A példa esetén egy 25 GOTO 30 utasítással ki lehet kerülni a hibát.
Az eredeti EXT végrehajtó része így néz ki:

    D850  EXOS 1AH
    D852  RST 18H
    D853  RET

Az EXOS hívás maga az EXOS parancs kiadása, az RST 18H az EXOS hiba ellenőrzése funkció a BASIC ROM-ban. Kimaradt viszont a BASIC verem kitakarítása! Ez okozza a hibát, ill. ez az amit a GOTO megcsinál...
Ezt egy:

    RST 10H
    DB 160H,0

kóddal érhetjük el. Viszont hova írjuk be? A HELP BASIC-re adandó help szövegből szedtem le pár szóközt, és az így keletkezett helyre kerül a módosított kód:

    FA78  EXOS 1AH
    FA7A  RST 18H
    FA7B  RST 10H
    FA7C  DB 16H
    FA7D  DB 00H
    FA7E  RET

D850-re pedig JP FA78H
A módosítást ASMON-al könnyen elvégezhetjük:
Code: [Select]
[O] B1 [ENTER] xx [ENTER] xx:A BASIC szegmens BASIC ROM belapozása az 1. lapra
[C] 4000 [ENTER] 7FFF [ENTER] 8000 [ENTER] BASIC ROM átmásolása a 2. lapra
[C] BA42 [ENTER] BA7F [ENTER] BA3F [ENTER] HELP szöveg első sorának lerövidítése 3 bájttal (bevezető szóközök)
[C] BA5A [ENTER] BA7B [ENTER] BA57 [ENTER] második sor lerövidítése
[M] BA76 [ENTER] 0D 0A F7 1A DF D7 16 00 C9 [ESC] a keletkezett helyre beírásra kerül először a szöveget lezáró CR/LF, majd a szükséges új kód
[M] 8095 [ENTER] 3C [ESC] HELP szöveg hosszának átírása
[M] 9850 [ENTER] C3 78 FA [ESC] kódra ugró JP elhelyezése
[S] 8000 [ENTER] BFFF [ENTER] BASIC.ROM [ENTER] javított ROM fájl kimentése
Title: Re: EPROM-ba írható játékok
Post by: Dr.OG on 2022.May.02. 12:25:53
Nem meglepő :lol:
Valami Zozosoft nevű fickó cikket is írt erről az Enterpressben...
Igen, ezt olvastam, csak valamiért föltételeztem, hogy az emulátorban az eredeti ROM-tartalom van a pontosság kedvéért, de végül is érthető, hogy mégsem.
Jelentem: a beavatkozás sikerült, most már az én gépembe is EXOS42HU van beépítve. Bár nem volt egyszerű az U2-es ROM #1-es lábához menő vaskos vezetősávot átvágni, főleg úgy, hogy 2 vékony kis sáv ott van közvetlenül mellette, de sikerült. A forrasztással már nem volt gond.
Gyanúm beigazolódott: úgy tűnik, hogy az SD-kártya olvasó SDEXTv0.6-osa "üti ki" az EXDOS kártyán lévő ISDOSv1.0-t.
ROMFS megléte esetén a :ROMDIR működik, a LOAD "ROM:" viszont nem (*** File not found.)
Viszont az Enterprise logónál hosszan 1-est nyomva elindul a Bricky Prise, úgyhogy öröm és boldogság, köszönöm a segítséget!
Title: Re: EPROM-ba írható játékok
Post by: Judge on 2022.May.02. 13:20:51
ROMFS megléte esetén a :ROMDIR működik, a LOAD "ROM:" viszont nem (*** File not found.)

Érdekes, nekem működik a   LOAD "ROM:fájlnév"   mindegyiknél...

[attach=1]
Title: Re: EPROM-ba írható játékok
Post by: Dr.OG on 2022.May.02. 15:43:06
Érdekes, nekem működik a   LOAD "ROM:fájlnév"   mindegyiknél...
(Attachment Link)
Jah, hát úgy könnyű! Láma voltam, nem írtam be a ROM: mögé a fájlnevet, mert nem ismertem a parancs szintaxisát. De így már pöccre indul nálam is!
Köszi mindenkinek a segítséget!
Title: Re: EPROM-ba írható játékok
Post by: Dr.OG on 2022.May.02. 18:26:07
A fotók alapján sikerült fellelnem szerintem az összes ROM-ból futtatható játékot, a jelen topicon kívül a "Fájltömörítés Enterprise-on" című gazdag tárháza ezeknek, ott találtam meg az elindításra vonatkozó információkat is:

"Valami rövid összefoglalása a funkcióknak:
ROM   version 1.0
:ROMDIR list files
LOAD "ROM:*" start first file
LOAD "ROM:filename" start specified file
Press 1 at EP logo screen start first file"

Néhány (pl. Yanga, Speccies) csak a saját topicjában található meg. Felrakom ide ömlesztve az összeset, hátha kellene valakinek, vagy egyben szeretné letölteni.

Lehet, hogy érdemes lenne valahová a letöltések közé is kirakni, akár egyben, akár külön-külön.

OFF: olvastam korábban, hogy a Nodes of Yesod nem mindegyik TV-n megy. Nálam LCD-n hullámzik a kép az eredeti, NODESTRN.ROM fájllal, csakúgy, mint pl. a Commando esetén. A "Fájltömörítés..." topicban olvastam, hogy ez lett javítva az ALIENODE.ROM-ban, ahol már 312 soros az LPT.
Title: Re: EPROM-ba írható játékok
Post by: szipucsu on 2022.May.02. 18:35:48
OFF: olvastam korábban, hogy a Nodes of Yesod nem mindegyik TV-n megy. Nálam LCD-n hullámzik a kép az eredeti, NODESTRN.ROM fájllal, csakúgy, mint pl. a Commando esetén. A "Fájltömörítés..." topicban olvastam, hogy ez lett javítva az ALIENODE.ROM-ban, ahol már 312 soros az LPT.
A Tegyük rendbe az EP programokat topikba pár éve IstvánV tett fel javított LPT-s Nodes-t, amit szerintem Lacika is feltett az ep128.hu-ra. Gondolom, a régebbi Nodes került bele a ROM-ba.
Title: Re: EPROM-ba írható játékok
Post by: Judge on 2022.May.02. 19:05:16
Úgy látom a Team Hat Trick (https://drive.google.com/file/d/13bSJRvUUtq58LN8pa4JvWs9zRSNc8pl0/view?usp=sharing) hiányzik a csomagból...
[attach=1]
pedig ezzel kihasználhatod a  négy portos joy adaptert... :)

Title: Re: EPROM-ba írható játékok
Post by: szipucsu on 2022.May.02. 19:42:06
Itt van a 312 soros Nodes (https://enterpriseforever.com/programozas/tegyuk-rendbe-az-ep-programokat!/msg74764/#msg74764), ha tényleg ez kellene. De még epromos verziót kell csinálni belőle.
Title: Re: EPROM-ba írható játékok
Post by: Dr.OG on 2022.May.02. 19:58:34
Úgy látom a Team Hat Trick (https://drive.google.com/file/d/13bSJRvUUtq58LN8pa4JvWs9zRSNc8pl0/view?usp=sharing) hiányzik a csomagból...
(Attachment Link)
pedig ezzel kihasználhatod a  négy portos joy adaptert... :)
Köszi, ez tényleg kimaradt! Viszont a 4-játékos adapter remekül működik, bár egyelőre csak a HIDTEST-tel próbáltam.
Most, hogy az alaplappal és az EXDOS-kártyával is megvagyok, a cartridge-et tervezem moddolni, és abba rakni "saját" tartalommal (na jó, itteni játékokkal) megtöltött EPROM-okat. Nyilván nem lesz olyan igényes, mint a tiéd, egyelőre csak az a cél, hogy működjön.
Title: Re: EPROM-ba írható játékok
Post by: Judge on 2022.May.04. 21:45:58
[attach=1]

Elnézést, csak szemet szúrt... Megkérdezhetem,hogy mi történt ott a tesztben a Control2  LR kapcsolóval? :smt017
Title: Re: EPROM-ba írható játékok
Post by: Dr.OG on 2022.May.05. 04:18:23
Meg, user error: a gyerek húzta folyamatosan jobbra a joyt ;-)
Title: Re: EPROM-ba írható játékok
Post by: Judge on 2022.May.05. 12:31:40
Meg, user error: a gyerek húzta folyamatosan jobbra a joyt ;-)
Ok, akkor nem hardware hiba... :lol:
Title: Re: EPROM-ba írható játékok
Post by: Ferro73 on 2022.May.05. 20:49:39
Van valahol írás erről, hogy milyen szempontok szerin kellene átírni?

Gondolok:
- Visszatérés lehetőség vagy hideg reset.
- ZX átiratnál Screen megjelenítési lehetőség.
stb.