Friday, May 27, 2022

My Mega 65 has arrived!

This week I returned from a business trip overseas for the past few weeks. This is why I haven't been able to blog this month until now. But now I am back, and my pre-ordered Mega 65 computer has arrived!

So what is a Mega 65? 

Back in the 1980's, Commodore released the famous Commodore 64 (8 bit computer), and then followed it up with the Commodore 128 (8 bit computer), and Amiga (16 bit computers).

Commodore was quietly developing a successor to the Commodore 64 called the Commodore 65, combining improvements on the Commodore 64 (and backwardly compatible), along with some advancements learnt from the Amiga systems. You can read more about the Commodore 65 on Wikipedia here.

The idea (from my understanding) was to have a low-cost 8 bit system as an entry level machine, while leaving the 16 bit Amiga line of systems at more expensive entry price points.

Ultimately Commodore made a few Commodore 65 prototype systems internally, but the project was abandoned. Some of the developer units were sold off when Commodore went bankrupt in 1994. The machine to my knowledge was never commercially released. A lucky few have the rare developer versions of the C65 still, some working and some not.

These original C65 systems now sell for crazy money on Ebay, with a recent Commodore 65 system on Ebay in 2022 sold for over AUD$70,000!!

A group of enthusiasts formed a company called MEGA in 2015 to work on recreating the Commodore 65 system in FPGA based system, but using the same functionality, disk drive, cartridge port and connections to legacy peripherals, with the planned new case and keyboard. The machine is called the Mega 65, likely to avoid copyright issues with the trademarked Commodore name.

To say building this computer was a huge task is an understatement. I followed the development work blogs for many years, with a lot of the work being done by a fellow Adelaidean. I was excited by the possibility of finally being able to get one of these systems to try out!

The system is not cheap at just under EUR800 excluding shipping, but considering the huge development effort, cost of making the case, custom keyboard and the board and system itself, I think the price is reasonable. Compared to the cost of the original C65 hardware today, it is a bargain!

Covid-19 has impacted component availability and the production of the custom box, and this pushed out the delivery dates. Finally in May 2022, the first batch of 400 pre-orders was sent out, and I was one of those first batch of orders!

You can view more about the Mega 65 and pre order on their website when the next batch is available here.

The box is amazing and a wonderful tribute to the C64 box:


I think the box is probably similar to how the Commodore 65 box might have looked like if it had been released.



You can see the system includes some Mega 65 games and new version of GEOS for Mega 65. GEOS was the graphical interface system available back in the C64/128 days for running Word processor, graphic editor, and more!


Opening up the box and taking a closer look at the system, I am taken aback by how detailed the case and custom keyboard design are. It looks amazing:


It looks identical to the Commodore 65 casing, with the internal front mounted 3.5 floppy drive, with a C128 style keys. I really like it.


As an example of the attention to detail of the developers, the keyboard is mechanical, has the shift lock and caps lock keys with inbuilt lights in C128 style, and also the secondary C64/128 key functions, shown on the front of the keys. 


The function keys are setup the way they were on the C64 for compatibility plus additional F9-F14 ones that were on the original C65 keyboard. I know a lot of work was needed to create this customised keyboard.


Looking around the back, you can see the power switch, standard C64/128/Amiga joystick and mouse ports, a reset button, cartridge port, 1541 external floppy drive connector, VGA out, HDMI out (with sound), network port, and audio out.


Close up view of the ports:



The integrated floppy drive was a very unique feature of the Commodore 65, and glad to see the Mega 65 recreates it exactly. The floppy drive is compatible with Commodore 1581/1565 3.5 disks.


There is also internal virtual floppy drive that can mount 1581 d81 floppy disk images, which means you don't have to use the real floppy drive. But, I definitely will use the real floppy drive too.

Another view of the beautiful custom keyboard. The feel of the mechanical keyboard is great.


Flipping over the Mega 65, you can see the trapdoor slot where the internal 16GB SD card is, containing the Mega65 Core, ROM, and other included applications.


Close up of the opened trapdoor slot - you can get to the sd card without opening the case.


The serial number of my Mega 65 is 00616. So nice to see electronics made somewhere other than China. Hope we can see this done more often. 


In my view the ongoing race to the bottom of slave labour to make cheaper systems is not sustainable. Companies need to start taking the lead on this and make systems that reflect the true cost of people working for sustainable wages to produce, and people need to raise their price expectations on what technology like this costs to produce to match this. Ok, I'll get off my soapbox now.

The manual that comes with the Mega 65 is spiral bound like the original Commodore 64 manual. 


Quality paper and the writing style and even the key icons used in the text are basically very similar. You can download updates to the manual from mega65.org file repository.


I thought it appropriate to setup the new Mega 65 computer next to my Commodore 64!


On initial power on is a setup screen to set the time/date, output VGA/HDMI, PAL/NTSC (I set PAL), and CRT emulation (adds scan lines to look like a CRT display - immediately I turned that off):


Once done, the system automatically boots a demo C65 disk stored on the internal SD Card, mounted using the virtual Commodore 1565 floppy drive:


Pressing the restore key opens the freeze state screen (like the old freeze cartridges on the C64), which allows you to change some options on the fly like joystick port (to avoid having to physically swap joystick to the other port if a game needs it), to change the virtual disks mounted on Drive 8 (internal SD card virtual drive) and Drive 9 (external SD sd card virtual drive if present), and more.


You can reset the Mega 65 from this screen also, which will then autoboot the included intro disk:


I have to say, the Mega 65 really fits well with the C64 alongside.


You will notice I have an Amiga mouse connected to the Mega 65. The Mega 65 supports the C64 1351 mouse for applications like GEOS, but can also be set to accept Amiga mice too, and pretends it is a 1351 mouse. This does need to be setup - if you connect it without setting it up, you'll discover (as I did) that the keyboard doesn't work at all until the mouse is removed.

For now though, I fired up some music from the intro disk to enjoy Dual SID audio output from the Mega 65.


A lot is made of the ability of the Mega 65's new abilities under it's updated ROM compared to the C64, and enhanced BASIC. I look forward to exploring it!


You can see the display font is higher resolution for a start compared to the C64. 

I had to get to work on programming the obligatory "Hello world" program everyone typed into the C64 back in the day..still works.



Heading back to the included intro disk, there is also a link to run Go64, to force the Mega 65 to run in Commodore 64 mode, much like on the C128.


Note that you can also do this from the Mega 65 BASIC screen, by typing GO 64 - it does the same thing:


Here is the C64 mode on the Mega65.


Nice as it is, I think most people buying this want to explore the new functionality and software for the Mega 65. There is a files repository on the Mega65 website to download games, utilities, updated cores and more. You can then put the files on the SD Card to access from the Mega 65.

I tried out Tetris for the Mega 65 on the Intro disk, which is fun of course:


The resolution and fonts are much nicer looking on the Mega 65 compared to games on the C64.


There are a lot of games included on the intro disk to get you started:


Here is Blaster:


There are also some graphical demos showing off the superior graphics of the Mega 65 compared to the C64.



Next task for me was prepping an external MicroSD card to use on the Mega 65. It is recommended to use an external MicroSD card as it is much easier to transfer files to it from your PC/Mac, and means you have a working backup of the SD Card included with the Mega 65, rather than changing the original SD card contents.

If you hold down the ALT key when powering on the Mega 65 you get this early start menu, which allows you to prepare an SD Card for use with the Mega65. Yes, you do need to do this step - a standard MicroSD/SD Card needs a special partition format to work with the Mega 65, and this provides the remaining space as a partition available to read/write from your PC/Mac.


I inserted a 256GB MicroSD card into the external slot on the back of the Mega 65 and selected the SDCard FDisk+Format utility option from the Early start menu.

It then shows the two SD cards installed (the original internal one and the new one), and asks me which one I want to prepare. Make sure you choose the right one!


I realised that the Mega 65 only sees the 256GB MicroSD as a 128GB MicroSD, but unfortunately I don't have a spare 128GB MicroSD to use, so I am basically wasting the rest of the capacity. But, oh well, whatever. 

I proceed with the fdisk and format prep for the MicroSD card - it makes you type out DELETE EVERYTHING in caps before it proceeds:


The prep takes a few minutes - time for a coffee.



The Mega 65 is copying across the critical files from the internal SD card to the newly prepped MicroSD card. But note it does not copy everything across. 

The process completed successfully and the new MicroSD is ready for use.


With this step done, the Mega 65 will then use the external MicroSD to boot from on power on, and not the internal SD card. If the external slot is empty, it will boot from the internal SD Card.

The other missing files I mentioned earlier you can copy from the internal SD Card to your PC/Mac, and then transfer to the MicroSD card afterwards if you want them, as I did later as below.


On the early start menu (pressing ALT on power on), the Mega 65 also allows you to change the Mega 65 computer settings:


You may remember we were asked about the video modes and CRT emulation on first power on, but you can change those settings at any time via this menu. You can use the F1/F3 keys to select the different menu options at the top, with arrow keys and enter to change settings on that screen. 

If the 1351 mouse (or Amiga mouse) is connected you can use a mouse also, which is handy! Speaking of which, let's set the joystick ports to accept Amiga mouse, and to allow Amiga to 1351 functionality.


I set it on both ports, and after saving this, I could use the Amiga mouse I previously had connected.

Under Audio settings you can choose the output, which SID chip generation to use (older bread bin SID chip or newer C64C SID chip), and whether to amplify the audio if you find it too quiet (I didn't).


There are network settings too to set the MAC address of the network adapter, but I am not playing with the network just yet, so I will leave it for now. I then move to the Done tab menu and Save as defaults to apply the changes.


Having booted back into the intro disk, I exited the intro disk and activated the freeze menu using the Restore key. I then added the Turrican demo D81 floppy image to the external drive:



As a learning exercise, I learnt not to do this. I needed to load Turrican D81 into the internal drive, and reset, so it boots from that disk and not the built in intro disk. Otherwise I can't easily load the game. Maybe there is a way to do it - but when I loaded from the Device 9 with Device 8 auto booted, it didn't work for me.

I could then see the Turrican demo for the Mega 65, which (although incomplete and very much just a demo) is very impressive, and reminds me a lot of the Amiga version in terms of the graphics quality. 



Some games from RGCD are also included with the Mega 65, like Super Bread box. I have bought this game on the C64 previously. It runs great on the Mega 65.



The next task I worked on is installing the Real time clock on the Mega 65. On delivery, a battery is not included in the Mega 65, and so you need to install it yourself. It uses a CR1220 type battery, so I went to the shops to find one:


As a side note, the child proof packaging on this battery is pretty adult proof too! Anyway, I got it out in the end.

The Mega 65 case is held together with three philips head screws on the bottom of the case. Once removed, the internals of the Mega 65 are revealed!


There is a lot of empty space in the case, since the FPGA system board is quite small. I can see some additional screw holes below and to the right of the board, I assume for expansions?

Below is a close up of the board, showing the internal SD card. I took the opportunity to remove the SD Card (which is 16GB) and backed it up on my PC for safe keeping.


You can see below the floppy drive cable to the physical floppy drive. I understand that the floppy drives used are not new ones, but I guess that makes sense. Does anyone make floppy drives anymore?


The floppy drive eject button is huge!

I installed the CR1220 battery into the Real time clock compartment on the main board:


Now I can save the date and time on the Mega 65, instead of losing it on power off every time.

I note that is some text etched into the casing for the people who donated to get the custom case made, and the Mega 65 team. Thanks to all for helping to create this wonderful computer!


Next I decided to try GEOS65, which is included with the Mega 65. I mounted the disk image via the Freeze menu and reset to boot from it.


Aaah, GEOS. I remember it well from my original C64 days. GEOS65 runs in a high resolution too on the Mega 65 - looking nice:


Close view of GEOS 65:


Note that GEOS65 is a work in progress, with not everything working as yet. 


Geowrite does work though:


Geowrite looks very crisp on the Mega 65, and I can use the Amiga mouse to navigate. 


I remember trying to read the blurry text on the C64 version back in the day, and using a joystick to navigate...so painful.


Some GEOS65 functions drop you out into a debugger - so as I said, it is not complete yet. 


The graphics capabilities of the Mega65 are quite impressive, here is some 256 colour imaging with effects demo from the intro disk:


Also included with the Mega65 is Eleven, which is an editor for writing programs and included compiler on the Mega 65. Nice to see useful development utilities included out of the box:


I brought up an example code included on the disk and umm, modified it a little bit:


I then compiled the program and it worked:



Moving back to the Mega65 functionality, you can also create blank D81 floppy disk images directly from the freeze menu (Restore key) and mount to a virtual drive.


I presume you can then copy files to it somehow, but I haven't explored it yet.


Here is the mounted new disk image I created, shown mounted on Drive 9:


An important thing to note about the Mega 65 is that it does not currently support the popular C64 .D64 floppy disk images, in Mega 65 or in C64 mode under Mega 65. It only works with .D81 floppy images, as the C65 was intended to be used with a 1565 3.5 floppy drive, which also only uses D81 floppy images.

You can apparently run .d64 files using the separate C64 core on the Mega 65, but I have not tried this yet.

There are ways to transfer C64 floppy disk data from .D64 files to .D81 files on your PC/Mac that can then be read on the Mega 65 virtual drives. Hopefully this is addressed in the future.

I then looked through a very helpful online tutorial guide to get started with the Mega 65, and a special shout out to Dan Sanderson for a very helpful Mega 65 getting started website. I have been using it a lot as I learn about the Mega 65.

Speaking of floppy disks, let's look at using real floppy disks and drives rather than just the virtual ones (as convenient as they are).

I grabbed a 880k 3.5" Amiga floppy disk and 1.44MB PC formatted floppy disk to try out. Both work, but remember that the HD floppy disks need the hole on the left side covered by a non-transparent tape so that the drive doesn't detect it as HD, as they are not supported as the Mega 65 is delivered (yes I know there is beta support that can be enabled).


In order to use the real internal 3.5 floppy disk drive, we need to tell the Mega 65 to use it instead of the virtual floppy drive for the internal drive. Using the Freeze menu (Restore key), we can associate the Internal 3.5" to the Internal drive:



With that done, we can format the floppy disk, as it needs to be formatted to be usable on the Mega 65.


I remember formatting floppy disks on the C64 and it was annoying. The original C64 command line was: 

OPEN 1,8,15, “N:NAME,1A”:CLOSE 1 

On the Mega 65 though, the command is much simpler for formatting disks: 

HEADER "DISKNAME",I01


It will ask if you are sure and then proceed with the format, which takes a few minutes. After it completes as above, you can type DIR to see the disk contents. 

I then entered a short basic program, and saved it to the new 3.5" disk I just formatted, as below.


As you can see above, when I list the contents of the real floppy disk, it now shows the saved program. On the C64 you would use the up cursor key to the program listed in the directory output and type LOAD in front to run the program, but on the Mega65 you just need to put the '/' character in front to load the program from disk, as below:


It loads the program from my new floppy disk perfectly, and runs as expected:


While on the real floppy disk subject, you can connect a C64 1541 5.25" floppy drive to the Mega 65 serial port connector and access and run C64 programs straight from it!

The Mega 65 manual suggests to change the Device ID on the back of the physical Commodore 1541 drive from 8 to Device ID 10/11 so it is not the same as the virtual ones. In reality I found you don't need to do this.


I found if I changed the internal drive setting of the Mega 65 in the Freeze menu to use a Drive ID 10 instead of 8, the real 1541 drive works perfectly with it's device ID remaining as 8.



I have a Commodore 1541-II floppy drive which I bought recently as some new C64 games come on floppy disk only and not cartridge. (I always buy the cartridge version unless there is no option to do so)

So, I put in my Hi-Score floppy disk game to try it out. 


If you are curious, Hi-Score is a C64 game that came with the very excellent Hi-Score vinyl record release by 8 Bits High. I strongly recommend getting it as the music is fantastic - blending SID goodness with modern music style. You can buy the vinyl from Protovision here. Indeed, I am listening to the vinyl as I write this blog entry!


Getting back to the floppy disk though, I can type DIR U8 to get the Mega 65 to read the contents of the disk from the real external Commodore 1541-II floppy drive.


Because this is a C64 game, we need to drop back into C64 mode (GO 64) to play it. When I switch to Go 64 mode, note that I needed to use the Mega 65 freeze menu again to switch the internal drive mapping to use device id 10 so the 1541 floppy drive works with it's device id 8.


Hi-Score then loads and runs perfectly on the Mega 65 from a real 5.25" floppy disk using the 1541 floppy drive!



I then pulled out some other recently purchased Commodore 64 games I bought on floppy disk to try out using the Mega 65. I love the quality boxed packaging and goodies included with recent C64 games released!


Nixy The Glade Spirit works very well from 5.25" floppy using the 1541-II on the Mega 65:




I then decided to try out the Cartridge port on the Mega 65 to run some of my newer C64 cartridge games and programs, with mixed results.

Soul Force worked very well on the Mega 65 using the C64 cartridge:




Moonspire loaded from cartridge, but it had some weird timing issue where the main sprite would freeze and not respond to joystick movements for a few seconds every 10 seconds or so..


Some SID music demo cartridges like DUB CRT and SID Music club didn't work at all, and locked up when loading on the Mega 65.



I wasn't expecting it to work, but MultiMax cartridge didn't work on the Mega65. It relies on the Commodore Max compatibility built into the original C64 to work - I guess the Mega 65 doesn't have it. maybe if I use the C64 core instead?


Pitfall II on cartridge locks up on the title screen and goes no further.


Yoomp 64 had some graphic glitches but ran mostly ok from cartridge.


Sam's Journey, a game every C64 owner should own, works well on cartridge on the Mega 65.




Lastly, I tested my most recent C64 game purchase, Rogue 64 on cartridge from Bitmap soft, and it works perfectly on the Mega 65.


To be honest I got hooked on it and played it for a bit....




As a big fan of Larn on the Amiga, it is very easy for me to get hooked into Rogue 64...such an impressive version on the C64, now playing on the Mega 65!


So, the C64 support is good, but not perfect yet on the Mega 65. That said, it is mighty impressive how much it can already do, and there is very active development to improve it's functionality.

Of more interest to me is the development of the Mega 65, and new games and applications that take advantage of the new features of the Mega 65. I ready have purchased the first commercial game release for Mega 65 called Hibernation 1 from Poly Play (waiting to get it), and I hope it is the first of many to come for this amazing machine.

There are already alternative cores to try for the Mega 65 like the C64 core, Gameboy colour core and apparently a MISTER (Amiga) core is in the works too. I wanted to review the Mega 65 as it was delivered to me though.

The Mega 65 computer is a lot of fun, and I find myself feeling 30 years younger just using it. It is a lot of fun to play with, and so much more still to learn and fiddle with. The design and build quality are excellent, and experiencing a machine most of us never got to use (and with modern touches like virtual drive support and direct SD card support to run PRG files) is wonderful. Highly recommended.

I have already joined the Mega 65 discord channel and hope to learn from other people who have a lot more experience than myself!

I look forward to share more of my adventures with the Mega 65, as I learn and understand more about it!