Aktualności: C64 Power - online od stycznia 2000 !

Autor Wątek: Flaga V w rejestrze stanu procesora.  (Przeczytany 866 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline hobocti77x

  • Level 5
  • *****
  • Wiadomości: 731
Flaga V w rejestrze stanu procesora.
« dnia: 21 Sierpnia 2018, 13:05 »
Jak juz kiedys wspominalem, tworze procesor dla mojego systemu. O ile w w kwesti emulacji wiadomo trzeba zachowac pelne podobienstwo do oryginalu. Ale chce miec tez kilka trybow dodatkowych gdzie priorytetem jest predkosc, ale tez i rozszerzenie mozliwosci procesora.
No i natrafilem na pewien problem. Praktycznie wszedzie mozna przeczytac ze rozkaz CMP to to samo co odejmowanie SBC tylko bez zachowania wyniku, jedynie sa ustawine flagi procesora. No i w sumie tak jest z wyjatkiem V ktora jest ustawiana zgodnie z wynikim przy SBC , ale nie zmienia stanu przy porownaniu CMP. W sumie maly problem tyle ze procesor ARM ustawia ja przy porownaniu zgodnie z wynikiem operacji. Ulatwia to porownywac liczby ze znakiem. no i przy emulacji trzeba te flage zachowac co wymaga kilku dodatkowych cykli procesora.
Wczoraj sprawdzilem jak zrobil to ARM w swojej emulacji 6502 dla komputerow BBC i tam flaga jest aktualizowana i zrezygnowali z korekcji.
Ciekaw jestem w ilu programach na c64 stanowiloby to probelm  :o



Offline Skull

  • Level 6
  • ******
  • Wiadomości: 2034
Re: Flaga V w rejestrze stanu procesora.
« Odpowiedź #1 dnia: 21 Sierpnia 2018, 15:10 »
podejżewam że największe problemy byłyby z loaderami.

Offline Kisiel

  • Level 7
  • *******
  • Wiadomości: 11447
  • Number 7 in all users competition...
    • http://wiki.projekt64.filety.pl/doku.php
Re: Flaga V w rejestrze stanu procesora.
« Odpowiedź #2 dnia: 21 Sierpnia 2018, 15:40 »
Sprawdzone, emulacja dziala. Teraz chce dodac kilka trybow ktore bedzie mozna dodac doatkowym rozkazem wykozystujacym kod $02

mam dysonans naukowo-poznawczy , jeżeli emulacja działa zgodnie z testami to jakie to były testy więc.

Hint, nie przejdzie przez testy na polu.
idz wyprostowany wśród tych co idą na kolanach

...w przypadku checi zakupu UK1541,GA,MA,T8500,T7501 prosze o kontakt na Facebooku, haslo: UK1541....

Offline hobocti77x

  • Level 5
  • *****
  • Wiadomości: 731
Re: Flaga V w rejestrze stanu procesora.
« Odpowiedź #3 dnia: 21 Sierpnia 2018, 17:37 »
podejżewam że największe problemy byłyby z loaderami.
Z loaderami to najwiekszy problem bylby z powodu roznic w szybkosci wykonywania kodu,tu problemy bylby nawet po podkreceniu procesora ale od tego jest dokladna emulacja.
Ciekawe ze ARM taki patent zastosowal w swojej emulacji.

Offline Kisiel

  • Level 7
  • *******
  • Wiadomości: 11447
  • Number 7 in all users competition...
    • http://wiki.projekt64.filety.pl/doku.php
Re: Flaga V w rejestrze stanu procesora.
« Odpowiedź #4 dnia: 21 Sierpnia 2018, 18:13 »
możesz wszystkie dema napisać odnowa.
idz wyprostowany wśród tych co idą na kolanach

...w przypadku checi zakupu UK1541,GA,MA,T8500,T7501 prosze o kontakt na Facebooku, haslo: UK1541....

Offline Raf

  • Master of disaster
  • Administrator
  • Level 7
  • **********
  • Wiadomości: 7333
  • Wolność, własność, sprawiedliwość
Re: Flaga V w rejestrze stanu procesora.
« Odpowiedź #5 dnia: 21 Sierpnia 2018, 21:36 »
A liczb ze znakiem to nikt nie uzywa na 6502?
"Cokolwiek powiesz albo napiszesz, znajdzie się ktoś, kto słyszy lub czyta coś zupełnie innego i jeszcze bezczelnie wmawia Ci to"

Offline hobocti77x

  • Level 5
  • *****
  • Wiadomości: 731
Re: Flaga V w rejestrze stanu procesora.
« Odpowiedź #6 dnia: 22 Sierpnia 2018, 00:09 »
A liczb ze znakiem to nikt nie uzywa na 6502?
Raczej nie przy porownywaniu skoro 6502 pokaze ze 2 >1 ( co jest prawda) , ale tez wykaze ze -1 > 1  ::)
Dzieki uzyciu znacznika V mozna ten blad poprawic ..

Offline hobocti77x

  • Level 5
  • *****
  • Wiadomości: 731
Re: Flaga V w rejestrze stanu procesora.
« Odpowiedź #7 dnia: 22 Sierpnia 2018, 10:19 »
Zmiana zachowania znacznikow w wersjach rozwojowych procesorow nie jest czyms wyjatkowym tak bylo i w przypadku 6502 i 65c02 gdzie przy dodawniu zachowuja sie czasami inaczej. W apple ii po pewnym czasie 6502 zamieniono na 65c02 i nie oznaczoalo to ze nagle jakas znaczna ilosc programow przestawala dzialac, to samo bylo w przypadku i8080 i Z80 i wskaznika P ktory w Z80 zachowywal sie inaczej...