Gott, ist das lange her... aber so langsam wird es... wollte hier vielleicht auch mal meine geistigen "Ergüsse" posten. Ich bin leider von Berufs wegen "hochsprachenverseucht", da muss man schon rumsuchen.
Ich wollte, nach den ersten "Hallo-Welt" Progrämmchen mal gucken, ob ich es noch schaffe, den screen zu löschen
Was wollte ich machen:
1. ich wollte mir mein Toolset mal zusammensuchen, um mal den Round-Trip zu testen - im Moment nutze ich KickAssembler mit Vice und Virtual64 auf dem Mac.
2. ich wollte ein etwas komplexeres Beispiel testen, als nur 255 Zeichen auf den Screen packen. Also wollte ich den ganzen Bildschirm löschen, mit vernünftiger Ende-Erkennung.
3. Der Ansatz hier ist sicher nicht optimal, aber für 60 Minuten probieren nach gut 30 Jahren pause, glaub ich ganz ok
ich komme mir echt blöd vor, was man in 35 Jahren alles vergessen hat - damit könnte man ganze Bücher füllen . Damals hätte ich da sicher was besseres in deutlich weniger Zeit zustande gebracht. Mann oh man...
Nur falls es einen interessiert... vielleicht hilfts ja noch jemandem. Aber seid gnädig, ich übe ja noch
- BasicUpstart2(start)
- //loading address to fill into $fb and $fc - lowbyte first
- start: lda #00
- sta $fb
- lda #$04
- sta $fc
- //init stuff, y is our address offset, acc contains the value to store
- //x contains the page for now
- ldy #00
- lda #$34 //fill screen with '4' - so you see what really happens
- ldx $fc
- //loop here, store value of the acc into screen
- loop:
- sta ($fb),y
- cpx #$07
- bne nonEndPage //if we are not at the last page to fill, we can easily go ahead
- //endpage, means we have to check for the end
- cpy #$e8
- beq quit
- nonEndPage:
- iny
- bne loop
- nextPage:
- inc $fc
- ldx $fc
- jmp loop
- quit:
- rts