VERA PALLETTE UPDATE USING VPOKE.
- ahenry3068
- Posts: 1131
- Joined: Tue Apr 04, 2023 9:57 pm
Re: VERA PALLETTE UPDATE USING VPOKE.
Maybe just fill in 50 to 100 pallette values and just use those.
- ahenry3068
- Posts: 1131
- Joined: Tue Apr 04, 2023 9:57 pm
Re: VERA PALLETTE UPDATE USING VPOKE.
Ok... In the progress of putting ALL OF THE VERA DEFAULT PALLETTE in BASIC DATA Statements.
I'm 1/3rd through and hoping I don't make a typo. I'm going to write a routine to VPOKE the entire thing.
I'll check it with my BASIC Pallette chart to make sure I'm actually loading a correct Default Pallette.
Because the default values aren't actually in VERA RAM unless you put them there and VPOKE in the Pallette
area returns undefined values unless previously written. Calling this will allow my Pallette Swap GOSUB
to operate correctly.. Swapping Pallette entrys can be very useful for color and animation effects.
whens its done I'm going to redo MY DEADFACE routine in HANGMAN to use Pallette animation.
I'm 1/3rd through and hoping I don't make a typo. I'm going to write a routine to VPOKE the entire thing.
I'll check it with my BASIC Pallette chart to make sure I'm actually loading a correct Default Pallette.
Because the default values aren't actually in VERA RAM unless you put them there and VPOKE in the Pallette
area returns undefined values unless previously written. Calling this will allow my Pallette Swap GOSUB
to operate correctly.. Swapping Pallette entrys can be very useful for color and animation effects.
whens its done I'm going to redo MY DEADFACE routine in HANGMAN to use Pallette animation.
Last edited by ahenry3068 on Fri Jul 28, 2023 9:04 am, edited 1 time in total.
- ahenry3068
- Posts: 1131
- Joined: Tue Apr 04, 2023 9:57 pm
Re: VERA PALLETTE UPDATE USING VPOKE.
And ALSO. I'm learning the VERA... It will be useful to me later.
Re: VERA PALLETTE UPDATE USING VPOKE.
It might be easier to just have it in a file and load it in.
- ahenry3068
- Posts: 1131
- Joined: Tue Apr 04, 2023 9:57 pm
Re: VERA PALLETTE UPDATE USING VPOKE.
It probabyly would. but I just now finished it as DATA
It took a minute .... I'm still not sure its correct..
It took a minute .... I'm still not sure its correct..
- ahenry3068
- Posts: 1131
- Joined: Tue Apr 04, 2023 9:57 pm
Re: VERA PALLETTE UPDATE USING VPOKE.
I've been out of the programming World for a minute before I got into David's project..
But I have some personal lesson's I've brought.
One of my lessons is ALWAYS... ALWAYS... abstract your code so
its easier to use in this project and the Next project
But I have some personal lesson's I've brought.
One of my lessons is ALWAYS... ALWAYS... abstract your code so
its easier to use in this project and the Next project
-
- Posts: 503
- Joined: Sat Jul 11, 2020 3:30 pm
Re: VERA PALLETTE UPDATE USING VPOKE.
I made a file a while ago that holds the default palette. Here you go.
- ahenry3068
- Posts: 1131
- Joined: Tue Apr 04, 2023 9:57 pm
Re: VERA PALLETTE UPDATE USING VPOKE.
Thanks. I'll use that to check my work. and BVLOAD to FA00 is probably faster than READ...VPOKE
which was what I was going to do.
which was what I was going to do.
- ahenry3068
- Posts: 1131
- Joined: Tue Apr 04, 2023 9:57 pm
Re: VERA PALLETTE UPDATE USING VPOKE.
OK Some funny eye candy. Draws a VERA Color chart then starts swapping the Pallette Colors
Hitting ESC during the Pallette Animation restores the Default Pallette then waits for another
Key before ending. Has Entire VERA Default in BASIC DATA Statements.
Hitting ESC during the Pallette Animation restores the Default Pallette then waits for another
Key before ending. Has Entire VERA Default in BASIC DATA Statements.
Code: Select all
10 SCREEN $80
15 C = 0
20 FOR Y = 0 TO 225 STEP 15
30 FOR X = 0 TO 300 STEP 20
40 RECT X, Y, X+19, Y + 14, C
45 TC = 1
50 IF C=$01 OR C=$1D OR C=$1E OR C=$1F OR C=$26 OR C=$41 THEN TC=$10
55 IF C=$42 OR C=$49 OR C=$50 OR C=$5D OR C=$5E OR C=$65 THEN TC=$10
60 IF C=$6B OR C=$6C OR C=$73 OR C=$79 OR C=$7A OR C=$81 THEN TC=$10
65 IF C=$88 OR C=$8F OR C=$95 OR C=$96 OR C=$9D OR C=$A4 THEN TC=$10
70 IF C=$03 OR C=$07 OR C=$0D OR C=$AB OR C=$B2 OR C=$CE THEN TC=$10
75 IF C=$B1 OR C=$B9 OR C=$EA OR C=$F1 OR C=$F8 OR C=$CE THEN TC=$10
85 CHAR X+4,Y+9,TC,HEX$(C)
90 C = C + 1
95 NEXT X
100 NEXT Y
110 SLEEP 120
110 COLOR 5:PRINT TI
120 GOSUB 45000
130 PRINT TI
150 P1 = 0
160 IF P1 = 0 THEN P2=$FF:GOTO 180
170 P2 = P1 - 1
180 GOSUB 20750
190 P1 = P1 + 1:IF P1>$FF THEN P1=0
200 GET X$:IF X$=CHR$(27) THEN GOSUB 45000:GOTO 8000
240 GOTO 160
8000 GET X$:IF X$<>"" THEN GOTO 8000 : REM FLUSH KEYBOARD BUFFER
8010 GET X$:IF X$="" THEN GOTO 8010 : REM WAIT FOR KEY
8020 SCREEN 0:END
20749 REM SWAP PALLETTE COLORS AT P1 & P2
20750 A1 = $FA00+(P1*2)
20760 A2 = $FA00+(P2*2)
20770 B1 = VPEEK (1,A1)
20780 B2 = VPEEK (1,A1+1)
20790 B3 = VPEEK (1,A2)
20800 B4 = VPEEK (1,A2+1)
20810 VPOKE 1, A1, B3
20820 VPOKE 1, A1+1, B4
20830 VPOKE 1, A2, B1
20840 VPOKE 1, A2+1, B2
20850 RETURN
45000 RESTORE 50000
45010 BA = $FA00:REM PALLETTE BASE ADDRESS IN VERA RAM
45020 FOR PE = 0 TO 255
45025 READ R:READ GB
45030 VPOKE 1,BA+(PE*2),GB
45035 VPOKE 1,BA+(PE*2)+1, R
45040 NEXT PE
45050 RETURN
49999 REM DEFAULT VERA PALLETTE AS DATA. FROM 0 TO 255 (2 BYTES EACH ENTRY)RGB
50000 DATA $00,$00,$0F,$FF,$08,$00,$0A,$FE,$0C,$4C,$00,$C5,$00,$0A,$0E,$E7,$0D
50005 DATA $85,$06,$40,$0F,$77,$03,$33,$07,$77,$0A,$F6,$00,$8F,$0B,$BB,$00,$00
50010 DATA $01,$11,$02,$22,$03,$33,$04,$44,$05,$55,$06,$66,$07,$77,$08,$88,$09
50015 DATA $99,$0A,$AA,$0B,$BB,$0C,$CC,$0D,$DD,$0E,$EE,$0F,$FF,$02,$11,$04,$33
50020 DATA $06,$44,$08,$66,$0A,$88,$0C,$99,$0F,$BB,$02,$11,$04,$22,$06,$33,$08
50025 DATA $44,$0A,$55,$0C,$66,$0F,$77,$02,$00,$04,$11,$06,$11,$08,$22,$0A,$22
50030 DATA $0C,$33,$0F,$33,$02,$00,$04,$00,$06,$00,$08,$00,$0A,$00,$0C,$00,$0F
50035 DATA $00,$02,$21,$04,$43,$06,$64,$08,$86,$0A,$A8,$0C,$C9,$0F,$EB,$02,$11
50040 DATA $04,$32,$06,$53,$08,$74,$0A,$95,$0C,$B6,$0F,$D7,$02,$10,$04,$31,$06
50045 DATA $51,$08,$62,$0A,$82,$0C,$A3,$0F,$C3,$02,$10,$04,$30,$06,$40,$08,$60
50050 DATA $0A,$80,$0C,$90,$0F,$B0,$01,$21,$03,$43,$05,$64,$07,$86,$09,$A8,$0B
50055 DATA $C9,$0D,$FB,$01,$21,$03,$42,$04,$63,$06,$84,$08,$A5,$09,$C6,$0B,$F7
50060 DATA $01,$20,$02,$41,$04,$61,$05,$82,$06,$A2,$08,$C3,$09,$F3,$01,$20,$02
50065 DATA $40,$03,$60,$04,$80,$05,$A0,$06,$C0,$07,$F0,$01,$21,$03,$43,$04,$65
50070 DATA $06,$86,$08,$A8,$09,$CA,$0B,$FC,$01,$21,$02,$42,$03,$64,$04,$85,$05
50075 DATA $A6,$06,$C8,$07,$F9,$00,$20,$01,$41,$01,$62,$02,$83,$02,$A4,$03,$C5
50080 DATA $03,$F6,$00,$20,$00,$41,$00,$61,$00,$82,$00,$A2,$00,$C3,$00,$F3,$01
50085 DATA $22,$03,$44,$04,$66,$06,$88,$08,$AA,$09,$CC,$0B,$FF,$01,$22,$02,$44
50090 DATA $03,$66,$04,$88,$05,$AA,$06,$CC,$07,$FF,$00,$22,$01,$44,$01,$66,$02
50095 DATA $88,$02,$AA,$03,$CC,$03,$FF,$00,$22,$00,$44,$00,$66,$00,$88,$00,$AA
50100 DATA $00,$CC,$00,$FF,$01,$12,$03,$34,$04,$56,$06,$68,$08,$8A,$09,$AC,$0B
50105 DATA $CF,$01,$12,$02,$24,$03,$46,$04,$58,$05,$6A,$06,$8C,$07,$9F,$00,$02
50110 DATA $01,$14,$01,$26,$02,$38,$02,$4A,$03,$5C,$03,$6F,$00,$02,$00,$14,$00
50115 DATA $16,$00,$28,$00,$2A,$00,$3C,$00,$3F,$01,$12,$03,$34,$05,$46,$07,$68
50120 DATA $09,$8A,$0B,$9C,$0D,$BF,$01,$12,$03,$24,$04,$36,$06,$48,$08,$5A,$09
50125 DATA $6C,$0B,$7F,$01,$02,$02,$14,$04,$16,$05,$28,$06,$2A,$08,$3C,$09,$3F
50130 DATA $01,$02,$02,$04,$03,$06,$04,$08,$05,$0A,$06,$0C,$07,$0F,$02,$12,$04
50135 DATA $34,$06,$46,$08,$68,$0A,$8A,$0C,$9C,$0F,$BE,$02,$11,$04,$23,$06,$35
50140 DATA $08,$47,$0A,$59,$0C,$6B,$0F,$7D,$02,$01,$04,$13,$06,$15,$08,$26,$0A
50145 DATA $28,$0C,$3A,$0F,$3C,$02,$01,$04,$03,$06,$04,$08,$06,$0A,$08,$0C,$09
50150 DATA $0F,$0B
-
- Posts: 503
- Joined: Sat Jul 11, 2020 3:30 pm
Re: VERA PALLETTE UPDATE USING VPOKE.
There's a two byte header, so use VLOAD.