{created by www.mzretro.ch, lived.ch, 2026} |||||| 
---------------------------------------------------------------------------------------------------
PAL-ASSEMBLER-2.0 {Floppy Disk Version} and VICMon-2 COMBO for Commodore VIC-20			  |
---------------------------------------------------------------------------------------------------

[ Native Assembler Development system for beginners and everyone who wants to experience the pure  ]
[ RETRO MAGIC on native *Commodore VIC-20, meaning; IT IS NOT a Cross-Assembler solution ]

[ *Emulation will be used ]
  
---------------------------------------------------------------------------------------------------
Having an Assembler and Machine Language {Code} Monitor in memory at the same time?
Why not!

I thought it's going to be more difficult to get that done, but it obviously wasn't.
Looks like a lot to do when you see this below, but when you have it, it's like 20 seconds job!

---------------------------------------------------------------------------------------------------
OUR {Commodore VIC-20 Development System} MISSION:
---------------------------------------------------------------------------------------------------
A COMBO OF PAL-ASSEMBLER @ $6F32* {floppy Disk version} & VICMon-2-@ $B000 {VICMon CRT @ RAM BANK 5}
*=With all RAM BLOCKS occupied!
---------------------------------------------------------------------------------------------------

What you need to do/activate in VICE VIC-20 Emulator {and some explanations, extra information}:

		      Download the file: PAL-Assembler2-VICMon2Combo{VIC20}.z7
		      And extract it to the location you want to.

		 File content: PAL-VIC-Assembler-20-1200.d64
			       VICMon-2-B000.crt
			       ReadFirst-PAL-Assembler2-VICMon2-Combo.txt
			       PAL{Very-VIC20-Compatible}.txt {Couldn't find VIC-20 Instructions!}
			       VIC_Machine_Code_Monitor.pdf

	In VICE you can activate RAM BLOCKS as follows:
		      
		      Menu Bar/Settings... {A window will open}
	       Go to: Machine/Model
	   	      Tag all RAM BLOCKS!
		      Close the window	

		      When done:	
		      RESTART! Menu bar/File/Reset/Reset Machine CPU


	RAM BLOCK 0 - Free area for *= $0400 {Range from $0400 until $0fff, that is 3KB} assembly code!
 
	RAM BLOCK 1 - This RAM BLOCK starts from $2000 - $3fff

	RAM BLOCK 2 - This is a range between $4000 and $5fff or decimal 8192 - 32767

	RAM BLOCK 3 - PAL-ASSEMBLER will install itself from here @ $6F32, dec 28466 
		      {after you RUN it {DO NOT directly USE SYS 28466! now}}
		      {And later you'll use SYS 700 within the Source Code!}
		      [See example Code]
 
	RAM BLOCK 5 - This is the VICMon Department from $B000 and up {Cartridge}

	
    MEMORY Structure: {Auto-Assigned-Areas with all RAM BLOCKS occupied}

	SCREEN AREA - $1000 until $11fa
	
	COLOR MAP   - $9400 until $95fa

	BASIC START - $1201 until $6F17	{END}
		      This is where the PAL Assembler Source Code is.		      

		      {By changing the values of mem address $37 {low byte, $17} and $38 {high byte,6F}}
		       you could make room for more assembly code}
		      
		      {Note: $17 = dec 23 {1 is 256 bytes. 4 is 1KB}} 
		      {It means: by changing the low byte value to 19, you get 1KB memory,
		       and to 15 gives you 2KB more memory which will not be disturb by BASIC activities!}

---------------------------------------------------------------------------------------------------


First STEP: {Installation of the VICMon - Machine Code Monitor @ $B000, File: VICMon-2-B000.crt}

	Go to Menu/Attach cartridge File... {A window will open}

	01. Navigate to the folder where VICMon-2-B000.crt is located
	02. Set {Cartridge Type} = GENERIC
	03. Set [Cartridge ID}	 = 4KiB cartridge $B000
	04. Select {VICMon-2-B000.crt} 
	    Note: if you don't see it, choose {.CRT or All Files} on the right side of the window
	05. Click on Attach
	06. Cartridge will load {you won't see any notifications}


Second STEP: {Installation of PAL ASSEMBLER {VIC-20}, Disk name: PAL-VIC-Assembler-20-1200.d64
	    					      File name: PAL-ASSEMBLER-2 {prg}

	01. Insert now the Disk {PAL-VIC-Assembler-20-1200.d64}
	02. Type load"*",8:run
 	03. PAL-Assembler will install itself and run
	    You'll get to see the "*** ASSEMBLING ***" message
	    If so, then it was successfully installed.
	    {If not, you probably do not have all RAM BLOCKS activated}


Third STEP: {Check if VICMon was installed successfully}

	01. Type sys 45056
	    {I noticed that for no special reason, sometimes, i had to type sys 45056
	    {So if no Monitor Register Status will appear the 1st time, just again sys 45056}

	    Message: sys 45056

		     b*
   		     pc  sr ac xr yr sp
                     .;b03e 33 00 b3 00 f6
      		     .
	    If you see this, you are good to go!

	02. Type X to exit

	WELL DONE!

---------------------------------------------------------------------------------------------------

Now you are ready to use the PAL Assembler and have the access to VICMon-2-Machine Code Monitor
when needed. That is an excellent combination. 

PAL-Assembler is easy to use and understand. VICMon-2 has great functionality and can sure be a good
assistant. 

Information files are included for both.

{Find here below some code examples! Coming soon...}
---------------------------------------------------------------------------------------------------

30.05.2026
