$00BA steht beim Action Replay auf 08

Es gibt 4 Antworten in diesem Thema, welches 489 mal aufgerufen wurde. Der letzte Beitrag (30. Dezember 2024 um 14:30) ist von Mike.

  • Moin,

    weiß jemand, warum bei eingestecktem AR in $00BA eine "08" steht? (habs mit mehreren ARs getestet AR4, AR5, AR6)

    Und wiel wichtiger: warum kann man in diese Speicheradresse größere Werte einspeichern (09-FF), aber nicht kleinere (z.B. 01 :rolleyes:)?

    Cheers

    Rebel 1

  • Weil $ba die aktuelle Gerätenummer enthält ;)

    0 - 3 sind Sonderfälle (Tastatur, RS232, Monitor) , die der Kernal übernimmt. Ab 4 dann alles am IEC Port.

    Das hat aber nichts direkt mit dem Action Replay zu tun ^^

    "Führungskräfte verrichten keine Arbeit." — Schülerduden Physik

  • Weil $ba die aktuelle Gerätenummer enthält ;)

    0 - 3 sind Sonderfälle (Tastatur, RS232, Monitor) , die der Kernal übernimmt. Ab 4 dann alles am IEC Port.

    Das hat aber nichts direkt mit dem Action Replay zu tun ^^

    Danke schon mal für Deine Antwort. So ganz verstehe ich das nicht. Ich dachte in BA steht die Device Number (01 für Datasette, ... 08 für Floppy)? Ich hab nix an der seriellen Schnittstelle hängen und will was von Tape laden. Im VICE Monitor getestet steht (ohne Floppy) wie erwartet eine 01 in BA wenn ich was von Tape lade. Liegt das evtl. an dem Fastloader des Cartridge?! Im Freezer Menu steht BA übrigens auf "FF"...

  • Danke schon mal für Deine Antwort. So ganz verstehe ich das nicht. Ich dachte in BA steht die Device Number (01 für Datasette, ... 08 für Floppy)? Ich hab nix an der seriellen Schnittstelle hängen und will was von Tape laden. Im VICE Monitor getestet steht (ohne Floppy) wie erwartet eine 01 in BA wenn ich was von Tape lade. Liegt das evtl. an dem Fastloader des Cartridge?! Im Freezer Menu steht BA übrigens auf "FF"...

    Ist ja kein Widerspruch, zu dem was 8R0TK4$T3N scrieb. Device 08 hängt am IEC-Bus (das war als serieller IEC-Bus oder serieller Bus gemeint). Mit "serieller Schnittstelle" ist RS-232, der am User-Port hängt gemeint (das wäre übrigens Device-Number 2). Das sind aber unterschiedliche Dinge.
    FF würde ich als nicht "nicht definiert" deuten.

  • [...] weiß jemand, warum bei eingestecktem AR in $00BA eine "08" steht? (habs mit mehreren ARs getestet AR4, AR5, AR6)

    Die 8 steht in $BA drin, weil, bis zu dem Zeitpunkt wo Du darauf geschaut hast, bereits irgendwelcher Code im AR einen Lade-, Speicher- oder Datei-Öffnen-Aufruf an den KERNAL geschickt hat und dabei Laufwerk 8 ansprechen wollte, aus welchem Grund auch immer. Ohne Cartridge, und direkt nach einem Reset, steht in $BA der Wert 0.

    [...] warum kann man in diese Speicheradresse größere Werte einspeichern (09-FF), aber nicht kleinere (z.B. 01 :rolleyes: )?

    In $BA kann jeder Wert von 0..255 drinstehen, wie bei jeder anderen RAM-Speicherzelle auch.

    Es ist durchaus möglich, daß das "Standardgerät" bei Nichtangabe der Gerätenummer (bei LOAD, SAVE, etc.) durch eine BASIC-Erweiterung des AR von 1 (=Tape) auf 8 (=Floppy) geändert wurde. Daraus zu schließen, daß in $BA nichts kleineres als 8 (mehr) stehen kann, ist eine Fehlannahme.

    Im Freezer Menu steht BA übrigens auf "FF"...

    Es ist durchaus denkbar, daß Du hier ohnehin auf Werte einer (teilweise nicht initialisierten) Schattenkopie der Zeropage schaust. Damit ein Freezer eine Chance hat, richtig zu arbeiten, darf er keine signifikanten Änderungen am Zustand des Rechners vornehmen, während der Freezer aktiv ist. Da die CPU selbst im Ultimax-Modus im Bereich $0002..$0FFF noch das On-Board-RAM sieht, ist eine der ersten Aktionen des Freezers, Zeropage, Stack und Daten im OS-Workspace in einen geschützten Bereich der Freezer-Cartridge zu schieben und umgekehrt, die Schattenkopie aus diesem geschützten Bereich hervorzuholen.

    Der AR-Monitor läßt dich dann auf die gesicherte Kopie schauen, der VICE-Monitor zeigt dir stattdessen an, was derzeit tatsächlich in der Zeropage steht - und das ist das durch Aktionen des Freeze-Menüs beackerte derzeitige Original, welches so auch die CPU sieht.