Introduction

I am pleased to present to you Monster, a labor of love that I have spent thousands of hours over the last several years on. Presented for the first time publicly last year at VCFMW 2025, I am back at the same event one year later to debut this v1.0 release.

Monster began in the winter of 2016 as a quick attempt to build a native assembly development tool for the Commodore VIC-20. The original idea for this tool wasn’t particularly well formed, but it was roughly to be a sort of hybrid between a classic monitor (hence the name Monster) and a 40 column, fullscreen text editor. The latter part quickly outgrew the former, and its early development trended towards something akin to TASM on the Commodore 64.

Around 2023, the scope ballooned massively. During this year, the source level debugger was added along with tons and tons of other features. Monster also grew from requiring a modest RAM expansion to a 512KB one at this time.

After much refinement on all the features that were developed then and years since, I believe it is now in a class of its own when it comes to native 8-bit development tools.

While Monster is a formidable package, each component also strives to be as powerful as it can be. You can ignore the editor functionality entirely and use Monster as you would any other machine language monitor. Or you can use the editor alone. Putting aside its development focus, Monster is very capable at this task.

If you are a BASIC developer, you can use Monster to assemble small machine language stubs straight into memory, and then switch back to BASIC and integrate them into your BASIC program. You can seamlessly switch between Monster and BASIC at any time.

Of course, you can also use Monster as a full-blown IDE to create large programs for highly expanded RAM configurations (like +35KB), assembling in smaller parts, and using Monster’s linker to efficiently manage the production of the final big binary.

Monster is a feature rich application. The learning curve is steeper than a typical monitor cartridge or simpler assemblers, but once you grasp it, I hope you find a joyful 6502 assembly development experience on the friendly computer.

This guide will walk you through your first steps so that you can get a basic feel for the operation of Monster as quickly as possible before moving into a more substantial tutorial. From there, the potential of this application should be apparent and, hopefully, exciting. The remainder of this guide will serve as a reference and is everything you need to master the joyful art of natiev assembly language programming on the Commodore VIC-20.