Simulations before the sims
Back before there was sim city, the first popular simulation thing I can think of on our ancient basic bound 8 bit machines (and even mainframes running basic!) was Lemonade. Wikipedia, naturally is full of Apple citations, and of course, is absent of any mention of the most popular selling home computer of all time, as Commodore is usually scrubbed from history in favor of this narrative that Apple was some how popular (it wasn’t).
Oddly enough tracking down these older versions of Lemonade is really hard. But thankfully others have done the hard work for me!
First from The Sleeping Elephant, and here is lemonade!.prg for the Pet microcomputer. It’ll run fine in Vice, although it’ll run best using a Pet 3016 – 3032 and the model 4016 and 4032. It needs more than 8kb of RAM, so the original models are out, and the ‘graphcis’ don’t display corrrectly on the larger 8000 models, although the game does run.
But what about the Commodore 64?
By the time the Commodore 64 came out, Commodore had stepped upped their game, and made available a large number of basic programs ported to the Commodore 64. As always the thinking is if you can convince parents that this is educational and it’ll help their kids, they’ll buy one. Well in this case they were right! Although lacking the cool animation of the PET, it does include more documentation. And thanks to vcfed.org, You can download a tape file image here.
Unsurprisingly the game play is pretty much the same. You buy your Lemon concentrate, sugar and cups, try to predict demand based on your price and the weather. You set a price, and sit back and hope for the best.
Once you figured out that the first few lines (3-5 on the C64) were there to not let you alter it, you were golden. With the source, you could make summer last 10 years if you wished, or change any of the seemingly arbitrary limits. If you were really keen on it, you could also print the source code and work out the logic flow with a pencil, something that you really needed back in the days of 40 column screens.
Settings -> Virtual Device Traps
Settings -> Drive Settings -> (Uncheck) True drive emulation
Settings -> Peripheral Settings
Assuming you have the program loaded you can then just type in:
*Remember that Vice emulates the Commodore layouts, which means on the PET machines, they use a number pad.
The above commands will open up the printer, print the listing output to the printer, then close the printer device. If all went well you’ll have the source dumped to viceprnt.out although PETSCII won’t render on ASCII systems, nor will the machine language portion, and a lot of the BASIC may get down shifted but you can always fix that with tr.
tr ‘[:lower:]’ ‘[:upper:]’ < c64_lemonaide.bas > c64_lemonaide_upper.bas