Pascal65 Origin Story

My first computer was a Commodore 64 I got in the spring of 1984 when I was 12 years old. Well, that is not completely true. My very first computer was a Timex Sinclair 1000 but I only had it a few weeks before it stopped working. Back to the store it went and my C64 came a couple months later. I learned how to program on that computer, even dabbling in 6502 assembly. I eventually moved on to the Commodore 128, the Amiga, and by 1993 to a PC. I never forgot my first love though.

When I pre-ordered a MEGA65 in May of 2022 I immediately started thinking of all the fun and exciting things I would do with it. From playing games, watching demos, and writing code. I started brainstorming on things I could code from helpful little utilities and even some simple games.

I started looking at programming languages I could use. BASIC and assembly are an obvious choice but those couldn't be it, could they? I remembered a book I had on my bookshelf on writing a compiler. The author describes how to write a Pascal compiler in C. It was published in 1996 so it was targeted at the PC. There are C compilers that can cross-compile to 6502. How hard could it be to target a MEGA 65?

Developing Pascal65 has been an incredibly humbling experience. I have been a professional programmer for 30 years and mentor a high school robotics team. None of that experience prepared me for this project. I have lost track of the number of times I came upon a challenge that seemed impossible to overcome. There were several times I almost gave up.

At the time of this writing the project is in decent shape with a working editor and compiler. The user can generate a standalone PRG from the IDE or even run the PRG directly inside the IDE. The compiler itself implements a decent amount of the Pascal language such as arrays, records, and floating-point math. The editor and IDE still need a lot of work and the compiler is slow and is a memory hog, limiting program size to a few hundred lines of Pascal code.

I see a lot of potential and I hope Pascal65 can become a primary development tool. I hope to eventually release versions for the Commodore 64, 128, and the Commander X16. I have a lot of exciting ideas for the future. I do not expect to accomplish this on my own and welcome any help.

As of this writing I am close to the first public release. I hope to see many future Pascal65 users soon.

Next Post