Schnelles Füllen und Löschen mit SYS

Es gibt 161 Antworten in diesem Thema, welches 22.484 mal aufgerufen wurde. Der letzte Beitrag (17. Oktober 2016 um 02:26) ist von BIF.

  • Haubitze:
    Es gibt meist verschiedene Lösungswege.
    Die zuletzt gepostete Version installiert ja eine Maschinenroutine im Kassettenpuffer.
    Ich habe ja bereits drei Versionen des Tricks hier im Thread veröffentlicht.
    Da könnte theoretisch für jeden was dabei sein.
    Aber natürlich ist ein selbstgecodetes Maschinenprogramm auch nicht zu verachten.


    Schönen Gruß.

  • Aber natürlich ist ein selbstgecodetes Maschinenprogramm auch nicht zu verachten.

    Huuuii...

    Bitte melde dich an, um diesen Link zu sehen. Bitte melde dich an, um diesen Link zu sehen. Bitte melde dich an, um diesen Link zu sehen.

    Ex-TLI (The Level 99 Industries) & Ex-TNP (The New Patriots) & Ex-TEA (The East Agents) & ?

  • Ich freue mich schon auf die ersten Assembler-Einzeiler!

    Wissen ist das einzige Gut, das sich beim Teilen vermehrt. Also seid vorsichtig damit!

  • Bitte schön:
    $02;an beliebige Speicherzelle ablegen, aufrufen.
    Das kürzeste Programm was möglich ist, fährt den CeVi runter.
    Toller Trick, gell...

    GREETINGS PROFESSOR FALKEN
    A STRANGE GAME.
    THE ONLY WINNING MOVE IS NOT TO PLAY.
    HOW ABOUT A NICE GAME OF CHESS?

  • Ich freue mich schon auf die ersten Assembler-Einzeiler!

    Brainfuck
    *=$c000   ; Startadresse des Programmes
    
    
     rts            ; Rücksprung


    Ich vermute das Bif durch einen bestimmten RAM/ROM Trick das ganze noch weiter reduzieren kann. :whistling:

    Brainfuck
    *=$c000   ; Startadresse des Programms
    
    
                        jsr Start
    
    
    DoppelPunkt         .text ":"
    
    
    Start               rts


    So dürfte ein Standartprogramm von Bif aussehen, ohne RAM/ROM Trick. :D

    JSR ist ein absoluter Sprung. Gibts den auch relativ wie beim Z80?

    Den habe ich auf die schnelle nicht gefunden. :gruebel

    Bitte melde dich an, um diesen Anhang zu sehen. :verehr: .: Mit Bitte melde dich an, um dieses Bild zu sehen.wäre das nicht passiert! :. :prof:  Bitte melde dich an, um diesen Anhang zu sehen.

    :syshack: .: Meine 3D-Drucker Teile auf :. Bitte melde dich an, um diesen Link zu sehen. :strom:

  • JSR ist ein absoluter Sprung. Gibts den auch relativ wie beim Z80?

    Nur als Branch-Befehl und damit maximal 128 Bytes weit und ohne return :)

    ────────────────────────────────────────────────────────────
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.
    ────────────────────────────────────────────────────────────

  • Dann sag ich mal ausprobieren.

    Schönen Gruß.

    Nochmal: Wo ist da ein "Trick"? Speicherbereiche mit Werten füllen -- da mussten wir warten, bis der große BIF kommt, um uns das zu zeigen! Jahrzehnte lang waren Computer nur Briefbeschwerer! Wo kann ich in deine Kirche eintreten?

    Schönen Gruß. ROTFL

  • Dafür gibt es sogar einen Begriff: "Dirty-Code".

    :hae:

    Bitte melde dich an, um diesen Anhang zu sehen. :verehr: .: Mit Bitte melde dich an, um dieses Bild zu sehen.wäre das nicht passiert! :. :prof:  Bitte melde dich an, um diesen Anhang zu sehen.

    :syshack: .: Meine 3D-Drucker Teile auf :. Bitte melde dich an, um diesen Link zu sehen. :strom:

  • Code
    1. jsr $FCE2

    :strom:

    Ist doch egal, die Reset-Routine setzt den Stackpointer auf einen festen Wert.

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Mir gefällt jmp $FCE2 besser - das wirkt entschlossener und nicht so wie "ich halte mir noch ne Hintertür offen" ;)

    Wissen ist das einzige Gut, das sich beim Teilen vermehrt. Also seid vorsichtig damit!

  • Ist doch egal, die Reset-Routine setzt den Stackpointer auf einen festen Wert.

    Oh, Schorsch meine Tropfen. Das war nur ein metaphorischer Beitrag zum "Assembler-Einzeiler"


    Gesendet von iPhone mit Tapatalk

    <--- Das da ist eine Hälfte meines Ichs
    Bitte melde dich an, um diesen Link zu sehen.

  • .text ":"

    Hihi. Der ASCII-Code vom Doppelpunkt ist 58/$3a und damit ein illegaler-NOP-Opcode :roll2: . Zufälle gibt's :bgdev ...

    Bitte melde dich an, um diesen Link zu sehen. Bitte melde dich an, um diesen Link zu sehen. Bitte melde dich an, um diesen Link zu sehen.

    Ex-TLI (The Level 99 Industries) & Ex-TNP (The New Patriots) & Ex-TEA (The East Agents) & ?

  • Hihi. Der ASCII-Code vom Doppelpunkt ist 58/$3a und damit ein illegaler-NOP-Opcode :roll2: . Zufälle gibt's :bgdev ...

    Habe ich natürlich aaalles gewusst und deswegen auch den JSR davor gesetzt. :saint:

    Bitte melde dich an, um diesen Anhang zu sehen. :verehr: .: Mit Bitte melde dich an, um dieses Bild zu sehen.wäre das nicht passiert! :. :prof:  Bitte melde dich an, um diesen Anhang zu sehen.

    :syshack: .: Meine 3D-Drucker Teile auf :. Bitte melde dich an, um diesen Link zu sehen. :strom:

  • Also, der Reset löscht natürlich den Speicher nicht wirklich.

    Daher empfehle ich speziell den Reset-Fans natürlich meinen Code-Beteitrag, mit dem man gezielt Speicherbereiche löschen und füllen kann.
    Sogar Löschen + Reset wird damit möglich.

    Also mehr geht wirklich nicht.

    Schönen Gruß.