SuperMon Plus for VIC-20, Version 1.0 --------------------------------------------------------------------------------------------------- We all know SMON or SuperMon v1.2 for the Commodore C64 {a masterpiece!} Can't say the same for the VIC20 SuperMon+ {to be fair, it's the 1st 1.0 release} SuperMon+ is actually more flexible than MiniMon and will also run without any additional RAM, which then also means, you will lose some serious BASIC memory space because SuperMon+ needs more RAM. However, adding more system RAM isn't a problem and is actually recommended. Now, the SuperMon + v1.0, will place itself on the top of the roof {memory} and then "slowly" go down to occupy the memory in needs to work. In cases without any expansions, that is the memory address 4864 {the start address of SuperMon+} If you have followed previous lessons {memory parade} related to VIC-20, you know that the free BASIC area starts at byte 4096, $1000 and ends at 7679, $1dff {from there it is the beginning of the screen memory area. POKE 7680,1 will show A in the left upper corner and POKE 8185,1 is the right bottom corner}. So the screen area is 506 bytes small {compared to C64 or C128}. In other words, you are left with close to 800 available bytes to write BASIC programs on unexpanded VIC-20 No reason to panic because with Machine Language Monitors we should better use those 800 bytes for more intelligent matters. Like writing short assembly programs. You wouldn't believe, but with 800 bytes one can do amazing things in assembler. WHAT DO WE NEED TO REMEMBER: It is possible to work just with the standard memory of 5KB {3.5KB available, or 0.8KB after the installation.} Adding more RAM is therefore recommended, but not really mandatory to be able to learn assembly. I would suggest anyway to add at least additional 3kb or why not also 8KB {BANK 0, 3KB and BANK 1, 8KB} As you probably already know, 3KB in BANK 0 isn't available for BASIC when BANK 1 also is occupied with 8KB module, but it is for the assembly coding. The area from $0400-$0fff is then free for assembly lines! = {BANK 0, 3KB} In decimal numbers; 1024 - 4095 {and from 4096, with this RAM Configuration, screen area is located until 4608 and afterwards also BASIC Source Code! So don't put any assembly lines above 4095, $01ff in case you are combining BASIC & assembly. --------------------------------------------------------------------------------------------------- SuperMon+ can be considered good, however the unpleasant structure of the code is making it hard to love it and work on larger projects, e.g. > 20 assembly lines can be a painful adventure. It is good for some small assembly routines to support BASIC programs. That being said: Others are doing everything better! --------------------------------------------------------------------------------------------------- 24.05.2026