Loading ...
Sorry, an error occurred while loading the content.

Re: Posibilitati de emulare HC91 sau HC2000 cu IF1 si unitate disc flexibil

Expand Messages
  • george_chirtoaca
    Felicitari ca te-ai incumetat la treaba asta. M-am uitat pe cod, de mai multe ori :). Se vede experienta ta, sunt multe detalii tehnice implementate acolo.
    Message 1 of 17 , Jun 24, 2012
    • 0 Attachment
      Felicitari ca te-ai incumetat la treaba asta.
      M-am uitat pe cod, de mai multe ori :). Se vede experienta ta, sunt multe detalii tehnice implementate acolo. Tare as vrea sa-l compilez si eu si sa-l incerc, dar trebuie sa ma deprind cu procesul de compilare pe Linux.
      Timpul de CAT la mine e cam 10 secunde pe un HC 2000.
      Multumim!



      --- In RomanianHomeComputer@yahoogroups.com, Alex Badea <vamposdecampos@...> wrote:
      >
      > 2012/6/22 Alex Badea <vamposdecampos@...>
      >
      > > Salut,
      > >
      > > 2010/8/10 George Chirtoaca <george_chirtoaca@...>:
      > > > Solutia e de a scrie sau modifica un emulator existent pentru a avea
      > > suport specific pentru HC, lucru care nu e foarte usor. Exista emulatoare
      > > open-source de calitate, cum ar fi FUSE, care ar putea fi modificat. E un
      > > lucru la care m-am gandit, dar n-am avut timp sau curaj sa ma apuc. Poate
      > > daca ne strangem mai multi si colaboram, ar fi mai usor.
      > >
      > > Am un work-in-progress hack pentru suport de IF1 cu i8272 in Fuse:
      > >
      > > http://pastebin.com/jxA51L09 (patch)
      > > http://i49.tinypic.com/2eygqz8.png (screenshot)
      > >
      > >
      > Acum si pe github:
      > https://github.com/vamposdecampos/fuse-emulator-svn/commits/hc-if1-hacks
      >
      >
      > > Una din probleme e ca pare mai lent decat imi aduc eu aminte (acum nu
      > > am un HC veritabil, din pacate). De la "cat 1" pana la screenshot a
      > > durat cam 40 de secunde.
      > >
      >
    • george_chirtoaca
      Salut, Am compilat pentru Windows emulatorul Fuse cu modificarile lui Alex Badea. Il gasiti aici:
      Message 2 of 17 , Aug 4, 2012
      • 0 Attachment
        Salut,

        Am compilat pentru Windows emulatorul Fuse cu modificarile lui Alex Badea. Il gasiti aici: http://groups.yahoo.com/group/RomanianHomeComputer/files/PC%20Tools/fuse-hc.zip . Deci poate emula un HC cu discheta. Imaginile dischetelor trebuie redenumite sa aiba extensia .mgt si se deschid din meniul Media->Interface 1->Microdrive 1->Insert. Modificarile pe care le-am facut eu sunt
        - pentru a putea deschide imaginile dischetelor din meniu
        - pentru a optimiza citirea dichetei, care mergea mai greu decat in realitate. Aparent era de la bitul de stare a motorului floppy (bitul 0) care se citea pe porturile 5 si 7. L-am lasat 0 in loc de 1.
        Scrierile pe discheta se fac doar in memorie, imaginea nu e alterata.

        Nu e o versiune completa, dar se poate folosi.
        Multumiri lui Alex Badea pentru implementare.


        --- In RomanianHomeComputer@yahoogroups.com, "george_chirtoaca" <george_chirtoaca@...> wrote:
        >
        >
        >
        > Felicitari ca te-ai incumetat la treaba asta.
        > M-am uitat pe cod, de mai multe ori :). Se vede experienta ta, sunt multe detalii tehnice implementate acolo. Tare as vrea sa-l compilez si eu si sa-l incerc, dar trebuie sa ma deprind cu procesul de compilare pe Linux.
        > Timpul de CAT la mine e cam 10 secunde pe un HC 2000.
        > Multumim!
        >
        >
        >
        > --- In RomanianHomeComputer@yahoogroups.com, Alex Badea <vamposdecampos@> wrote:
        > >
        > > 2012/6/22 Alex Badea <vamposdecampos@>
        > >
        > > > Salut,
        > > >
        > > > 2010/8/10 George Chirtoaca <george_chirtoaca@>:
        > > > > Solutia e de a scrie sau modifica un emulator existent pentru a avea
        > > > suport specific pentru HC, lucru care nu e foarte usor. Exista emulatoare
        > > > open-source de calitate, cum ar fi FUSE, care ar putea fi modificat. E un
        > > > lucru la care m-am gandit, dar n-am avut timp sau curaj sa ma apuc. Poate
        > > > daca ne strangem mai multi si colaboram, ar fi mai usor.
        > > >
        > > > Am un work-in-progress hack pentru suport de IF1 cu i8272 in Fuse:
        > > >
        > > > http://pastebin.com/jxA51L09 (patch)
        > > > http://i49.tinypic.com/2eygqz8.png (screenshot)
        > > >
        > > >
        > > Acum si pe github:
        > > https://github.com/vamposdecampos/fuse-emulator-svn/commits/hc-if1-hacks
        > >
        > >
        > > > Una din probleme e ca pare mai lent decat imi aduc eu aminte (acum nu
        > > > am un HC veritabil, din pacate). De la "cat 1" pana la screenshot a
        > > > durat cam 40 de secunde.
        > > >
        > >
        >
      • Alex Badea
        ... Genial :) Multumim pentru fix. In afara de bitul 0 setat pe 0, e la fel de importanta comentarea lui disk_write() -- altfel probabil se corupe starea
        Message 3 of 17 , Aug 7, 2012
        2012/8/4 george_chirtoaca <george_chirtoaca@...>:
        >
        >
        > Salut,
        >
        > Am compilat pentru Windows emulatorul Fuse cu modificarile lui Alex Badea. Il gasiti aici: http://groups.yahoo.com/group/RomanianHomeComputer/files/PC%20Tools/fuse-hc.zip . Deci poate emula un HC cu discheta. Imaginile dischetelor trebuie redenumite sa aiba extensia .mgt si se deschid din meniul Media->Interface 1->Microdrive 1->Insert. Modificarile pe care le-am facut eu sunt
        > - pentru a putea deschide imaginile dischetelor din meniu
        > - pentru a optimiza citirea dichetei, care mergea mai greu decat in realitate. Aparent era de la bitul de stare a motorului floppy (bitul 0) care se citea pe porturile 5 si 7. L-am lasat 0 in loc de 1.
        > Scrierile pe discheta se fac doar in memorie, imaginea nu e alterata.
        >
        > Nu e o versiune completa, dar se poate folosi.
        > Multumiri lui Alex Badea pentru implementare.

        Genial :) Multumim pentru fix. In afara de bitul 0 setat pe 0, e la
        fel de importanta comentarea lui disk_write() -- altfel probabil se
        corupe starea fdc-ului, si Basic raporteaza "Disk error". Nu m-ar
        mira acum sa fie emularea mai rapida ca masina fizica, unde din cate
        am inteles bitul 0 se resteaza dupa un oareshce delay.

        E ok sa comit modificarile tale (i.e. patch-ul atasat) in tree-ul de pe github?

        Cheers,
        Alex
      • george_chirtoaca
        Salut, Alex, e OK sa pui modificarile pe github. Da emularea e putin mai rapida, dar nu cred ca se supara cineva :). As vrea sa facem o implementare completa,
        Message 4 of 17 , Aug 8, 2012
        • 0 Attachment
          Salut,

          Alex, e OK sa pui modificarile pe github.
          Da emularea e putin mai rapida, dar nu cred ca se supara cineva :).
          As vrea sa facem o implementare completa, cu o implementare separata pentru if1_hc, access la floppy real si suport pentru CP/M. Acum nu am timp, dar nu renunt la idee :).

          Mersi.


          --- In RomanianHomeComputer@yahoogroups.com, Alex Badea <vamposdecampos@...> wrote:
          >
          > 2012/8/4 george_chirtoaca <george_chirtoaca@...>:
          > >
          > >
          > > Salut,
          > >
          > > Am compilat pentru Windows emulatorul Fuse cu modificarile lui Alex Badea. Il gasiti aici: http://groups.yahoo.com/group/RomanianHomeComputer/files/PC%20Tools/fuse-hc.zip . Deci poate emula un HC cu discheta. Imaginile dischetelor trebuie redenumite sa aiba extensia .mgt si se deschid din meniul Media->Interface 1->Microdrive 1->Insert. Modificarile pe care le-am facut eu sunt
          > > - pentru a putea deschide imaginile dischetelor din meniu
          > > - pentru a optimiza citirea dichetei, care mergea mai greu decat in realitate. Aparent era de la bitul de stare a motorului floppy (bitul 0) care se citea pe porturile 5 si 7. L-am lasat 0 in loc de 1.
          > > Scrierile pe discheta se fac doar in memorie, imaginea nu e alterata.
          > >
          > > Nu e o versiune completa, dar se poate folosi.
          > > Multumiri lui Alex Badea pentru implementare.
          >
          > Genial :) Multumim pentru fix. In afara de bitul 0 setat pe 0, e la
          > fel de importanta comentarea lui disk_write() -- altfel probabil se
          > corupe starea fdc-ului, si Basic raporteaza "Disk error". Nu m-ar
          > mira acum sa fie emularea mai rapida ca masina fizica, unde din cate
          > am inteles bitul 0 se resteaza dupa un oareshce delay.
          >
          > E ok sa comit modificarile tale (i.e. patch-ul atasat) in tree-ul de pe github?
          >
          > Cheers,
          > Alex
          >
        • Alex Badea
          Salut, ... Am comis. Plus inca un patch cu care poti sa dai Microdrive 1 - Save si sa salvezi imaginea de floppy. ... Acum mai multa vreme hacuisem logica
          Message 5 of 17 , Aug 9, 2012
          • 0 Attachment
            Salut,

            2012/8/8 george_chirtoaca <george_chirtoaca@...>:
            > Alex, e OK sa pui modificarile pe github.

            Am comis. Plus inca un patch cu care poti sa dai Microdrive 1 -> Save
            si sa salvezi imaginea de floppy.

            > Da emularea e putin mai rapida, dar nu cred ca se supara cineva :).
            > As vrea sa facem o implementare completa, cu o implementare separata pentru if1_hc, access la floppy real si suport pentru CP/M. Acum nu am timp, dar nu renunt la idee :).

            Acum mai multa vreme hacuisem logica pentru emulat bank-switching-ul
            de CP/M (la PRINT USR 14446 clipea un cusor in stanga-sus). Dar
            atunci nu aveam suport de floppy, si n-am ajuns nicaieri.


            Am demarat o discutie[1] pe lista de development de la fuse. Invit pe
            aceasta cale pe cunoscatorii de aici sa arunce cu idei. In
            particular, nu mi-e foarte clar exact ce versiuni de HC exista si care
            sunt diferentele dintre ele.

            Cheers,
            Alex

            [1] http://sourceforge.net/mailarchive/message.php?msg_id=29656939
          • george_chirtoaca
            Salut Alex, Felicitari din nou pentru initiativa. Inca nu m-am prins cum pot raspunde pe SourceForge la mesajul tau, probabil pe mail, ca pe web vad thread-ul
            Message 6 of 17 , Aug 10, 2012
            • 0 Attachment
              Salut Alex,

              Felicitari din nou pentru initiativa.
              Inca nu m-am prins cum pot raspunde pe SourceForge la mesajul tau, probabil pe mail, ca pe web vad thread-ul read-only.
              Parerea mea legat de subiect este:
              1. IF1-HC ar fi bine sa fie implementare separata, deoarece e un hardware specific destul de diferit de interfata originala, deci varianta 1A.
              2. Pentru HC as merge pe 2A, dar cu un singur model generic HC + IF1-HC + CP/M, deoarece nu exista diferente functionale intre modelele HC, doar diferente de implementare hardware. Iar variantele de HC fara IF1 sunt de fapt functional identice cu Spectrum 48K si nu ar necesita un model distinct. Intr-adevar sunt diferente de timing, dar nu cred ca exista vre-un software de HC care sa depinda de timing-ul specific HC, ci dimpotriva, software de Spectrum care ar avea probleme cu timing-ul diferit al HC-ului.

              Mersi.

              --- In RomanianHomeComputer@yahoogroups.com, Alex Badea <vamposdecampos@...> wrote:
              >
              > Salut,
              >
              > 2012/8/8 george_chirtoaca <george_chirtoaca@...>:
              > > Alex, e OK sa pui modificarile pe github.
              >
              > Am comis. Plus inca un patch cu care poti sa dai Microdrive 1 -> Save
              > si sa salvezi imaginea de floppy.
              >
              > > Da emularea e putin mai rapida, dar nu cred ca se supara cineva :).
              > > As vrea sa facem o implementare completa, cu o implementare separata pentru if1_hc, access la floppy real si suport pentru CP/M. Acum nu am timp, dar nu renunt la idee :).
              >
              > Acum mai multa vreme hacuisem logica pentru emulat bank-switching-ul
              > de CP/M (la PRINT USR 14446 clipea un cusor in stanga-sus). Dar
              > atunci nu aveam suport de floppy, si n-am ajuns nicaieri.
              >
              >
              > Am demarat o discutie[1] pe lista de development de la fuse. Invit pe
              > aceasta cale pe cunoscatorii de aici sa arunce cu idei. In
              > particular, nu mi-e foarte clar exact ce versiuni de HC exista si care
              > sunt diferentele dintre ele.
              >
              > Cheers,
              > Alex
              >
              > [1] http://sourceforge.net/mailarchive/message.php?msg_id=29656939
              >
            • Alex Badea
              Update: acum si suport de CP/M ;) Codul, pe github[1], branch-ul hc2000-hacks . Cateva notite (partial pentru mine, sa nu uit ce-am facut): Exista un
              Message 7 of 17 , Oct 29, 2012
              • 0 Attachment
                Update: acum si suport de CP/M ;)

                Codul, pe github[1], branch-ul "hc2000-hacks". Cateva notite (partial
                pentru mine, sa nu uit ce-am facut):

                Exista un cvasi-tip de masina "hc2000" care poate fi specificat cu "-m
                hc2000" in commandline, dar care intern e raportat to ca Spectrum 48K.
                Impreuna cu emularea de HC-IF1, sunt folosite 3 imagini ROM:

                5e2096e6460ff2120c8ada97579fdf82c1199c09 hc2000-0.rom
                2d9e0bfca189d96e4d0a0009c20e7c913d988cbf hc2000-1.rom
                b76d2bebcd938238f790e395859d0d237637d33e hc-if1.rom

                0 e basic, 1 e CP/M. Toate au 16KB. Eu le-am extras din HC-ROM.ZIP de pe grup.

                Imaginea de disc de boot CP/M nu merge citita ca atare; am
                convertit-o in in format "sad" care are geometria descrisa explicit in
                fisier.

                fuse-utils/mgt2sad.py 2 80 9 512 < CPM22-HC.IMG > cpm22-hc.sad

                f6912d1ec36307ae1a8dd05a2decde57ec0e8a61 CPM22-HC.IMG
                1304a69d637d1d1a53c4b40b4e8c0847c246b3e5 cpm22-hc.sad

                Toata masinaria se poate rula cu:

                ./fuse -m hc2000 --if1disk cpm22-hc.sad

                Screenshot: http://i50.tinypic.com/34i3ig2.png

                Am mai testat si jocuri care folosesc RAM-ul suplimentar pentru
                incarcare (chasehq, shadowdancer, cabal, de la George de pe site --
                redenumite in .mgt) si par sa functioneze.

                Enjoy,
                Alex


                [1] https://github.com/vamposdecampos/fuse-emulator-svn/tree/hc2000-hacks


                2012/8/10 george_chirtoaca <george_chirtoaca@...>:
                >
                >
                > Salut Alex,
                >
                > Felicitari din nou pentru initiativa.
                > Inca nu m-am prins cum pot raspunde pe SourceForge la mesajul tau, probabil pe mail, ca pe web vad thread-ul read-only.
                > Parerea mea legat de subiect este:
                > 1. IF1-HC ar fi bine sa fie implementare separata, deoarece e un hardware specific destul de diferit de interfata originala, deci varianta 1A.
                > 2. Pentru HC as merge pe 2A, dar cu un singur model generic HC + IF1-HC + CP/M, deoarece nu exista diferente functionale intre modelele HC, doar diferente de implementare hardware. Iar variantele de HC fara IF1 sunt de fapt functional identice cu Spectrum 48K si nu ar necesita un model distinct. Intr-adevar sunt diferente de timing, dar nu cred ca exista vre-un software de HC care sa depinda de timing-ul specific HC, ci dimpotriva, software de Spectrum care ar avea probleme cu timing-ul diferit al HC-ului.
                >
                > Mersi.
                >
                > --- In RomanianHomeComputer@yahoogroups.com, Alex Badea <vamposdecampos@...> wrote:
                >>
                >> Salut,
                >>
                >> 2012/8/8 george_chirtoaca <george_chirtoaca@...>:
                >> > Alex, e OK sa pui modificarile pe github.
                >>
                >> Am comis. Plus inca un patch cu care poti sa dai Microdrive 1 -> Save
                >> si sa salvezi imaginea de floppy.
                >>
                >> > Da emularea e putin mai rapida, dar nu cred ca se supara cineva :).
                >> > As vrea sa facem o implementare completa, cu o implementare separata pentru if1_hc, access la floppy real si suport pentru CP/M. Acum nu am timp, dar nu renunt la idee :).
                >>
                >> Acum mai multa vreme hacuisem logica pentru emulat bank-switching-ul
                >> de CP/M (la PRINT USR 14446 clipea un cusor in stanga-sus). Dar
                >> atunci nu aveam suport de floppy, si n-am ajuns nicaieri.
                >>
                >>
                >> Am demarat o discutie[1] pe lista de development de la fuse. Invit pe
                >> aceasta cale pe cunoscatorii de aici sa arunce cu idei. In
                >> particular, nu mi-e foarte clar exact ce versiuni de HC exista si care
                >> sunt diferentele dintre ele.
                >>
                >> Cheers,
                >> Alex
                >>
                >> [1] http://sourceforge.net/mailarchive/message.php?msg_id=29656939
                >>
                >
                >
                >
                >
                > ------------------------------------
                >
                > Yahoo! Groups Links
                >
                >
                >
              • George Chirtoacă
                Multumim Alex! Acum avem HC emulat complet. Alex, cand vrei, da-mi voie sa-ti fac cinste cu o bere! :) Am compilat versiunea pentru Windows, si am pus arhiva
                Message 8 of 17 , Oct 31, 2012
                • 1 Attachment
                • 44 KB
                Multumim Alex! Acum avem HC emulat complet. Alex, cand vrei, da-mi voie sa-ti fac cinste cu o bere! :)

                Am compilat versiunea pentru Windows, si am pus arhiva aici:
                http://groups.yahoo.com/group/RomanianHomeComputer/files/PC%20Tools/fuse-hc2000-hacks.7z .
                Am adaugat si ROM-urile corespunzatoare.
                Am adaugat si cateva imagini de disc, de CP/M si BASIC, in format DSK (format ce include deasemena info. de geometrie).
                Pentru a creea sau converti imagini DSK, am pus HCDisk 2 (alpha), aici:
                http://groups.yahoo.com/group/RomanianHomeComputer/files/PC%20Tools/HCDisk2.zip .

                Spor!

                Pe 30.10.2012 00:36, Alex Badea a scris:
                 

                Update: acum si suport de CP/M ;)

                Codul, pe github[1], branch-ul "hc2000-hacks". Cateva notite (partial
                pentru mine, sa nu uit ce-am facut):

                Exista un cvasi-tip de masina "hc2000" care poate fi specificat cu "-m
                hc2000" in commandline, dar care intern e raportat to ca Spectrum 48K.
                Impreuna cu emularea de HC-IF1, sunt folosite 3 imagini ROM:

                5e2096e6460ff2120c8ada97579fdf82c1199c09 hc2000-0.rom
                2d9e0bfca189d96e4d0a0009c20e7c913d988cbf hc2000-1.rom
                b76d2bebcd938238f790e395859d0d237637d33e hc-if1.rom

                0 e basic, 1 e CP/M. Toate au 16KB. Eu le-am extras din HC-ROM.ZIP de pe grup.

                Imaginea de disc de boot CP/M nu merge citita ca atare; am
                convertit-o in in format "sad" care are geometria descrisa explicit in
                fisier.

                fuse-utils/mgt2sad.py 2 80 9 512 < CPM22-HC.IMG > cpm22-hc.sad

                f6912d1ec36307ae1a8dd05a2decde57ec0e8a61 CPM22-HC.IMG
                1304a69d637d1d1a53c4b40b4e8c0847c246b3e5 cpm22-hc.sad

                Toata masinaria se poate rula cu:

                ./fuse -m hc2000 --if1disk cpm22-hc.sad

                Screenshot: http://i50.tinypic.com/34i3ig2.png

                Am mai testat si jocuri care folosesc RAM-ul suplimentar pentru
                incarcare (chasehq, shadowdancer, cabal, de la George de pe site --
                redenumite in .mgt) si par sa functioneze.

                Enjoy,
                Alex

                [1] https://github.com/vamposdecampos/fuse-emulator-svn/tree/hc2000-hacks

                2012/8/10 george_chirtoaca <george_chirtoaca@...>:
                >
                >
                > Salut Alex,
                >
                > Felicitari din nou pentru initiativa.
                > Inca nu m-am prins cum pot raspunde pe SourceForge la mesajul tau, probabil pe mail, ca pe web vad thread-ul read-only.
                > Parerea mea legat de subiect este:
                > 1. IF1-HC ar fi bine sa fie implementare separata, deoarece e un hardware specific destul de diferit de interfata originala, deci varianta 1A.
                > 2. Pentru HC as merge pe 2A, dar cu un singur model generic HC + IF1-HC + CP/M, deoarece nu exista diferente functionale intre modelele HC, doar diferente de implementare hardware. Iar variantele de HC fara IF1 sunt de fapt functional identice cu Spectrum 48K si nu ar necesita un model distinct. Intr-adevar sunt diferente de timing, dar nu cred ca exista vre-un software de HC care sa depinda de timing-ul specific HC, ci dimpotriva, software de Spectrum care ar avea probleme cu timing-ul diferit al HC-ului.
                >
                > Mersi.
                >
                > --- In RomanianHomeComputer@yahoogroups.com, Alex Badea <vamposdecampos@...> wrote:
                >>
                >> Salut,
                >>
                >> 2012/8/8 george_chirtoaca <george_chirtoaca@...>:
                >> > Alex, e OK sa pui modificarile pe github.
                >>
                >> Am comis. Plus inca un patch cu care poti sa dai Microdrive 1 -> Save
                >> si sa salvezi imaginea de floppy.
                >>
                >> > Da emularea e putin mai rapida, dar nu cred ca se supara cineva :).
                >> > As vrea sa facem o implementare completa, cu o implementare separata pentru if1_hc, access la floppy real si suport pentru CP/M. Acum nu am timp, dar nu renunt la idee :).
                >>
                >> Acum mai multa vreme hacuisem logica pentru emulat bank-switching-ul
                >> de CP/M (la PRINT USR 14446 clipea un cusor in stanga-sus). Dar
                >> atunci nu aveam suport de floppy, si n-am ajuns nicaieri.
                >>
                >>
                >> Am demarat o discutie[1] pe lista de development de la fuse. Invit pe
                >> aceasta cale pe cunoscatorii de aici sa arunce cu idei. In
                >> particular, nu mi-e foarte clar exact ce versiuni de HC exista si care
                >> sunt diferentele dintre ele.
                >>
                >> Cheers,
                >> Alex
                >>
                >> [1] http://sourceforge.net/mailarchive/message.php?msg_id=29656939
                >>
                >
                >
                >
                >
                > ------------------------------------
                >
                > Yahoo! Groups Links
                >
                >
                >


              • Claudiu
                Foarte tare! Eram pe cale sa ma apuc sa imi compilez Gentoo doar pentru FUSE. Multumesc frumos, apreciez foarte mult pasiunea si efortul depus.
                Message 9 of 17 , Oct 31, 2012
                • 0 Attachment
                  Foarte tare!
                  Eram pe cale sa ma apuc sa imi compilez Gentoo doar pentru FUSE.
                  Multumesc frumos, apreciez foarte mult pasiunea si efortul depus.
                Your message has been successfully submitted and would be delivered to recipients shortly.