atarionline.pl Dobra biblioteka w C do emulacji 6502 - Forum Atarum

    Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

    • :
    • :

    Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

      • 1: CommentAuthorilmenit
      • CommentTime19 Mar 2014 10:03
       
      Czy ma ktoś doświadczenie z bibliotekami do emulacji 6502? Jest np. lib6502, można też ripować kody z emulatora Atari800 lub Atari++. ASAP używał kiedyś kodów z Atari800, ale jak jest napisane na stronie ma teraz własną emulację.
      • 2: CommentAuthortebe
      • CommentTime19 Mar 2014 10:03
       
      napisałem swoją, z tym że niekompletna bo używa tylko tych rozkazów które akurat były potrzebne, służy do puszczenia programu i policzenia cykli
      • 3: CommentAuthorilmenit
      • CommentTime19 Mar 2014 10:03
       
      Dla oszczędzenia czasu właśnie tego chciałem uniknąć :-)
      • 4: CommentAuthor0xF
      • CommentTime19 Mar 2014 11:03
       
      W ASAP jest dobra i jest w Ć.
      • 5: CommentAuthorilmenit
      • CommentTime19 Mar 2014 12:03 zmieniony
       
      Rzeczywiście dobra, ale po kompilacji do C wszystkie makra są rozwijane a komentarze usuwane :-/ Przez to taki kod jest bardzo nieczytelny i trudny w dalszej modyfikacji.

      EDIT:
      W sumie to Ci jest na tyle bliski C, że po ręcznej modyfikacji cpu6502.ci powinno dać go radę skompilować kompilatorem C.
      • 6: CommentAuthor0xF
      • CommentTime19 Mar 2014 15:03
       
      Po pierwsze, dlaczego chcesz edytować kod w C, a nie Ć?

      Po drugie komentarzy nie jest tam tak wiele.
      • 7:
         
        CommentAuthorjhusak
      • CommentTime19 Mar 2014 15:03
       
      @0xF, nazwałeś tak język i się dziwisz, że nikt o nim nie łyszał... a jak słyszał to nie chce pisać... Normalnie tabu...

      Ja to bym nazwał CE.

      Tak. Język CE.

      Od razu deklaracja zgodności jest...
      • 8: CommentAuthor0xF
      • CommentTime19 Mar 2014 15:03
       
      Nie dziwię się, cieszę się. :)

      Na początek polecam lekturę "Wielkie umysły programowania. Jak myślą i pracują twórcy najważniejszych języków"
      • 9: CommentAuthorilmenit
      • CommentTime19 Mar 2014 16:03 zmieniony
       
      "Po pierwsze, dlaczego chcesz edytować kod w C, a nie Ć?"

      Dlatego, że to będzie część projektu pisanego w C i Cito nie skompiluje kodu, jak będę chciał w tym pliku użyć odwołań do funkcji i zmienych zdefiniowanych w C. Cały projekt nie może być w Ci m.in. z powodu braku bibliotek, których potrzebuję użyć.

      Btw, co robi ACPU_NO_DECIMAL, tzn. jakie jest tego zastosowanie? W jakim celu można chcieć wyłączyć emulację BCD?

      EDIT: Właśnie wygooglałem acpu.c. To nie można było powiedzieć...
      • 10: CommentAuthorrudla
      • CommentTime20 Mar 2014 21:03
       
      Acpu source code seems very nice.
      If you want, you may try to use 6502 emulation that is part of Atalan package (https://code.google.com/p/atalan/source/browse/trunk/src/con6502/M6502.c)

      I fixed some errors concerning BCD and it works just fine.

      ad ACPU_NO_DECIMAL. You may want to turn off the BCD support because 6502 on NES does not support BCD.
      • 11: CommentAuthorilmenit
      • CommentTime21 Mar 2014 00:03 zmieniony
       
      I'll take a look at it.
      What is the usage of 6502 emulator in Atalan?

      Btw, are you still working on this project? This is one of the coolest languages for 6502.
      • 12: CommentAuthorrudla
      • CommentTime21 Mar 2014 01:03
       
      The library in con6502, utility that executes 6502 binaries in windows console. I use it for automated testing of the compiler.

      And yes, I am still working on the language. I redesigned significant parts of the internal working and now i'm trying to make work all that was working before :-)

      I'm currently testing it on x86 target, but I hop 6502 will be working again soon, too.
      • 13: CommentAuthor0xF
      • CommentTime21 Mar 2014 09:03
       

      ilmenit:

      Btw, co robi ACPU_NO_DECIMAL, tzn. jakie jest tego zastosowanie? W jakim celu można chcieć wyłączyć emulację BCD?

      Bo jej nie potrzebujemy, a zależy nam na rozmiarze kodu. Przykłady: odtwarzacz SAP na mikrokontrolerze, intro 64k.

      ilmenit:

      EDIT: Właśnie wygooglałem acpu.c. To nie można było powiedzieć...

      Zapomniałem. :)