Bei CIRCLE scheind es ja zu funzen.
Vieleicht sollte ein ASM Crack sich mal die Implementierung ansehen.
Ich vermute ja einen Bug in SIN COS.
Nur gut das SkulleateR das Rad neu erfinden wollte, sonst wär es nie aufgefallen.
You are about to leave Forum64 to get redirected to the following address:
Please note, that the target website is not operated by us. We are not responsible for it's content nor does our privacy policy apply there.
Bei CIRCLE scheind es ja zu funzen.
Vieleicht sollte ein ASM Crack sich mal die Implementierung ansehen.
Ich vermute ja einen Bug in SIN COS.
Nur gut das SkulleateR das Rad neu erfinden wollte, sonst wär es nie aufgefallen.
Neu erfinden ?? Nö, aber wenn man den Kreis nicht zeichnen will sondern nur bestimmt Punkte davon berechnen will kommt man mit CIRCLE nicht all zu weit
Ich vermute ja einen Bug in SIN COS.
Ich hatte den Bug auch in S-BASIC 65 drin und habe ihn gut fixen können.
Den Fix habe ich auch bei Github eingestellt, damit er ins MEGA65-ROM kann:
https://github.com/MEGA65/mega…7#issuecomment-2587379891
So, jetzt kann man hoffentlich bedenkenlos Kreise zeichnen.
So, jetzt kann man hoffentlich bedenkenlos Kreise zeichnen.
...sagte Archimedes...
Arndt
(oder so ähnlich)
Display MoreIch vermute ja einen Bug in SIN COS.
Ich hatte den Bug auch in S-BASIC 65 drin und habe ihn gut fixen können.
Den Fix habe ich auch bei Github eingestellt, damit er ins MEGA65-ROM kann:
https://github.com/MEGA65/mega…7#issuecomment-2587379891
So, jetzt kann man hoffentlich bedenkenlos Kreise zeichnen.
Danke Snoopy !!!
Ich habe die Informationen an dddaaannn weitergeleitet und dein Bugfix wird wohl noch direkt in das nächste große Update mit eingepflegt !
So, jetzt kann man hoffentlich bedenkenlos Kreise zeichnen.
Nein, kann man immer noch nicht.
Wie hier freundlicherweise gemeldet, zickt der SIN im Negativen rum:
Jetzt muss man da mal wohl tiefgreifender ran!
Paar richtige Kreise sollte der MEGA65 doch irgendwann wieder hinbekommen, der C65 konnte es ja auch!
Und das Blöde: S-BASIC 65 ist auch davon betroffen!
Ich melde mich wieder, wenn ich da was rausgefunden habe.
Paar richtige Kreise sollte der MEGA65 doch irgendwann wieder hinbekommen, der C65 konnte es ja auch!
Nein, konnte er leider nicht, deswegen ist Bit Shifter glaube ich damals daran. Der Kreis war kein Kreis....
Paar richtige Kreise sollte der MEGA65 doch irgendwann wieder hinbekommen, der C65 konnte es ja auch!
Nein, konnte er leider nicht, deswegen ist Bit Shifter glaube ich damals daran. Der Kreis war kein Kreis....
Das Kreiszeichnen war da meines Wissens das Problem. SIN und COS hat er aber wie der C128 fehlerfrei hinbekommen. Ist aber schon länger her ...
Ich habe mal SIN auf C128, C65 und MEGA65 näher ausprobiert:
C128:
C65:
MEGA65:
Also im dem geprüften Bereich von -90 bis +90 Grad sind der C128 und C65 exakt gleich und beim MEGA65 ergeben sich nur in der 9. Nachkommastelle eventuelle kleine Abweichungen.
Ich habe das mal in der angehängten Tabelle zusammengefasst. Die Bereiche sind fehlerfrei!
Im Bereich von -360 bis -180 Grad ist der SIN des MEGA65 dann eindeutig verkackt!
Siehe anhängende Tabelle (C65 - MEGA65 - Vergleichswerte)
Der ausfallend werdende negative Quadrant beim SIN!
Ich war heute an der SIN-Routine dran und werde dann morgen weitermachen.
Zur Sicherheit werden alle Ergebnisse sorgfältig mit dem Rechenschieber überprüft! Nichts bleibt dem Zufall überlassen!
I agree with alochmann's comment on the Github issue: SIN and COS are affected by a change that was made to the definition of INT: https://github.com/MEGA65/mega65-rom-public/issues/164 It's not clear if the change to INT was intentional, but the side effects are a problem, and we intend to change it back to match Commodore's definition. I'll try to get to this next week and confirm whether it repairs SIN and COS.
Hm, letzter Mega65 Eintrag im blog war 18. August 24...seither leider nur Megaphone ...5 Monate nix zum Mega65, hoffe es geht bald weiter
Hm, letzter Mega65 Eintrag im blog war 18. August 24...seither leider nur Megaphone
...5 Monate nix zum Mega65, hoffe es geht bald weiter
Aehhh, was soll denn bitte "Weitergehen" ? Das nächste große Core und ROM-Update steht kurz bevor, der MEGA65 funktioniert in Revision 6 so wie wir uns das gewünscht haben, also was meinst du Bitte ?
Die Leute haben Spaß an ihrem Rechner und so soll es sein.
Oder meinst du das Expansion board ?
Das haben wir bereits mehrfach gesagt, das liegt bei uns in der Priorität seeehr weit hinten, da es zwar ein nettes Add-On ist aber für die eigentliche Funktion des MEGA65 nicht zwingend benötigt wird.
Ich habe die gleiche Frage eben schon im Discord beantwortet:
- Datasettte wird meist nur von Nostalgikern benutzt, in real ist sie viel zu lahm
- Userport der MEGA65 kommt mit Ethernetport und unterstützt TeensyROM, beides schnelle Wege um ins Internet zu kommen und als Printerschnittstelle, auch da bringt z.B. die U1541II(+) modernere Wege um einen Druck direkt als PDF auf die SD Karrte abzulegen.
Und zu guter Letzt: Paul freut sich immer über Freiwillige die mithelfen, alles ist Open-Source. Feel free !
letzter Mega65 Eintrag im blog war 18. August 24
"Weitergehen"
Ich vermute, das "Weitergehen" war auf neue Blog-Posts bezogen ...
Das ist der Blog von Paul. Er ist im Moment sehr beschäftigt.
Wer das Projekt verfolgt, weis, das @dddaaannn's monatlicher Blogpost eigentlich immer die neuesten Updates beinhaltet.
I agree with alochmann's comment on the Github issue: SIN and COS are affected by a change that was made to the definition of INT: https://github.com/MEGA65/mega65-rom-public/issues/164
Davon gehe ich auch aus. Ich habe die SIN-Routinen vom aktuellen MEGA65 und vom C65 verglichen und die sind gleich. Dass hier unterschiedliche Werte für SIN rauskommen, muss fast zwangsläufig an der INT-Routine liegen, die hier aufgerufen wird.
Zum Beispiel INT(-1.01) und INT(-1.99) sind beim MEGA65 aktuell -1, bei allen anderen 8 Bit-Systemen, die ich ausgetestet habe, kommt jeweils -2 als Ergebnis. INT entspricht hier immer einem floor, beim MEGA65 wird das aktuell bei negativen Zahlen anders gehandhabt ("in Richtung der 0 gerundet"). Und das kann nicht gutgehen, wenn der Rest der SIN-Routine gleich geblieben ist.
Also mal ans INT ran oder ausnutzen, dass sin(-x)=-sin(x) ist und man die negativen Argumente auch durch die positiven ausrechnen lassen kann.
(Sorry the January issue is a few days late! I've been distracted. )