; ;Source for PCIN-Mode-Pictue done with GraphicsTileMaster (V0.0.0.x) ; ;Made changes for PCIN mode hi-res (Antic 4 - Antic 2) ... PF0-PF3 unchanged between cycles. Display lists are unaltered ;$80 (128 decimal) is stored in PRIOR ;Altered Antic 4 display list for horizontal scrolling ; BUF1 equ $A000 ;Screenbuffer for Fontscreen BUF2 equ $A800 ;Screenbuffer for Fontscreen2 ;GTIA PRIOR equ $D01B ; PORTA equ $D300 PORTB equ $D301 ;ANTIC CHBASE equ $D409 ; Characterfont base WSYNC equ $D40A ; wait sync VCOUNT equ $D40B ; vertical line count (0-131 PAL, 0-156 NTSC) NMIEN equ $D40E ; Interupt enable HSCROL equ $D404 COLBAK equ $D01A CNT equ $14 FONTORG equ $E000 ;Atari font LOWEST equ $2400 ;lowest safe adress for prg FONT equ $2400 ;own fonts for foreground FONT2 equ FONT+8*$400 ;own fonts for background org BUF2 ins "eclips12.scr",+0,960 org BUF1 ins "eclips10.scr",+0,960 org FONT-4 jmp startup nop org FONT ins "eclips12.fnt",+0,8192 org FONT2 ins "eclips10.fnt",+0,8192 ;.rept 8192 ;.byte 0 ;.endr startup mva #0 559 jsr GR4TEXT jsr initDLI ; jsr copyFont mva #34 559 mva #14 HSCROL mva #0 755 chrready lda #>FONT ; activate Font sta CHBASE main lda cnt sync cmp cnt beq sync lsr ;Use bit 0 to select font bcs use_font2 mva #$00 PRIOR ;mva #15 HSCROL mva #COLORS c_loop5+2 lda #>FONT sta $d409 ; DLI vorbereiten mva #0 tabIndex ; DLI mode4 lda #ant2 sta 561 jmp setclrs use_font2 mva #$80 PRIOR ;mva #14 HSCROL mva #COLORS2 c_loop5+2 lda #>FONT2 sta $d409 ; DLI vorbereiten mva #24+0 tabIndex ; DLI mode2 lda #ant4 sta 561 setclrs ldy #0 ; set colors 704-712 c_loop5 lda COLORS,y sta 704,y iny cpy #712-704+1 bne c_loop5 jmp main GR4TEXT lda #ant4 sta 561 lda #BUF1 sta 89 ldy #0 ; set colors 704-712 c_loop4 lda COLORS,y sta 704,y iny cpy #712-704+1 bne c_loop4 rts COLORS dta $00,$24,$10,$22;color player 0-3 dta $50,$20,$1a,$18,$4a ;color field COLORS2 dta $00,$24,$10,$22;color player 0-3 dta $50,$20,$1a,$18,$00 ;color field initDLI mva 0 NMIEN mva dli $201 mva #$c0 NMIEN rts ; displaylist interrupt dli pha txa pha ldx tabIndex ; index for font and lda chbaseTab,x sta WSYNC sta CHBASE lda priorTab,x sta PRIOR lda colbaktab,x sta COLBAK inc tabIndex pla tax pla rti tabIndex dta 1 chbaseTab .rept 4 dta >(FONT + #*$800) dta >(FONT2 + #*$800) dta >(FONT + #*$800) dta >(FONT2 + $400 + #*$800) dta >(FONT + $400 + #*$800) dta >(FONT2 + $400 + #*$800) .endr .rept 4 dta >(FONT2 + #*$800) dta >(FONT + #*$800) dta >(FONT2 + #*$800) dta >(FONT + $400 + #*$800) dta >(FONT2 + $400 + #*$800) dta >(FONT + $400 + #*$800) .endr priortab .rept 12 dta $00,$80 .endr .rept 12 dta $80,$00 .endr colbaktab .rept 12 dta $0,$4a .endr .rept 12 dta $4a,$00 .endr ;----------------------------------------------------------------------------- .align $1000 // ANTIC PROGRAM ant4 dta $70 dta $70 dta $70+80 .rept 12 dta b(4+$10+$40+$80) dta a(BUF2 -1 + #*80) dta b(2+$40+$80) dta a(BUF1 +40 + #*80) .endr dta $41,a(ant4) // ANTIC PROGRAM2 ant2 dta $70 dta $70 dta $70+80 .rept 12 dta b(2+$40+$80) dta a(BUF1 + #*80) dta b(4+$10+$40+$80) dta a(BUF2 -1 + 40 + #*80) .endr dta $41,a(ant2) run startup