Commodore Lemonade

Simulations before the sims

Lemonade on the PET

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?

Commodore Educational Software

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.

Game Play

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.

Lemonade Stand on the PET

Lemonade Stand on the Commodore 64

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

And now you can click the printer #4 tab and set it to output a to a file

Assuming you have the program loaded you can then just type in:

OPEN3,4:CMD3
LIST
CLOSE3

*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

Quad core by Singular Crew / C64 demo

One of the coolest Commodore demos in some time.  Featuring quad Commodore 64’s.

Some details: This is the party version, rendered with VICE. AVSEdit Plus and VirtualDub used to merge videos. Unfortunately we had no four projectors to show it realtime. An idea to start: use rod or board to press space same time.

Credits:
Main code: Scorpy.
Zoomer part and some bugfix by Soci.
12 channel music: Vincenzo
Four screen picture: Leon
Rotator logo and some grafic artwork: Poison.

Note: The rotating logo in the last part originally designed to an Amiga demo 10 years ago which never finished.

I have to say, it not only looks great, but sounds great! Obviously we didn’t need the C65, we just needed a cluster of C64s.

NOS clone datassettes!

New old stock, still in shipping boxes!

327 devices!

327 devices!

I found this eBay auction, and couldn’t believe what they had unearthed!  Boxes and boxes of these clone datassette!

New old stock

New old stock

Obviously the perfect thing for any retro Commodore user!  And as you may know in Europe most people used tapes, while us North Americans all used disk drives, namely the mighty 1541.

As of me writing this there is only ONE left!  It’s not my auction, and I have nothing to do with them, but this is your big chance to get one if you want one!

***EDIT

Well it turns out the last unit has just been sold.  Too late to post it seems.

Scripted Amiga Update & hosting at archive.org

I saw this awesome link over at archive.org’s software Library featuring the Amiga

Behind it all is the Scripted Amiga Emulator.  What is more interesting is that there has just been a MASSIVE update/rewrite to the project and it is now boasting far more features!

Looking at the features page, there has been quite a number of updates since the last version.  The big ones (to me) is that the CPU core has been rewritten, and now supports not only the 68000, but the 68010, 68020, and 68030 (only with fake MMU). OCS, ECS and now AGA as well!  Preset models include the 1000,500,2000,500+,600,3000 and 1200.  IDE disk files can even be mounted for the 600 & 1200!

In addition is support for the Amiga 1000 velvet prototype, and even now has the ability to have an AMAX (Macintosh emulation) cartridge port.

R-Type on SAE

R-Type on SAE

I’d highly recommend the internet archive link, you can jump right into some great Amiga action with nothing to download or install!

The Ultimate Amiga 500 Talk

Amiga Hardware Design And Programming

The Amiga was one of the most powerful and wide srpead computers in the late 80’s. This talk explains its hardware design and programming.

The Amiga 1000 appeared in 1985 and was followed by the Amiga 500 a few years later, which had the same design concept but was a little bit more powerful. The hardware design was highly sophisticated and powerful and was years ahead to other computers at the time then.
Equipped with the Motorola 68000 Microprocessor as the CPU which was internally a full 32 bit processor and several additional co-processors for various complex DMA tasks it was perfect for graphics-intensive software.

This talk explains the hardware in detail, how all those processors interacted and how it was programmed.

──────────
➤Speaker: rahra
➤EventID: 7468
➤Event: 32th Chaos Communication Congress [32c3] of the Chaos Computer Club [CCC]
➤Location: Congress Centrum Hamburg (CCH); Am Dammtor; Marseiller Straße; 20355 Hamburg; Germany
➤Language: english
➤Begin: Sun, 12/27/2015 18:30:00 +01:00
➤License: CC-by

CBM Basic

I found this repository by accident, cbmbasic which is a ‘portable’ version of the old Microsoft Basic for the Commodore 8bit computers in C which can run on any manner of machine.

Really cool, right?

So for the heck of it, I fired up the x68000 toolchain, and in no time after gutting the file open operation as some stuff isn’t defined, and I wanted to see it run, I had a working executable.

C

CBM Basic

All the commands MUST BE IN UPPERCASE… Then again the Commodore did default to upper case, so I guess that isn’t a surprise.  There is no ‘system’ command to take you out of basic, but Control-C works just the same.

The other intersting thing, is that on the authors blog, pagetable.com, the original source code for the 6502 basic has been found.  Notably this version includes portions written by Bill Gates.  It is a very fascinating read.

Belated Merry Christmas!

Sorry things have been busy @ Home & Work.

I had been thinking about doing something special for the holidays but looking around it’s a little too late.

So instead here is something nerdy from my youth, the Commodore Christmas demo diskette..   When I was lucky enough to get a C64 along with a 1541 in 1983, this was one of the bundled diskettes.

At the time I never realized how lucky I was to have the floppy drive, so many poor Europeans with their tape drives.

I hope it’s been a good holiday for everyone!

DICE C Compiler for the Amiga

So on my last adventure through some disk corruption on my Amiga, the natural thing to do is find some kind of MD5 checksum program to then compare signatures of files being copies to ensure that they are being copied correctly.

While there were several great C compilers for the Amiga when it was a viable platform, the one left standing today is GCC.  Which is fine and all, but it is rather large, and unwieldy.  And won’t run on a computer with 2MB of RAM (In the off chance that I want to run it on the 600).  But that is when I found out that the source code (dice.com has moved!)  to old DICE compiler is available!  DICE, was originally a public domain compiler then turned commercial then finally turned freeware.  For its time it was thought as a highly capable compiler as reviewed here. Also of note is that is was written by  Matt Dillon, who later went on to DragonFLY BSD fame.

So I thought I’d try something completely different.

So after extracting the 3.15 binary distribution (which also included cross compiling from linux/i386), and following the install notes I tried to build a md5 program that I had found into an AmigaDOS binary.  And it didn’t work.  It turns out that it is missing include files related to AmigaDOS.  And I was further unable to build DICE C from within DICE C.

So after a lot of searching, I came across this, a cut down “Mini DICE” that was bundled with Amiga Shopper, meaning it has the following limitations:

  • Only small library modules are included.
  • No Bitfields
  • No floating point
  • No pragmas
  • No register variables/arguments
  • The maximun executable program size is 40K
  • Each source file can only have up to 4 procedures
MiniDice

MiniDice

Wow that is.. limiting.  But it does have several of the needed include files, and a nice setup program to get going.  At first I tried doing a full-sale overlay of the ‘3.15 binary’ version but I broke something to do with REXX and how DICE links.  So instead I just overlaid the core compiler, namely dcc, dc1, dccp, das, dlink, dmake, fdtolib & fdtopragma.

I was then finally able to compile md5.  I went ahead and started to build some of the source, and so far using a combination of dmake & vmake I was able to rebuild das, dcc, dlink, dc1 and dccp.  I went ahead and created backups of my somewhat improved dice, and dice with source code.  Some programs build fine from the command line, others you need to invoke the visual build tool.

So how is the environment?  I tried to build Dungeon (dung27s.zip) for the heck of it, but the visual makefile tool couldn’t handle a project with 33 files.  I suppose I could have made a library and gone through with some linking hell but that seemed like work.  Instead I just typed in all the C files from the command line, and compiled it that way.  Taking care of a warning and a few errors and I actually got a binary!

Dungeon on the Amiga

Dungeon on the Amiga

Even better, it runs!