Archive for the ‘Uncategorized’ Category

We have a new home!

Posted: December 28, 2014 in Uncategorized

I’ve been working on Commodore is Awesome and Vintage is the New Old websites for some time, which explains why this personal blog has not been updated properly for several months.

After some consideration, I’ve decided to keep blogging about programming techniques for vintage computers on Vintage is The New Old. I’ve moved all my posts to there, and I will add more very soon.

If you haven’t done, check the website, and subscribe to the RSS so you will keep up to date!

My blog now can be found at http://www.vintageisthenewold.com/blogs/good-old-days/

And the main site is at http://www.vintageisthenewold.com

I hope to see you there!

Advertisements

Having work with Microsoft BASIC most of the time, I have the clear idea how strings work in BASIC, but few moments after starting to work with Atari BASIC my world feel apart!

First, in Atari BASIC you have to declare string variables before using it, giving the maximum size that string will need and for that you have to use the syntax:

DIM A$(10)

When I first saw that syntax I thought “oh, it is declaring an array of 10 strings” but in fact, it declares a single string with a length of 10 characters. As far I can see, there is no array in Atari BASIC and to use something similar you have to manipulate a big string as if it is an array of strings using the index. There are several places on internet with great explanations about Atari strings, so here I just want to point few things:

  • DIM A$(10) – Declares a string with 10 characters
  • PRINT A$(2,5) – Prints out a string containing the characters from 2 to 5 – the equivalent in MS BASIC would be PRINT MID$(A$,2,3)
  • A$(2) = “AWESOME” will add the “AWESOME” string from the position 2 onwards.

This all is actually pretty cool and way more versatile than the Microsoft way to do it, in my opinion.

The Cassette

One important part of the Retrochallenge is only use the actual computer and a cassette tape as storage unit. This alone turned out to be a very hard thing to do, because when I am learning something new, I like to keep
saving code snapshots with small tests all the time, and to manage several small programs in cassette is very difficult.

The main game itself is being saved in two different tapes to be safe, but the small programs where being saved in one of them, after the main program. I decided to give some “tape counters” room between the main program and the tests. For example, the game is recorded at position (tape-counter) zero, and the first test program at position 30. I didn’t realize that 30 is too little and my main program is quickly reaching this mark as it grows.

I will keep following this idea where I determine fixed gaps to save programs, but I will try to give way more room between the end of one and the beginning of the other. For that it is mandatory to keep a up to date directory on paper! That is so old school!

This month I spent quite some time selecting a demo to show, and it was a hard choice to make. I think one of the criteria I use to select the demo is when I think: “How that guy can make something like that!”. Based on that, my choice is Wonderland XII by Censor Design.

Check the video below or download the file here.

I don’t want to promote this sale on eBay at all, but I found interesting to share how far can someone go to make the Commodore 64 better. This machine on sale has, among other things:

  • Internal 3,5″ disk drive
  • Two (yes, two!) SID chips (8580/6581) with individual RCA outputs and selectable address ($D400/$D420/$DE00).
  • Reset switch

    c64-disk

    Floppy opening on the side

Even if you are not shopping, the auction has lots of pictures. Very well made!

Check it out here for more pictures.

Paradroid is a great game that recently I’ve got to play, published by Hewson Consultants. Now, I’ve learned that Andrew Hewson is running a campaign to fund a new book: Hints & Tips for Videogame Pioneers.

File:C64 Paradroid.png

You should take a look at his proposal and back him up if you can.

It looks like it is gonna be a great reading.

(this was originally posted at http://awesome.commodore.me)

It is finally here! After a long and dark winter (…and short and sunny summer for that matter) Mission Moon is ready for prime time!

mission_moon_animated_screenshots

The game is inspired by the classic arcade Lunar Lander, but with some different elements. Your mission is to go to the Moon and deploy a sensor to help to find water underground. Of course, you will have to successfully land on the Moon, but after the sensor is deployed, you will have to take off and connect to the mother ship in order to go home. All that has to be done using the amount of fuel you have available to you, which all depends on the difficulty level you choose.

The game is coded in BASIC, but the awesome background music by pievspie is played using a machine language routine.

Download: MissionMoon.zip
CSDb: http://csdb.dk/release/?id=121495
Pouet: http://www.pouet.net/prod.php?which=61832