Welcome, Guest. Please login or register.

Login with username, password and session length


Author Topic: Plus4emu (Read 1461 times)

Offline IstvanV

  • EP addict
  • *
  • Posts: 3588
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 50.0 Firefox 50.0
    • View Profile
Re:Plus4emu
« Reply #30 on: 2016.December.27. 22:52:58 »
Ha a "*" az utoljára betett adatot jelöli, akkor talán érdemes lenne SP=$FF esetén a $0200 körüli tartalmat mutatni jelölés nélkül.

Ez a változtatás már megtalálható (egyebek mellett) a Git forráskódban.

Offline balagesz

  • EP fan
  • *
  • Posts: 224
  • Country: hu
  • OS:
  • Linux (Fedora)) Linux (Fedora))
  • Browser:
  • Firefox 50.0 Firefox 50.0
    • View Profile
Re:Plus4emu
« Reply #31 on: 2016.December.29. 23:27:08 »
Ez a változtatás már megtalálható (egyebek mellett) a Git forráskódban.

Szuper! Így talán kevésbé zavaró ez a rendkívül ritka jelenség... :)

Amúgy ha már béta; mintha lenne egy apró pontatlanság az 1541 VIA Timer1 emulálásában. Nézegetem a forráskódot, de (én se) nem értek C++-szul. :| A kód elvileg azt csinálja, (?) hogy csökkenti megfelelő ütemben a Timer1 számlálóját, majd ha 0 lesz, akkor meghívja a Timer1Underflow() függvényt, ami Free Run esetén újratölti a számlálót a beállított értékkel. Ezzel a számláló pont annyi órajelenként "akciózik", mint amennyi a tárolóban be van állítva. Nemrégiben teszteltem "rendes" VIA-t (egy eredeti MOS-t, meg egy - talán - UMC-t próbáltam), és azok úgy működnek, mint ahogy a MOS-os dokumentációban van. Ott az történik, hogy a $0000 utáni órajelre $FFFF lesz az érték, a következő impulzusra töltődik csak újra a számláló a tárolókból. Ennek az a végeredménye, hogy Free Run esetén a beírt értékhez képest 2 lépéssel több a számláló ciklusideje.

Hogy ennek van-e bármilyen jelentősége? :-D Gondoltam azért elmondom. ;) (A közelmúltban még a régi plus4emu segítségével debugoltam az 1541 DOS-t, ott jött ki némi számolgatás után ez az érdekesség. Most belenézve a forráskódba, ezt olvasom ki belőle...)

Offline IstvanV

  • EP addict
  • *
  • Posts: 3588
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 50.0 Firefox 50.0
    • View Profile
Re: Plus4emu
« Reply #32 on: 2016.December.30. 00:21:29 »
Nem tudom, jó-e ez a megoldás, de módosítottam a Git-ben hogy ne a nullára való lefutást hanem a 0000 -> FFFF átmenetet figyelje mindkét számláló, és az első újratöltése még további egy ciklus késleltetés után történjen.

Offline balagesz

  • EP fan
  • *
  • Posts: 224
  • Country: hu
  • OS:
  • Linux (Fedora)) Linux (Fedora))
  • Browser:
  • Firefox 50.0 Firefox 50.0
    • View Profile
Re: Plus4emu
« Reply #33 on: 2016.December.30. 01:45:21 »
Jónak kell annak lennie, mivel - mint látszik - nem annyira kritikus itt a történet. Az 1541 DOS meg nem túl rugalmas (hogy finoman fogalmazzak... :) ), saját IRQ-t készíteni nem enged, ezzel maximum méricskélni lehet, de tulajdonképpen mit is? :) A DOS egyébként Format alatt ezzel mér ki 100 µS-nyi időt. Így nyer értelmet az, hogy $0062-vel "húzza fel" a timert, nem $0064-gyel.

Azért szerintem az jelent valamit, hogy ilyen "hibákon" rágódunk az emuval kapcsolatban. :) Elég jó ez a stuff, na! Köszönet!

Offline IstvanV

  • EP addict
  • *
  • Posts: 3588
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 49.0 Firefox 49.0
    • View Profile
Re: Plus4emu
« Reply #34 on: 2017.February.09. 19:05:31 »
A GitHub-on egy ideje már van 1.2.10 verzió. :)

Az időzítő probléma egyébként a CIA emulációját is érintheti, bár csak az 1581-es floppy meghajtó használ ilyet, így talán kevésbé jelent problémát. Az itt található részletes leírás szerint 2 időtartam beállítása esetén például a számláló értéke 2,1,2,2,1,2,2,1,... lesz, azaz 3 ciklusonként generál megszakítást 2 helyett. Nem tudom, a 6526 és a 8520 között van-e különbség.

Offline geco

  • EP addict
  • *
  • Posts: 4104
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 45.0 Firefox 45.0
    • View Profile
Re: Plus4emu
« Reply #35 on: 2017.February.09. 19:16:53 »
Ezt találtam:
The Amiga home computers employed two and Commodore 1581 floppy disk drive one 8520 chip, which is functionally equivalent to 6526/8521 except the simplified TOD circuitry.
The 8520 revision of the CIA, as used in the Amiga and the Commodore 1581 disk drive, modified the time-of-day clock to be a 24-bit binary counter, replacing the BCD format of the 6526. Other behavior was similar, however.

Offline balagesz

  • EP fan
  • *
  • Posts: 224
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 45.0 Firefox 45.0
    • View Profile
Re: Plus4emu
« Reply #36 on: 2017.February.17. 00:00:32 »
Az időzítő probléma egyébként a CIA emulációját is érintheti, bár csak az 1581-es floppy meghajtó használ ilyet, így talán kevésbé jelent problémát.

Erről konkrét infóm nincs, de mintha valaki azt említette volna, hogy a CIA-kból Timer működés szempontjából két fajta is van. Itt egészen biztosan nem lesz ezzel probléma. (Hacsak az ep128emu mintájára nem csinálsz ebből is C64 meg VIC20 emulátort is... :ds_icon_cheesygrin: )

Az új verziót köszi, csekkolom!

Online Zozosoft

  • EP addict
  • *
  • Posts: 12332
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 51.0 Firefox 51.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Plus4emu
« Reply #37 on: 2017.February.17. 08:44:23 »
Hacsak az ep128emu mintájára nem csinálsz ebből is C64 meg VIC20 emulátort is...
Nem rossz ötlet! :ds_icon_cheesygrin:

Offline IstvanV

  • EP addict
  • *
  • Posts: 3588
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 49.0 Firefox 49.0
    • View Profile
Re: Plus4emu
« Reply #38 on: 2017.February.22. 11:42:56 »
A p4fliconv előnézet funkciója nem működött (csak fekete képernyő jelent meg), javítottam a Git forráskódban. Valójában már az előző beta verzióban is rossz volt. :oops: Hamarosan frissítem a letölthető csomagokat.

Online lgb

  • EP addict
  • *
  • Posts: 3426
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 53.0 Firefox 53.0
    • View Profile
    • http://lgb.hu/
Re: Plus4emu
« Reply #39 on: 2017.May.08. 00:41:08 »
A GitHub-on egy ideje már van 1.2.10 verzió. :)

Az időzítő probléma egyébként a CIA emulációját is érintheti, bár csak az 1581-es floppy meghajtó használ ilyet, így talán kevésbé jelent problémát. Az itt található részletes leírás szerint 2 időtartam beállítása esetén például a számláló értéke 2,1,2,2,1,2,2,1,... lesz, azaz 3 ciklusonként generál megszakítást 2 helyett. Nem tudom, a 6526 és a 8520 között van-e különbség.

Hmmm. Mondjuk nem eppen a tekintetben, es lehet nem is ez a lenyeg, de amennyre utdom, a 8520 abban kulonbozik fokeppen a 6526/8521-tol, hogy leegyszerusitetted a TOD-ot, nem a BCD-s van, hanem egyszeruen egy 24 bites (???) szamlalo, vagy ilyesmi?

8520 talan tenyleg 1581-esben volt (meg mintha Amiga kornyeken is lenne ilyesmi?), de ha altalaban a "CIA-ra" vonatkozik (es nem kulon a 8520-ra csak), akkor az szerintem 1570/1571-ben is volt mar pl. 1541-ben volt talan VIA, es ott kezdodtek a gondok is (illetve meg VIC20-nal ahol a gepben is VIA volt) hogy a szepen megalmodott IEC serial busz hw-esen bugzott egy VIA bug miatt, ezert atvaltottak "software-es" megoldasra, ennek is koszonheto, hogy olyan szep lassu lett :( Mondjuk C128-nal van mar fast serial cuccos, ami talan pont ugy muxik, ahogy terveztek volna, de elmeletileg C64-nel is menne (CIA van benne), ha a drive is tudja (tehat 1541 kilove).

Ez szigoruan IMHO es AFAIK jellegu hozzaszolas volt :-P