matthew180 #701 Posted July 6, 2021 You will have to unlock the F18A before you can use any of the enhanced color capabilities. You can set T80 mode while the F18A is locked, but it is restricted to the original T80 functionality, i.e. one FG/BG color for all the tiles. Once you unlock the F18A, you can then use the enhanced T80 features. I'm sure some examples of doing this have been posted, let me see if I can find one. Also note that when the F18A is unlocked, poorly written software can corrupt the VDP registers. Also, if you use console routines you will have to follow the console rules for the VDP, as Lee pointed out already; that is why you had to put a copy of VR01 into memory location >83D4. 3 Quote Share this post Link to post Share on other sites
GDMike #702 Posted July 6, 2021 Just fyi only, I am currently happy with Text mode only as post #697 suggests, but in the future I will be hitting color management a bit harder in my quest. And the current program using only text isn't complete yet, maybe by E.O.Y., of course I'm very happy with the F18A. It's just a learning curve I've got to carve out, like I had with learning SAMs. Quote Share this post Link to post Share on other sites
+RXB #703 Posted December 3, 2021 RXB 2021 has CALL POKER(vdp-register-number,value) this was increased for using the F18 from RXB. Register number allows 0 to 63 registers. The value ranges from 0 to 255. Programs This sets text mode. | >100 CALL POKER(7,244,1,240) This is a delay loop. | >110 FOR L=1 TO 500 :: NEXT L This sets multi color mode | >120 CALL POKER(1,232) This is a delay loop. | >130 FOR L=1 TO 500 :: NEXT L This sets bit map mode. | >140 CALL POKER(0,2,1,2) This is a delay loop. | >150 FOR L=1 TO 500 :: NEXT L This sets normal XB mode. | >160 CALL POKER(0,0) I do not know the values to make the F18 work for modes so will wait for people using BETA of RXB 2021 to tell me. 2 Quote Share this post Link to post Share on other sites
+TheBF #704 Posted December 3, 2021 1 hour ago, RXB said: RXB 2021 has CALL POKER(vdp-register-number,value) this was increased for using the F18 from RXB. Register number allows 0 to 63 registers. The value ranges from 0 to 255. Programs This sets text mode. | >100 CALL POKER(7,244,1,240) This is a delay loop. | >110 FOR L=1 TO 500 :: NEXT L This sets multi color mode | >120 CALL POKER(1,232) This is a delay loop. | >130 FOR L=1 TO 500 :: NEXT L This sets bit map mode. | >140 CALL POKER(0,2,1,2) This is a delay loop. | >150 FOR L=1 TO 500 :: NEXT L This sets normal XB mode. | >160 CALL POKER(0,0) I do not know the values to make the F18 work for modes so will wait for people using BETA of RXB 2021 to tell me. You could try plugging these ones in Rich. I got them from TurboForth and tried them in my system with a color change. It comes up in 80 columns with black on cyan text. \ HEX values 04 \ VR1 70 \ VR2 03 \ VR3 E8 \ VR4 01 \ VR5 06 \ VR6 00 \ VR7 17 \ VR8 88 \ VR9 00 \ VR10 00 \ VR11 00 \ VR12 94 \ VR13 10 \ VR14 00 \ VR15 2 Quote Share this post Link to post Share on other sites
+RXB #705 Posted December 3, 2021 (edited) 5 minutes ago, TheBF said: You could try plugging these ones in Rich. I got them from TurboForth and tried them in my system with a color change. It comes up in 80 columns with black on cyan text. \ HEX values 04 \ VR1 70 \ VR2 03 \ VR3 E8 \ VR4 01 \ VR5 06 \ VR6 00 \ VR7 17 \ VR8 88 \ VR9 00 \ VR10 00 \ VR11 00 \ VR12 94 \ VR13 10 \ VR14 00 \ VR15 Hex values or Decimal? Will give it a try after I convert them Edited December 3, 2021 by RXB missing text Quote Share this post Link to post Share on other sites
+RXB #706 Posted December 3, 2021 (edited) Ok there is a issue you are changing to 80 column and XB has only a 40 column editor and I get a error as you would expect. This also changes the memory map so of course crashes anything in XB as you have moved tables needed for XB to function. I think you could use the F18 as long as you do not try to move memory around much after all XB has to have places coded to be used. I was thinking you could do things like sprite commands or color pallets using CALL POKER as long as you do not make huge memory changes. Edited December 3, 2021 by RXB 1 Quote Share this post Link to post Share on other sites
Tursi #707 Posted December 4, 2021 (edited) 5 hours ago, RXB said: Ok there is a issue you are changing to 80 column and XB has only a 40 column editor and I get a error as you would expect. This also changes the memory map so of course crashes anything in XB as you have moved tables needed for XB to function. I think you could use the F18 as long as you do not try to move memory around much after all XB has to have places coded to be used. I was thinking you could do things like sprite commands or color pallets using CALL POKER as long as you do not make huge memory changes. Yeah, it seems like a tricky thing to use, but never underestimate how tricky someone can be with the right tool! One nice effect of this is the ability to use the GPU from RXB, which could be used to accelerate all sorts of things. Just POKEV the program into VDP somewhere safe, then POKER to start it. Since XB doesn't have access to the extra 2k of GPU memory, you could even just POKEV your program into video or character memory and then let the GPU move it out of the way by itself. (Actually, in character memory I guess you could even just CALL CHAR it ). Edited December 4, 2021 by Tursi 4 1 Quote Share this post Link to post Share on other sites
+TheBF #708 Posted December 4, 2021 18 hours ago, RXB said: Hex values or Decimal? Will give it a try after I convert them Would there be any point in giving RXB a HEX() function? (Like INT() but accepts HEX integer text) It's pretty ham dandy in other languages. Quote Share this post Link to post Share on other sites
+RXB #709 Posted December 4, 2021 5 hours ago, TheBF said: Would there be any point in giving RXB a HEX() function? (Like INT() but accepts HEX integer text) It's pretty ham dandy in other languages. We'll see what you can do with this: RXB 2021 BETA.zip Quote Share this post Link to post Share on other sites
+TheBF #710 Posted December 4, 2021 1 hour ago, RXB said: We'll see what you can do with this: RXB 2021 BETA.zip 8.57 MB · 3 downloads Man that is a lot of system. Well done. I see the CALL HEX() but I was wondering about something like this: CALL PEEK(-31878,N) ! normal XB CALL PEEK(HEX(837A),N) ! Better XB I don't know if you can create functions as extensions to the language versus sub-programs. I'm clueless about XB internals. 1 Quote Share this post Link to post Share on other sites
+RXB #711 Posted December 4, 2021 22 minutes ago, TheBF said: Man that is a lot of system. Well done. I see the CALL HEX() but I was wondering about something like this: CALL PEEK(-31878,N) ! normal XB CALL PEEK(HEX(837A),N) ! Better XB I don't know if you can create functions as extensions to the language versus sub-programs. I'm clueless about XB internals. Yea I have CALL HEX in RXB but working on a change so you can do VAL(">FEAD") using hex values just like XB3 does. And may add it to other things down the line. Example is like CALL PEEK(">A9BC",N) would use convert to -22084 thus all inputs could be either Decimal or Hex. This would allow CALL LOAD, LINK, or most things to be either Decimal or Hex. 4 Quote Share this post Link to post Share on other sites