MSX PowerPoint-like presentation

Page 2/2
1 |

By NYYRIKKI

Enlighted (4924)

NYYRIKKI's picture

18-04-2018, 10:50

SET PAGE is used to select what page is visible (first parameter) and what page is to be written by default (second parameter) Since whole picture with sprites'n stuff take about 64KB VRAM In SCREEN 8 we have two pages (or screens/pictures if you like) that are called 0 and 1. In this case if we do that SET PAGE 0,1 it means that if I ie. do LINE command, you will not see anything as the LINE will be drawn to a page that is not visible and you are looking the first page. Now I don't draw line but load ready picture instead, but you get the point. In COPY command the source and destination page number can be added as parameter. In this example I've only added the destination page (last number on line 80) so the source page will be default page as given with SET PAGE command.

the HEX$ is used since we need file name to be given as string. "Normal way" to make number to string is to use STR$ instead, but it has a nasty side effect that it adds an extra space in front of number in case the number is positive or adds "-" if the number is negative. In filenames space character is illegal, so to avoid need of adding something like MID$(STR$(F),2)+".SC8" I just used HEX$ instead. One option could be using something like "PIC"+STR$(-F)+".SC8", but I let you to decide how you want to name your picture files. I think the naming convention is not very important as long as you can understand how the string is formed.

By JohnHassink

Ambassador (5257)

JohnHassink's picture

18-04-2018, 12:09

Is there a section in the wiki that specifies exactly the bits that BSAVE,S in every screen saves?
For instance, if I remember correctly -
BSAVE "FILENAME.SC5",0,&H69FF,S
would save the entire screen to a file that could be 'conjured up' again with BLOAD,S but it would be just the pixel data and not the pallette settings (or maybe it did).
I could not find such a schedule in the wiki, but maybe I'm not looking at the right places.
If it's not there, wouldn't that be handy?

By NYYRIKKI

Enlighted (4924)

NYYRIKKI's picture

18-04-2018, 12:28

JohnHassink wrote:

Is there a section in the wiki that specifies exactly the bits that BSAVE,S in every screen saves?

I don't think all of this information is listed in wiki... In BASE-command there is some...
I think defaults are explained pretty well in here:
http://problemkaputt.de/portar.htm#videomodesscreens

... although it is also not perfect as it lacks the information of palette location on screen modes 0-3

Please note that user may change most of these locations with VDP and BASE-commands.

By karloch

Paragon (1985)

karloch's picture

18-04-2018, 20:24

Thank you for the detailed explanation NYYRIKKI! The SET PAGE is more or less what I had in mind, but I was absolutely clueless about why you were using HEX, quite clever!

I think with these details I can build my first presentation using just an MSX computer Smile

By the way, simple last question, if I wanted to use SCREEN 12, is there something special to take care of?

By NYYRIKKI

Enlighted (4924)

NYYRIKKI's picture

18-04-2018, 21:12

karloch wrote:

By the way, simple last question, if I wanted to use SCREEN 12, is there something special to take care of?

No, these examples work as is when you just change the screen mode... If you want to make some more advanced "fade in/out" routines (like assembling picture of blocks or something) then you need to know that in SCREEN 12 you should copy in X-axis always in series of 4 pixels... You can make sure that this always happens if you do something like COPY (X1 AND 252,Y1)-(X2 OR 3,Y2),P1 TO (X1 AND 252,Y1),P0

Sorry, I think I make this sound more complex than it is. I just can't find the correct words now. Smile

Page 2/2
1 |
My MSX profile