Sie sind nicht angemeldet.

[Bug gefixt] Debugger/Disassembler

Bitte schaut euch auch ruhig den aktuellen Entwicklungsstand der Emu64 Version 5.xx an. Diese läuft schon recht stabil und rückt dem Ende der Portierung (Linux/windows) Woche für Woche immer näher.
https://github.com/ThKattanek/emu64

Kontrollzentrum

Geburtstage

scharfried (75)

Neue Benutzer

janney(1. Mai 2018, 08:15)

rba1207(7. April 2018, 10:35)

luck42(16. März 2018, 13:03)

MiniWiesel1512(18. Januar 2018, 18:23)

Shooter(12. Januar 2018, 23:11)

Zur Zeit sind keine Benutzer aktiv.

Statistik

  • Mitglieder: 842
  • Themen: 1107
  • Beiträge: 7108 (ø 1,66/Tag)
  • Wir begrüßen unser neuestes Mitglied: janney

Umfrage

Lieber Besucher, herzlich willkommen bei: Emu64. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

Montag, 17. Mai 2010, 22:04

Debugger/Disassembler

* Im Debugger/Disassembler im Fensterabschnitt "Speicher C64", das erscheint wenn man 2 mal auf [+] drückt, wird der Speicherbereich von $0000-$005f angezeigt. Blättert man 1x weiter, wird um $0080 weiter geblättert. Daher ist es nicht möglich, Speicherbereiche wie z.B. $0060-$007f, $00e0-$00ff, $0160-$017f, ..... usw. sich anzuzeigen zu lassen.

* wenn man ein Disassembler-Listing erstellt (exportiert), dann fehlt bei der Ausgabe das $ Zeichen.

* im Disassembler Kontext-Menü "Anfang markieren" fehlt das n

* Beim Drücken der Schaltfläche VIC oder SID öffnet sich kein Fenster.

mfg TJ

Thorsten Kattanek

Emu64 - Entwickler

  • »Thorsten Kattanek« ist männlich
  • Deutschland

Beiträge: 1 297

Wohnort: Berlin

Beruf: Staatlich geprüfter Techniker in Elektrotechnik / Informatik

  • Nachricht senden

2

Dienstag, 18. Mai 2010, 00:50

Zitat

Im Debugger/Disassembler im Fensterabschnitt "Speicher C64", das erscheint wenn man 2 mal auf [+] drückt, wird der Speicherbereich von $0000-$005f angezeigt. Blättert man 1x weiter, wird um $0080 weiter geblättert. Daher ist es nicht möglich, Speicherbereiche wie z.B. $0060-$007f, $00e0-$00ff, $0160-$017f, ..... usw. sich anzuzeigen zu lassen.
Super, das wär mir wohl noch lange nicht aufgefallen ... :D
Hab das mal geändert ...


Zitat

wenn man ein Disassembler-Listing erstellt (exportiert), dann fehlt bei der Ausgabe das $ Zeichen.
Auch das sollst du so haben ...
Kernal.txt

Zitat

im Disassembler Kontext-Menü "Anfang markieren" fehlt das n

Nun nicht mehr ...


Zitat

Beim Drücken der Schaltfläche VIC oder SID öffnet sich kein Fenster.
Da ist bis jetzt noch nichts integriert, aber auf alle Fälle geplant.
Ob ich das schon in der nächsten Version drin habe weis ich noch nicht deshalb habe ich das erstmal "Ausgegraut"



Da ich mir für die Zukunft vorgenommen habe, lieber kleinere Updates zu machen aber dafür öfters, solltest du nicht all zu so lange warten müssen.
;)

MfG Thorsten
Ich möchte gerne die Welt verändern, doch Gott gibt den Quelltext nicht frei.

3

Montag, 31. Mai 2010, 21:02

Bei manchen relativen Sprüngen wird um $0100 zu viel angezeigt.



Statt BNE $0921 müsste hier BNE $0821 stehen. Debuggt und exportiert wird jedoch richtig.

mfg TJ

Thorsten Kattanek

Emu64 - Entwickler

  • »Thorsten Kattanek« ist männlich
  • Deutschland

Beiträge: 1 297

Wohnort: Berlin

Beruf: Staatlich geprüfter Techniker in Elektrotechnik / Informatik

  • Nachricht senden

4

Donnerstag, 3. Juni 2010, 11:37

Und auch das ist erledigt ...

Vorher ...

Nachher ...


MfG Thorsten
Ich möchte gerne die Welt verändern, doch Gott gibt den Quelltext nicht frei.

5

Samstag, 12. Juni 2010, 10:52

Zwei Kleinigkeiten sind mir beim Debuggen noch aufgefallen:

1.) der Programmcounter (PC) zeigt bei den 6510-Registern immer um 1 zu viel an.
2.) Gibt man im Dis./Assembler (auch beim Cross-Assembler) einen NOP-Befehl ein, wird dieser als illegaler Opcode $1A interpretiert und nicht als legaler Opcode $EA. (Macht zwar in diesem Fall keinen Unterschied, aber sicher ist sicher)

mfg TJ

Thorsten Kattanek

Emu64 - Entwickler

  • »Thorsten Kattanek« ist männlich
  • Deutschland

Beiträge: 1 297

Wohnort: Berlin

Beruf: Staatlich geprüfter Techniker in Elektrotechnik / Informatik

  • Nachricht senden

6

Samstag, 12. Juni 2010, 11:07

Das mit dem PC ist eigtl. korrekt. Da Emu64 wirklich 1 Zyklus nach dem anderen abarbeitet und nicht irgendwelche Zyklen addiert, kommt das hier
zu stande. Und zwar wird immer nach einem "Micro Code 0" angehalten. Und der besagt "Opcode von PC Adresse holen und dann PC + 1. Deshalb ist an dieser Stelle der PC halt immer Opcode Adreese + 1 !! Dies ist halt auch wichtig da man ja auch einen Zyklus nur abarbeiten lassen kann und dann
sollte auch immer der wirkliche PC inhalt angezeigt werden.
Deshalb habe ich auf der rechten Seite noch "Opcode PC" und hier sollte immer der PC stehen den du meinst ;)
Ich hoffe ich habe das verstänlich rüber gebracht :D

Ja das mit dem NOP Befehl stimmt, das liegt halt daran das in der Opcode Tabelle 1A halt der erste NOP ist. Muss ich mal sehen wie ich das löse.
Aber du hast schon recht, es sollte der legale NOP verwendet werden.


MfG Thorsten
Ich möchte gerne die Welt verändern, doch Gott gibt den Quelltext nicht frei.

7

Samstag, 12. Juni 2010, 11:23

OK, hast mich überzeugt mit dem Programmcounter :)

mfg TJ