Welcome, Guest. Please login or register.


Author Topic: EPROM-ba írható játékok (Read 73361 times)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: EPROM-ba írható játékok
« Reply #15 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.

Offline geco

  • EP addict
  • *
  • Posts: 7217
  • Country: hu
    • Támogató Támogató
Re: EPROM-ba írható játékok
« Reply #16 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.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: EPROM-ba írható játékok
« Reply #17 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.

Offline geco

  • EP addict
  • *
  • Posts: 7217
  • Country: hu
    • Támogató Támogató
Re: EPROM-ba írható játékok
« Reply #18 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:
« Last Edit: 2017.February.19. 21:14:15 by geco »

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: EPROM-ba írható játékok
« Reply #19 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.

Offline geco

  • EP addict
  • *
  • Posts: 7217
  • Country: hu
    • Támogató Támogató
Re: EPROM-ba írható játékok
« Reply #20 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.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: EPROM-ba írható játékok
« Reply #21 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

Offline geco

  • EP addict
  • *
  • Posts: 7217
  • Country: hu
    • Támogató Támogató
Re: EPROM-ba írható játékok
« Reply #22 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 :)

Offline geco

  • EP addict
  • *
  • Posts: 7217
  • Country: hu
    • Támogató Támogató
Re: EPROM-ba írható játékok
« Reply #23 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.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: EPROM-ba írható játékok
« Reply #24 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 :)
« Last Edit: 2017.February.21. 20:09:30 by IstvanV »

Offline geco

  • EP addict
  • *
  • Posts: 7217
  • Country: hu
    • Támogató Támogató
Re: EPROM-ba írható játékok
« Reply #25 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 :)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: EPROM-ba írható játékok
« Reply #26 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.
« Last Edit: 2017.February.22. 12:02:27 by IstvanV »

Offline geco

  • EP addict
  • *
  • Posts: 7217
  • Country: hu
    • Támogató Támogató
Re: EPROM-ba írható játékok
« Reply #27 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ó :)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14773
  • Country: hu
    • http://enterprise.iko.hu/
Re: EPROM-ba írható játékok
« Reply #28 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 :-)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14773
  • Country: hu
    • http://enterprise.iko.hu/
Re: EPROM-ba írható játékok
« Reply #29 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.