VTUI Library

User avatar
JimmyDansbo
Posts: 476
Joined: Sun Apr 26, 2020 8:10 pm
Location: Denmark
Contact:

Re: VTUI Library

Post by JimmyDansbo »

I had not noticed that it actually saves to different addresses.
When looking at the VTUI library documentation https://github.com/jimmydansbo/vtuilib? ... -save_rect , my guess is that the vtui.save_rect prototype would be something like this:
vtui.save_rect(memtype, bank, address, width, height) where
memtype: $80 for video memory, $00 for system memory
bank: VERA bank if memtype=$80
address: Address in memory to write screen content to
width, height: size of area to save.

So it seems like store_logo first save the logo to address $10000 in VRAM, then it saves the logo to address $10100 in VRAM
store_where_logo_was saves the logo to $10010 and then to $10100 in VRAM.
As the area saved is 7x7 characters x2 for color information it uses 92 or $62 bytes of memory.
store_logo saves logo to address $10000 and store_where_logo_was saves logo to $10010 which would overwrite the logo saved by store_logo.
Visit my Github repo
or my personal site with CX16/C64/6502 related information.
Feel free to contact me regarding any of my projects or even about meeting up somewhere near Denmark
oodler
Posts: 21
Joined: Mon Dec 18, 2023 4:37 pm

Re: VTUI Library

Post by oodler »

Thank you!
funkheld
Posts: 322
Joined: Mon Feb 26, 2024 11:11 am

Re: VTUI Library

Post by funkheld »

Hello, with which acme was this asm compiled please?
I'm just having trouble with my ACME.

Thanks.
greeting
mortarm
Posts: 299
Joined: Tue May 16, 2023 6:21 pm

Re: VTUI Library

Post by mortarm »

funkheld wrote: Sat Mar 02, 2024 8:19 am I'm just having trouble with my ACME.
There's creams and pads for that. ;)
User avatar
JimmyDansbo
Posts: 476
Joined: Sun Apr 26, 2020 8:10 pm
Location: Denmark
Contact:

Re: VTUI Library

Post by JimmyDansbo »

I suggest you use the latest version of Acme from here:
https://sourceforge.net/projects/acme-crossass/
Visit my Github repo
or my personal site with CX16/C64/6502 related information.
Feel free to contact me regarding any of my projects or even about meeting up somewhere near Denmark
User avatar
JimmyDansbo
Posts: 476
Joined: Sun Apr 26, 2020 8:10 pm
Location: Denmark
Contact:

Re: VTUI Library

Post by JimmyDansbo »

I am happy to announce that I have released version 1.1 of the VTUI library.
It is only a few minor additions.
All images, downloads and links in top post are edited to correspond to version 1.1
For changes, see https://github.com/JimmyDansbo/VTUIlib/releases

As always, please let me know if you find any bugs or errors, or if you have questions or comments.
Visit my Github repo
or my personal site with CX16/C64/6502 related information.
Feel free to contact me regarding any of my projects or even about meeting up somewhere near Denmark
User avatar
JimmyDansbo
Posts: 476
Joined: Sun Apr 26, 2020 8:10 pm
Location: Denmark
Contact:

Re: VTUI Library

Post by JimmyDansbo »

I am happy to announce that version 1.2 has been released.
Only return value of input_str has been changed
All images, downloads and links in top post are edited to correspond to version 1.1
For changes, see https://github.com/JimmyDansbo/VTUIlib/releases

As always, please let me know if you find any bugs or errors, or if you have questions or comments.
Visit my Github repo
or my personal site with CX16/C64/6502 related information.
Feel free to contact me regarding any of my projects or even about meeting up somewhere near Denmark
User avatar
JimmyDansbo
Posts: 476
Joined: Sun Apr 26, 2020 8:10 pm
Location: Denmark
Contact:

Re: VTUI Library

Post by JimmyDansbo »

I thought I would try and write the first part of the VTUI demo in BASIC since now we have TILE, TDATA & TATTR functions in ROM.
It is not quite as fast as VTUI, but it does work.
BUT ONLY IN LATEST ROM (NOT R46 OR OLDER)
10 DIM LD(7*7)
20 DIM LA(7*7)
30 DIM SD(7*7)
40 DIM SA(7*7)
45 CX=0:CY=0
50 FORY=0TO6:FORX=0TO6
60 LD((Y*7)+X)=TDATA(X,Y):LA((Y*7)+X)=TATTR(X,Y)
70 SD((Y*7)+X)=$20:SA((Y*7)+X)=$61
80 NEXT:NEXT
100 GET A$: IF A$="" THEN 100
110 IF ASC(A$)=29 THEN 1000
120 IF ASC(A$)=17 THEN 2000
130 IF ASC(A$)=157 THEN 3000
140 IF ASC(A$)=145 THEN 4000
145 IF ASC(A$)=27 THEN END
150 GOTO 100
999 REM GO RIGHT
1000 IFCX>(79-7)THEN100
1010 FOR Y=0TO6:FORX=0TO6
1020 TILE CX+X,CY+Y,SD((Y*7)+X),SA((Y*7)+X)
1030 NEXT:NEXT
1040 CX=CX+1
1050 FORY=0TO6:FORX=0TO6
1060 SD((Y*7)+X)=TDATA(CX+X,CY+Y):SA((Y*7)+X)=TATTR(CX+X,CY+Y)
1070 TILE CX+X,CY+Y,LD((Y*7)+X),LA((Y*7)+X)
1080 NEXT:NEXT
1090 GOTO 100
1999 REM GO DOWN
2000 IF CY>(59-7) THEN 100
2010 FOR Y=0TO6:FORX=0TO6
2020 TILE CX+X,CY+Y,SD((Y*7)+X),SA((Y*7)+X)
2030 NEXT:NEXT
2040 CY=CY+1
2050 FORY=0TO6:FORX=0TO6
2060 SD((Y*7)+X)=TDATA(CX+X,CY+Y):SA((Y*7)+X)=TATTR(CX+X,CY+Y)
2070 TILE CX+X,CY+Y,LD((Y*7)+X),LA((Y*7)+X)
2080 NEXT:NEXT
2090 GOTO 100
2999 REM GO LEFT
3000 IF CX=0 THEN 100
3010 FOR Y=0TO6:FORX=0TO6
3020 TILE CX+X,CY+Y,SD((Y*7)+X),SA((Y*7)+X)
3030 NEXT:NEXT
3040 CX=CX-1
3050 FORY=0TO6:FORX=0TO6
3060 SD((Y*7)+X)=TDATA(CX+X,CY+Y):SA((Y*7)+X)=TATTR(CX+X,CY+Y)
3070 TILE CX+X,CY+Y,LD((Y*7)+X),LA((Y*7)+X)
3080 NEXT:NEXT
3090 GOTO 100
3999 REM GO UP
4000 IF CY=0 THEN 100
4010 FOR Y=0TO6:FORX=0TO6
4020 TILE CX+X,CY+Y,SD((Y*7)+X),SA((Y*7)+X)
4030 NEXT:NEXT
4040 CY=CY-1
4050 FORY=0TO6:FORX=0TO6
4060 SD((Y*7)+X)=TDATA(CX+X,CY+Y):SA((Y*7)+X)=TATTR(CX+X,CY+Y)
4070 TILE CX+X,CY+Y,LD((Y*7)+X),LA((Y*7)+X)
4080 NEXT:NEXT
4090 GOTO 100
Try It Now!
To have it move the logo, do the following after the code has been pasted in:
* Reset the emulator (CTRL+R)
OLD
RUN
Attachments
MOVELOGO.BAS
(1.54 KiB) Downloaded 188 times
Visit my Github repo
or my personal site with CX16/C64/6502 related information.
Feel free to contact me regarding any of my projects or even about meeting up somewhere near Denmark
Post Reply