Plus/4 Screen-Split
Suche
Index
FAQ
Kontakt
Zurück

Plus/4 Screen-Split



Bild

!to "p4_rirq.prg",cbm
TEDGraph1       = $FF06                        ; $FF06: TED Graphic-Register 1
TEDGraph2       = $FF07                        ; $FF07: TED Graphic-Register 2
TEDKLatch       = $FF08                        ; $FF08: TED Keyboard Latch
TEDIRQ          = $FF09                        ; $FF09: TED IRQ Status Register
TEDIRQM         = $FF0A                        ; $FF0A: TED IRQ Mask Register
TEDIRQR         = $FF0B                        ; $FF0B: TED Raster IRQ Register
TEDCUR_H        = $FF0C                        ; $FF0C: TED Cursor H
TEDCUR_L        = $FF0D                        ; $FF0D: TED Cursor L
TEDSND1         = $FF0E                        ; $FF0E: TED Sound Voice #1 L
TEDSND2         = $FF0F                        ; $FF0F: TED Sound Voice #2 L
TEDSND1H        = $FF10                        ; $FF10: TED Sound Voice #1 H
TEDSND          = $FF11                        ; $FF11: TED Sound Volume,on/off,Wave,D/A
TEDREG          = $FF12                        ; $FF12: TED Register
TEDREGA         = $FF13                        ; $FF13: TED Register
TEDVRAM         = $FF14                        ; $FF14: TED Video-RAM
TEDBACK         = $FF15                        ; $FF15: Background-Color
TEDCOL1         = $FF16                        ; $FF16: TED Color 1
TEDCOL2         = $FF17                        ; $FF17: TED Color 2
TEDCOL3         = $FF18                        ; $FF18: TED Color 3
TEDBORDER       = $FF19                        ; $FF19: TED BORDER
TEDCHARH        = $FF1A                        ; $FF1A: TED Char Position H
TEDRASTH        = $FF1C                        ; $FF1C: TED Rasterline H
TEDRASTL        = $FF1D                        ; $FF1D: TED Rasterline L
TEDRASTC        = $FF1E                        ; $FF1E: TED Rastercolumn
TEDRASTV        = $FF1F                        ; $FF1F: TED Raster vertical
TEDROM          = $FF3E                        ; $FF3E: TED ROM ON
TEDRAM          = $FF3F
*= $2000
;--------------------------------------------------
; Commodore 16 - TED Rastersplit
;--------------------------------------------------
screen=$0c00
                 sei
                 lda #$70
                 sta $a0
                 lda #$93
                 jsr $ffd2
                 ldx #$00
-                lda text,x
                 sta $0c00+160,x
                 lda text1,x
                 sta $0c00+800,x
                 inx
                 cpx #$28
                 bne -
                 lda #{rasterirq
                 sta $0314
                 lda #}rasterirq
                 sta $0315
                 cli
                 jmp*
rasterirq:       lda $a0
                 cmp #$01
                 beq +
                 dec $a0
+                lda TEDREG
                 and #$fb
                 sta TEDREG
                 lda TEDREGA           ; ram charset $1800
                 and #$03
                 ora #$18
                 sta TEDREGA
                 lda #$f1
                 lda TEDGraph2
                 ora #$90
                 sta TEDGraph2
                 sta TEDBACK
                 sta TEDBORDER
-                ldx TEDRASTL          ; splitline
                 cpx #$70
                 bne -
                 nop
                 nop
                 nop
                 nop
                 nop
                 nop
                 nop
                 nop
                 nop
                 nop
                 nop
                 nop
                 nop
                 nop
                 nop
                 lda #$c4
                 sta TEDREG
                 lda #$d0              ; rom charset $d000
                 sta TEDREGA
                 lda TEDGraph2
                 and #$00
                 ora #$08
                 sta TEDGraph2
                 lda #$94
                 sta TEDBACK
                 sta TEDBORDER
-                ldx TEDRASTL
                 cpx #$ff              ; endline
                 bne -
endirq:          jmp $fcc3
text: !scr  " W scramble ram charset just ripped  W  "
text1: !scr "  rom charset at $d000 for second part  "
*=$1000
!bin "scramblezs",,2  ; the place for your charset

 

Letzte Änderung: 2020-12-29 10:34:56
  Rubrik:  C16
Rubriken-Übersicht
 11 Besucher online 

Valid XHTML 1.0 Transitional Valid CSS!