Welcome, Guest. Please login or register.


Author Topic: CPC programok átírása (Read 64413 times)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14776
  • Country: hu
    • http://enterprise.iko.hu/
Re: CPC programok átírása
« Reply #45 on: 2012.December.18. 09:10:20 »
Quote from: szipucsu
Más. Azt nem lehetne megcsinálni, hogy a belső joystick is működhessen külsőként? Nehéz rászokni a numerikus billentyűzetre, sok CPC-s játék meg csak arról megy.
Különösen laptopon, ahol nincs numerikus billentyűzet...

Offline geco

  • EP addict
  • *
  • Posts: 7219
  • Country: hu
    • Támogató Támogató
Re: CPC programok átírása
« Reply #46 on: 2012.December.18. 09:13:26 »
Quote from: Zozosoft
Különösen laptopon, ahol nincs numerikus billentyűzet...
Igen, én is a del,ins,pg down,home, insertre szoktam beállítani :lol:
megnézem, de lehet, akkor meg összeakadás lesz a kurzormozgatásban az emulátorban, vagy legyen egy ROM csak a konvertált játékoknak, ahol a külső joy2 mellett a belsőt is figyeli?
A hangok terén észleletem némi eltérést, ezért is gondoltam ,hogy újítani kéne a hang részt.
Az a terv még a hang lecserélése mellett, meg a Lacika által említett nyílprobléma mellett, hogy a kis leírást az elején beteszem még, de azt csak egy betöltött képként, CPC-n Basicből írja ki ,csak idő hiányában lassan mennek a dolgok :oops::
« Last Edit: 2012.December.18. 09:17:57 by geco »

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14776
  • Country: hu
    • http://enterprise.iko.hu/
Re: CPC programok átírása
« Reply #47 on: 2012.December.18. 09:30:53 »
Quote from: geco
megnézem, de lehet, akkor meg összeakadás lesz a kurzormozgatásban az emulátorban
Azt meg lehetne oldani, hogy mondjuk valamelyik Funkció billentyűre felcserélje a külső-belsőt az emulátorban?
Quote
vagy legyen egy ROM csak a konvertált játékoknak, ahol a külső joy2 mellett a belsőt is figyeli?
Igen a játékoknak lehetne ilyen ROM.

Offline geco

  • EP addict
  • *
  • Posts: 7219
  • Country: hu
    • Támogató Támogató
Re: CPC programok átírása
« Reply #48 on: 2012.December.18. 11:23:10 »
Quote from: Zozosoft
Azt meg lehetne oldani, hogy mondjuk valamelyik Funkció billentyűre felcserélje a külső-belsőt az emulátorban?Igen a játékoknak lehetne ilyen ROM.
Azzal meg az a baj, hogy a CPC-n is vannak funkció billentyűk, így marad a külön ROM :D

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 10096
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: CPC programok átírása
« Reply #49 on: 2012.December.18. 12:47:34 »
És még "kívánságlista" a CPC emulátorhoz:
Basic-ben a törlés lehetne az erase billentyűvel?
Esetleg a bal shift is működhetne shiftként? Bár most hangjelzést ad, az is aranyos. :D Csak a játékok betöltésénél jön elő ez a hiány a RUN" parancsnál.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline geco

  • EP addict
  • *
  • Posts: 7219
  • Country: hu
    • Támogató Támogató
Re: CPC programok átírása
« Reply #50 on: 2012.December.18. 13:29:32 »
Quote from: szipucsu
És még "kívánságlista" a CPC emulátorhoz:
Basic-ben a törlés lehetne az erase billentyűvel?
Esetleg a bal shift is működhetne shiftként? Bár most hangjelzést ad, az is aranyos. :D Csak a játékok betöltésénél jön elő ez a hiány a RUN" parancsnál.
Ahogy néztem, erase-ként műxik, EP Basicben is a backspac-szel töröltem, és CPCemuban is.
A SHIFT-et majd megnézem, lehet azért hagytam ki, mert duplán kell ellenőrizni.

Offline geco

  • EP addict
  • *
  • Posts: 7219
  • Country: hu
    • Támogató Támogató
Re: CPC programok átírása
« Reply #51 on: 2012.December.25. 18:01:32 »
Zene cserélve a ROM-ban, ha ROM ext joy2 lekérés van, akkor int joy + enter betéve, CTRL, és bal SHIFT havítva, először érkezik a Traffic, ha ott nincs változtatnivaló, akkor a CPCemu is.

Offline geco

  • EP addict
  • *
  • Posts: 7219
  • Country: hu
    • Támogató Támogató
Re: CPC programok átírása
« Reply #52 on: 2012.December.26. 00:02:16 »
Én passzolok :D

Offline geco

  • EP addict
  • *
  • Posts: 7219
  • Country: hu
    • Támogató Támogató
Re: CPC programok átírása
« Reply #53 on: 2012.December.26. 21:48:19 »
Itt a forrás a ROM rutinokat használó CPC programok átírására CPCemu segítségével:

A következő lépéseket hajtja végre:
-Key rate, bias, keret (zöld) beállítása
-Memória ellenőrzés (128k), soft reset beállítása
-2 videólap lefoglalása, egyik LPT-nek, másik Videó memóriának, videó memória törlése
-2 LPT felépítése (CPC 50Hz-enként vált két paletta között, ezek a legtöbb esetben megegyeznek), CPC videó címek eltárolása az LPB-kben, és LPT Nick címének kiszámítása, új LPT aktiválása
-4 memóriaszegmens lefoglalása (OS ROM, RAM0, RAM1, RAM2)
-OS ROM betöltése a ROM-nak lefoglalt memória szegmensbe (4000h-val eltolva)
-számunkra fontos EXOS terület elmentése az OS ROM területre (0030h-005fh-->2b40h-2b6fh), lefoglalt memóriaszegmensek, és egyéb fontos értékek eltárolása az OS ROM megfelelő területein, OS ROM rutinok törlése: Casette init hívás, képernyő inicializálás, és gyártó kiírását kiíró hívás törlése, képernyő törlés kiiktatása, paletta inicializálás kiktatása
-Traffic.prg betöltése 4000h-val eltolva, majd a szöveget tartalmazó kép betöltése
-dave regiszterek 0-ázása,státsusz sor kikapcsolása,6 megszakítási hely elhelyezése az LPT-kben (300Hz-es megszakítás generálás)
-OS ROM inicializáló rész átmásolása egy OS ROM init által érintetlen helyre, majd ugrás oda, szükséges regiszter értékek megadása, ROM init indítása, OS ROM képernyőtörlésének, és palettaírásának visszaállítása, keret beállítás, BC' regiszter beállítás (ezt használja a CPC lapozásra, és videómód beállításra)
-ugrás a játék kezdetére

Program átírásához a következőket kell módosítani:
Code: [Select]
border  equ 02h             ;keret beállítása
bias equ 1bh*8           ;bias beállítása
start_prg equ 7a00h           ;program kezdési címe
loader_screen equ 0 ;0 ha nincs betöltőkép, 1 ha van
;loader_screen_name equ screen ;betöltőkép neve, a forrás végén módosítandó
loader_screen_address equ 0c000h          ;betöltőkép töltési címe
loader_screen_length equ 4000h           ;betöltőkép hossza
;prg_file_name equ prg ;program neve, a forrás végén módosítandó
prg_file_address equ 0a00h           ;program töltési címe
prg_file_length equ 7d00h           ;program hossza
loadend_screen equ 1 ;0 ha nincs vége kép, 1 ha van
;loadend_screen_name equ scrend ;program indítása előtti kép neve
loadend_screen_address equ 0c000h          ;betöltési címe
loadend_screen_length equ 4000h           ;fájl hossza
« Last Edit: 2013.January.11. 14:50:00 by geco »

Offline geco

  • EP addict
  • *
  • Posts: 7219
  • Country: hu
    • Támogató Támogató
Re: CPC programok átírása
« Reply #54 on: 2012.December.26. 22:22:17 »
Az OS ROM init előtti videó mód beállítása a vlpb címke 2 bájtján történik, a paletta pedig a 9. bájttól kezdődően. Keret beállítását a következő sorok végzik:
Code: [Select]
       ld        a,02h            ;green
        out        (81h),a
        ld        (0b7d4h),a        ;border    
        ld        (0b7e5h),a        ;border'


Offline Lacika

  • EP addict
  • *
  • Posts: 3213
  • Country: hu
    • http://www.ep128.hu
Re: CPC programok átírása
« Reply #55 on: 2012.December.27. 11:02:11 »
Az ALIEN ATTACK OS664.ROM-ja miért más? Azt látom, hogy az az új ROM-mal nem működik.

Offline geco

  • EP addict
  • *
  • Posts: 7219
  • Country: hu
    • Támogató Támogató
Re: CPC programok átírása
« Reply #56 on: 2012.December.28. 19:50:38 »
Quote from: Lacika
Az ALIEN ATTACK OS664.ROM-ja miért más? Azt látom, hogy az az új ROM-mal nem működik.
Egy-két dolog más helyre került az új verzióban, ráadásul, az Alien Attack két képernyőmódot használ és ez a CPCemu két LPT-jével lett megoldva, meg lehet kellett más módosításokat is eszközölni benne, már nem emléxem, de arra igen, hogy használt port hívásokat is.

Offline geco

  • EP addict
  • *
  • Posts: 7219
  • Country: hu
    • Támogató Támogató
Re: CPC programok átírása
« Reply #57 on: 2013.January.11. 14:52:39 »
módosítottam a programátírás ROM használatával hozzászólásomat, meg a CPCload.src forrást, és az OS664.ROM-ot is lecseréltem