Welcome, Guest. Please login or register.


Author Topic: Szoftveres CPC emulátor EP-re (Read 178602 times)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Szoftveres CPC emulátor EP-re
« Reply #45 on: 2006.August.21. 09:14:55 »
Quote from: "geco"
a kép volt olvashatatlan, mert az EXOS felülírta a 2. LPT egy részét

Ezekszerint nincs EXOS kompatibilis memória kezelés... :( Különben az EXOS nem tenne ilyet!

Offline geco

  • EP addict
  • *
  • Posts: 7082
  • Country: hu
    • Támogató Támogató
Szoftveres CPC emulátor EP-re
« Reply #46 on: 2006.August.21. 22:32:21 »
Quote from: "Zozosoft"
Ezekszerint nincs EXOS kompatibilis memória kezelés... :( Különben az EXOS nem tenne ilyet!


A memórialapok kiválasztásához igénybe veszem az EXOS azon területét, ahol a szabad szegmenseket tárolja, azok közül veszem ki sorban a használni kívánt szegmenseket, kivétel az FF, FE, FD, most, hogy az FF-rõl elköltözött az LPT, így csak az EXOS használja, FE a CPC Video RAM, FD-n meg csak a két LPT van.
Sajna nem tudom, hogy az EXOS hogyan dönti el, hogy melyik lapot lapozza be, õ is a sor elejérõl veszi ki az elsõ szabad lapot?
idõközben elkészült az 50 Hz emuja is.

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Szoftveres CPC emulátor EP-re
« Reply #47 on: 2006.August.21. 23:20:58 »
Quote from: "geco"

A memórialapok kiválasztásához igénybe veszem az EXOS azon területét, ahol a szabad szegmenseket tárolja, azok közül veszem ki sorban a használni kívánt szegmenseket, kivétel az FF, FE, FD, most, hogy az FF-rõl elköltözött az LPT, így csak az EXOS használja, FE a CPC Video RAM, FD-n meg csak a két LPT van.

Hát nem ezt értem EXOS kompatibilis alatt :-(
Miért is kell az EXOS tudta nélkül kotoroszni a a rendszerszegmensben? :-) Így az EXOS nem tud róla hogy te mit csinálsz a memóriában, és mivel szabadnak hiszi, naná, hogy felülírhatja.
És most kipróbáltam, te se tudsz róla, ha már kiosztotta a szegmenseket valakinek az EXOS. Egy egyszerû példa: RAMDISK használata... most jól felülírja a programod :(

EXOS 24! egyszerû, biztonságos, korrekt :-)
Na jó azzal van egy pici macera, ha egy konkrét szegmensre fáj a fogad :-)
Ilyenkor ciklusban kell kunyerálni...
Tán a legegyszerübb, ha ciklusban addig kérsz szegmenst amíg el nem fogy, a kapottakat letárolod szép sorban, kiválasztod ezek közül, amelyek neked kellenek, és a többit visszaadod. Amit megtartottál az pedig tuti tiéd, nem írja senki más felül (feltéve ha az a más is EXOS kompatibilisen van megírva :) ), és te is biztos lehetsz benne, hogy nem írsz mást felül.

Vagy lehet alkalmazni a programátírásnál használt betöltömben használt módszert is. A sima memória területekhez csak sima EXOS 24, a videómemória és LPT szegmens igényléshez van külön rutin ami videószegmenst igényel. Itt még vannak olyan inyencségek is, hogy bármely két videószegmens megfelel nekünk erre a célra, és aztán a szegmensek számából lesz kiszámolva a videómemória és az LPT NICK címe. Meg olyan is van benne, hogy LPT célra a megosztott rendszerszegmens is jó, ha van benne elég hely, természetesen ekkor tudatjuk az EXOS-sal, hogy meddig nyújtozhat :)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Szoftveres CPC emulátor EP-re
« Reply #48 on: 2006.August.21. 23:23:18 »
Amúgy nagyon bíztató a POPUP, lehet, hogy nem is kell már átírni :-)

Offline geco

  • EP addict
  • *
  • Posts: 7082
  • Country: hu
    • Támogató Támogató
Szoftveres CPC emulátor EP-re
« Reply #49 on: 2006.August.21. 23:26:43 »
Quote from: "Zozosoft"
Amúgy nagyon bíztató a POPUP, lehet, hogy nem is kell már átírni :-)


Ma az 50 Hz emulálása után játszottam vele egy keveset, nem találkoztam semmi problémával, igaz emulátor alatt toltam (EP32, EP128)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Szoftveres CPC emulátor EP-re
« Reply #50 on: 2006.August.21. 23:34:02 »
Quote from: "geco"
Ma az 50 Hz emulálása után játszottam vele egy keveset, nem találkoztam semmi problémával, igaz emulátor alatt toltam (EP32, EP128)

A letölthetõ tegnapi változat az még 50Hz nélküli? Mert az még picit furán mûködik :-)

Offline geco

  • EP addict
  • *
  • Posts: 7082
  • Country: hu
    • Támogató Támogató
Szoftveres CPC emulátor EP-re
« Reply #51 on: 2006.August.21. 23:37:03 »
Quote from: "Zozosoft"
Quote from: "geco"

A memórialapok kiválasztásához igénybe veszem az EXOS azon területét, ahol a szabad szegmenseket tárolja, azok közül veszem ki sorban a használni kívánt szegmenseket, kivétel az FF, FE, FD, most, hogy az FF-rõl elköltözött az LPT, így csak az EXOS használja, FE a CPC Video RAM, FD-n meg csak a két LPT van.

Hát nem ezt értem EXOS kompatibilis alatt :-(

Gondoltam, erre a felülírásra nem gondoltam egészen addig, amíg be nem következett az LPT problémám.

Quote from: "Zozosoft"

EXOS 24! egyszerû, biztonságos, korrekt :-)
Na jó azzal van egy pici macera, ha egy konkrét szegmensre fáj a fogad :-)
Ilyenkor ciklusban kell kunyerálni...
Tán a legegyszerübb, ha ciklusban addig kérsz szegmenst amíg el nem fogy, a kapottakat letárolod szép sorban, kiválasztod ezek közül, amelyek neked kellenek, és a többit visszaadod. Amit megtartottál az pedig tuti tiéd, nem írja senki más felül (feltéve ha az a más is EXOS kompatibilisen van megírva :) ), és te is biztos lehetsz benne, hogy nem írsz mást felül.

Vagy lehet alkalmazni a programátírásnál használt betöltömben használt módszert is. A sima memória területekhez csak sima EXOS 24, a videómemória és LPT szegmens igényléshez van külön rutin ami videószegmenst igényel. Itt még vannak olyan inyencségek is, hogy bármely két videószegmens megfelel nekünk erre a célra, és aztán a szegmensek számából lesz kiszámolva a videómemória és az LPT NICK címe. Meg olyan is van benne, hogy LPT célra a megosztott rendszerszegmens is jó, ha van benne elég hely, természetesen ekkor tudatjuk az EXOS-sal, hogy meddig nyújtozhat :)


Megpróbálom majd átvariálni a dolgokat.
Köszi szépen az infót, és a kritikát, ezért is teszem ki idõnként a programot, mert így szépen folyamatosan jönnek a visszajelzések, amiket köszönök szépen mindenkinek.

Offline geco

  • EP addict
  • *
  • Posts: 7082
  • Country: hu
    • Támogató Támogató
Szoftveres CPC emulátor EP-re
« Reply #52 on: 2006.August.21. 23:57:53 »
Quote from: "Zozosoft"
A letölthetõ tegnapi változat az még 50Hz nélküli? Mert az még picit furán mûködik :-)


Igen, ez sem 100%-os 50 Hz, hanem a Prince-ben is alkalmazott 300 visszaosztva.
Még amirõl tudok, hogy hiányzik: EXOS komp., függõleges Scrollozás CPC basic alatt, CTRL átmozgatása az Erase-ra, most az Inserten van, de emiatt az egyik Joy irány nem megy, printerrel foglalkozó rész törlése, meg van még pár port hívás, ami nincs feltérképezve, plusz még ami útközben derül ki.:)

Offline Povi

  • EP addict
  • *
  • Posts: 2296
  • Country: hu
    • http://povi.fw.hu
Szoftveres CPC emulátor EP-re
« Reply #53 on: 2006.August.22. 10:07:44 »
Hogyan lehet az emulátorral programot betölteni? Én tegnap próbálkoztam vele, de nem sikerült... :-(
*** Speicherplatz zu klein

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Szoftveres CPC emulátor EP-re
« Reply #54 on: 2006.August.22. 11:04:42 »
pl: RUN"POP.BAS"

Offline geco

  • EP addict
  • *
  • Posts: 7082
  • Country: hu
    • Támogató Támogató
Szoftveres CPC emulátor EP-re
« Reply #55 on: 2006.August.22. 22:22:47 »
Quote from: "Povi"
Hogyan lehet az emulátorral programot betölteni? Én tegnap próbálkoztam vele, de nem sikerült... :-(


Ezzel szívtam én is, amikor elõször próbáltam programot betölteni PC-s CPC emulátorba, a LOAD, csak a BASIC betöltõs programokat tölti be, a RUN " a programok 90 %-át, a fentmaradó pár %-ot (CP/M) pedig a |CPM paranccsal lehet életre gerjeszteni.

Az EP-s szoftveres "emuban" csak a RUN és a LOAD elérhetõ az AMSDOS hiánya miatt.

Offline geco

  • EP addict
  • *
  • Posts: 7082
  • Country: hu
    • Támogató Támogató
Szoftveres CPC emulátor EP-re
« Reply #56 on: 2006.August.31. 09:47:10 »
Itt a CPC "emu" közel végleges verziója, az általatok felfedezett bugokra, és a nemtetszõ, módosítandó dolgokra lennék kíváncsi, eredeti EP-n még nem próbáltam a legutóbbi pár javítás után, úgyhogy elképzelhetõ, hogy nem fog elindulni.

Van egy 2, amirõl tudok, de javítani nem tudom, az a CPC-s hardware scroll, amit eddig csak a Basic alatt láttam, ha scrollozódik a képernyõ, akkor egy vékony csík is megjelenik néha a képen, ami annak köszönhetõ, hogy CPC egy 16k-s szegmenst használ a videómemóriának, amikor scrollozódik a képernyõ, akkor port írással megváltoztatja a a képernyõ kezdési helyét (eltolja 50h-val), ha az egyik sor kilépne a 16k-s mem. lapról, akkor az 0000h-tól folytatódik ( pl az egyik sor FFD0-nál kezdõdik, akkor FFFF-ig tart, aztán 0000-tól 0020-ig, viszont EP-n az LPB-t nem lehet így megosztani.

A másik a file-kezeléssel kapcsolatos hibaüzenetek, azt hittem, hogy a CPC is az A regisztert használja a hibaüzenet azonosítására, de magnó esetén nem, ha az open sikertelen, akkor függetlenül az A regiszter tartalmától mindig a FILE ALREADY OPEN üzenetet írja ki.

Billentyûzet kiosztás: (a különbségek)
CPC   /   EP
F9      /hold
Copy  /left shift
F0      /stop
Clr     /ctrl
Return/enter
Shift   /right shift
Ctrl    /del
Caps  /lock
Del    /erase

Elméletileg a HOLD+STOP együttes megnyomására az emulátor megáll (a keret feketére vált), ilyenkor a JOY(0) Left/Right-tal lehet a BIAS-t változtatni, az ESC-pel, pedig az emulátort RESETelni, kilépés: STOP
Lehet, hogy a HOLD+STOP bill. kombinációt, vagy a kilépõ bill-t át kellene tenni másra, mert belépni csak egy harmadik billentyû (pl SPACE+STOP+HOLD) együttes lenyomásával lehet normálisan.

Ami még hiányzik, de lehet, hogy nem fogok boldogulni vele: a RESET egyszeri megnyomása esetén a CPC "emu" induljon újra ne az EP.

Várom a buglistát, és a módosítandó dolgok listáját.  :wink:

Talán egy-két héten belül elkészül a teljes verzió.

Offline Lacika

  • EP addict
  • *
  • Posts: 3191
  • Country: hu
    • http://www.ep128.hu
Szoftveres CPC emulátor EP-re
« Reply #57 on: 2006.August.31. 10:32:37 »
Az abszolút lámák nevében kérhetek némi segítséget?
Ha letöltök CPC-s disk image-fileokat (a neten leginkább azokat lehet letölteni), hogy tudok belõle az emulátorba betölthetõ verziót csinálni? Az Atlantis kiterjesztése .org. Ez több file-t tartalaz?
Tényleg praktikus lenne, ha a RESET Amstard-os resetnek felelne meg...

Offline Lacika

  • EP addict
  • *
  • Posts: 3191
  • Country: hu
    • http://www.ep128.hu
Szoftveres CPC emulátor EP-re
« Reply #58 on: 2006.August.31. 10:49:22 »
Egy furcsaság:
A Bruce Lee-ban, rúgni úgy lehetne, hogy jobbra-balra+tûz (a jobbra-balra PC billentyûzeten: , .) billentyûket nyomjuk.
Az emulátorban viszont ez a két billentyû egyszerre nem nagyon akar mûködni. Sokadik próbálgatásra néha rúgunk egyet-egyet.

Offline geco

  • EP addict
  • *
  • Posts: 7082
  • Country: hu
    • Támogató Támogató
Szoftveres CPC emulátor EP-re
« Reply #59 on: 2006.August.31. 11:02:53 »
Quote from: "Lacika"
Egy furcsaság:
A Bruce Lee-ban, rúgni úgy lehetne, hogy jobbra-balra+tûz (a jobbra-balra PC billentyûzeten: , .) billentyûket nyomjuk.
Az emulátorban viszont ez a két billentyû egyszerre nem nagyon akar mûködni. Sokadik próbálgatásra néha rúgunk egyet-egyet.


Ezt tapasztaltam én is EP32 alatt, viszont EP128 alatt nem, majd azután tudok bõvebben ebben a kérdésben nyilatkozni, miután újra kipróbáltam EP-n a cuccot, ha jól emlékszem a régi verziókban mûködött a , vagy . +SPACE   EP-n, viszont EP32 alatt a régebbi verziókban se mûködött.