ô > flash/src ô Extended VDU 19 driver ;ô Update palette for non-complementary flashing colours (Cô Should check *FX3/VDU21 setting and ignore if VDU is disabled 2: <2ô VDU 19,l,00+n,0,0,0 - set both flash colours F2ô VDU 19,l,32+n,0,0,0 - set first flash colour P3ô VDU 19,l,48+n,0,0,0 - set second flash colour Z: d!load%=&FFFF09D8:Þ mcode% &200 n8logical=&31F:physical=&320:colours=&360:palette=&36F x=OSBYTE=&FFF4:wrchv=&20E:eventv=&220:vduQ=&26A:toggle=&248 ‚: Œã P=0 ¸ 1:opt%=P*3+4 –P%=load%:O%=mcode%   [OPT opt% ª.go% ´LDA wrchv+0:STA oldwrch+1 ¾LDA wrchv+1:STA oldwrch+2 È!LDA #newvdu € 255:STA wrchv+0 Ò!LDA #newvdu 256:STA wrchv+1 ÜLDA eventv+0:STA oldevent+1 æLDA eventv+1:STA oldevent+2 ð$LDA #newevent € 255:STA eventv+0 ú$LDA #newevent 256:STA eventv+1 LDA #0:STA flag LDA #14:LDX #4:JMP OSBYTE : " .newvdu ,CPHA:BIT vduQ:BMI check:STA flag:\ flag=first byte of ï sequence 6 .oldvdu @PLA J .oldwrch T JMP &FFFF ^ .check hALDA vduQ:CMP #255:BNE oldvdu :\ Not last byte of ï sequence r.LDA flag:CMP #19:BNE oldvdu :\ Not ï 19 |PHP:SEI:TXA:PHA †6LDA logical:€ colours:TAX :\ Index into palette LLDA palette,X:PHA:TXA:PHA :\ Save palette entry about to be changed š9TSX:LDA &105,X:JSR oldwrch :\ Finish ï 19 command ¤63 - done Â=LSR A:LSR A:LSR A:LSR A :\ Move 32/48 bit to bit 0 Ì=‚ toggle:LSR A :\ CC=colour 1, CS=colour 2 ÖGPLA:STA palette,X :\ Restore entry about to be changed à;LDA #0:BCC flash1 :\ Do first flash colour êPLP:PHP:BCS loop16 :\ Jump with 16-colour mode *0ASL A:ASL A:ASL A:„A flag :\ A=%l000pppp 4 .loop2 >@STA &FE21:ADC #16:BVC loop2 :\ Do eight palette registers H BVS next R .loop4 \.„A map4+0,X:STA &FE21 :\ %x0x0pppp f/ADC #&0F:STA &FE21 :\ %x0x1pppp p/ADC #&30:STA &FE21 :\ %x1x0pppp z/ADC #&10:BNE loop16b :\ %x1x1pppp „ .loop16 Ž0„A flag :\ A=%llllpppp ˜ .loop16b ¢ STA &FE21 ¬ .next ¶DEX:BPL loop:PLP À .oldvsync Ê;LDA #4:BNE oldevent :\ Pass event down chain Ô: Þ-.map4:EQUB &00:EQUB &20:EQUB &80:EQUB &A0 è .flag:BRK ò]í ü%ç P%>&B00:ñ"WARN: Code overrun":à Bñ "*SAVE VDU19 ";~mcode%;" ";~O%;" ";~go%„&FFFF0000;" ";~load% ÿ