User Tools

Site Tools





blog:2023-01-12

back to blog...

Jan 12th, 2023

I thought I was done and happy with my upgraded to my DVD printing program, but you know, I wanted something that looked a little better. So, I took the work that I've already done and re-wrote a version for the C128's VDC 80 column screen.

I wanted to take advantage of the larger screen of the VDC mode and also decided to learn more about the use of WINDOWs, which you can easily do with the C128's BASIC 7.0. I liked how programs, like Free Base, made use of windows to direct user input and display program navigational information. I thought I could do something similar with my DVD program. So, I set out to teach myself a few things about windows, as well a few other advancements that CBM BASIC 7.0 had to offer to help me streamline my program routines.

I divided the screen into three sections:

  • The Printer Preview window - This is where you can see what will be printed when you're done.
  • The 128 COMMunication window - This is where the program will tell you what information it is requiring from you during certain stages of the process.
  • The User Input window - This is where you can see what you're tying into the computer, to be arranged in the printer preview window.
Main Menu Screen

From the Main Menu, you have the same three print options as the 40 column version (Front, Back, and Label) but I also added a Quit option. Hey, I wanted this to look as professional and polished as I could possibly make it, even though this is nothing more than a pet project for myself. I don't see anyone else ever finding a program like this of use at all.

The front cover option starts off with you entering in a three digit number, which will be printed on the cover's spine. Then, you enter in the movie titles for the three DVDs that will be inside the case (up to two movies per disc). You then have the option of including some notes beneath the movie titles.

DVD Movie Titles Input Front Cover Notes Input

One of the new things I learned about BASIC 7.0 was the CHAR command. With this command, you can type characters on the screen where ever you want with just an X and Y reference. So, there's no more need to “print” cursor key presses or invoke other cumbersome coding. So, most of my repetitive print tasks, like printing the movie titles you type in for each DVD could be rendered down into a FOR-NEXT loop with incremental X,Y references for the CHAR command. I thought that was really handy!

When you're entering notes for the back cover, it took a bit of problem solving (on my part) to figure out how to get the 25 lines of text to translate nicely into the print preview window, which only had 15 lines assigned to it. Another nice thing about CBM BASIC 7.0 is the improved IF-THEN-ELSE functionality, along with the easy way of clearing a WINDOW when necessary.

But probably the most useful thing I learned about CBM BASIC 7.0, besides the WINDOW command, was the BEGIN and BEND commands. These were really useful when it came to printing the DVD labels. BEGIN is like an extended IF-THEN statement, but so much more powerful and easier to implement. BEGIN identifies the start of the routine and BEND signifies the end, with no constraint as to how many commands lie between them. You can then put this into a logic test, like: IF X$=“Y” THEN BEGIN…. It made things so much easier than a bunch of IF-THEN-ELSE statements.

DVD Back Cover Input DVD Label Input

For my C128, I only have a composite signal available when using VDC (aka 80 column) mode. That means, I only have three colours available; black, white and gray. So, when I was designing the input screen, although I wanted to use colour (in the event I happen to use the program in VICE like I did here to capture the screenshots), I wanted it to also be composite-friendly. So I settled on green for the window frames and white for the text. I think it looks fine in both the RGB and composite colour pallets.

Composite Colour Pallet

So, there you have it, my final / ultimate version of my DVD cover printer program… well at least what I think is the final version. I guess, if there was anything else I would add, it would be logic to ensure that no lines being entered are longer than the 35 characters. So, everything fits within the limitations of the DVD covers with no danger of “spill over”. But, we'll see.

All in all, I think it looks pretty good, as well as quite functional. I was very happy that I took the time to learn what I did about BASIC 7.0. I think this may just inspire me to go back into the other programs I've written for the C128 and see if I can improve upon them with what I've learned.

I can certainly see how much more advanced and powerful BASIC 7.0 is over BASIC 2.0, which is what can be found on the C64. It's just such a shame that the user base didn't take advantage of it, when the C128 hit the market. I know BASIC doesn't make for a very fast gaming platform, but if used properly, it could be used effectively for productivity software. Ah well, if only the C128 came out a little bit sooner, the story may have had a completely different ending.

P.S. This was all done on my C128… no VICE aside from taking the screenshots afterwards. So, the creative process was totally authentic!

Printed DVD Labels Printed DVD Cover

298 visitors

blog/2023-01-12.txt · Last modified: 2023/01/27 11:46 by David