• Please review our updated Terms and Rules here

Pet Assembler ROM file for 32k Dynamic PET

Hugo Holden

Veteran Member
Joined
Dec 23, 2015
Messages
4,747
Location
Australia
I found this manual on the PET Assembler:


(I assume this is suited to my PET ?)

And since it is invoked by SYS36864, clearly it is supposed to live in a ROM in position D3.

Does anybody know where the .BIN file is for this assembler ROM, that matches up with the attached document ?

(I had a look on Zimmers, but I don't want to get the wrong file)

It also looks like the Loader is in a ROM D4 and it requires a special edit ROM too to make the Editor work, but I'm not certain. Any advice much appreciated.
 
Last edited:
I am not familiar with a ROM based Commodore assembler, but I know there are Commodore disk based assemblers for BASIC 2 and BASIC 4 PETs. I looked at Zimmers and they are most likely in the programmers page, but, you are right, the files names look confusing. MikeS gave me a set long ago. I'll see if I can find the names of the files for the editors, assembler and loader programs.
 
I am not familiar with a ROM based Commodore assembler, but I know there are Commodore disk based assemblers for BASIC 2 and BASIC 4 PETs. I looked at Zimmers and they are most likely in the programmers page, but, you are right, the files names look confusing. MikeS gave me a set long ago. I'll see if I can find the names of the files for the editors, assembler and loader programs.
Hi Dave, thanks for looking.

I had assumed from that Commodore assembler manual that with SYS 36864 starting the assembler and SYS 44421 starting the Loader, the the arrangement referred to in that manual must have had the "software" in ROMs.

Was it very popular for people to write assembly language programs for the PET in the day ?

It seems from what I have read that assembly subroutines were popular, but in Adam Osborne's book about the PET he simply suggested Poking the assembly language to memory manually. I guess if I cannot find an assembler that will work with the PET I could always do the assembly in the AIM-65 and put in the bytes manually.

I have the SD2PET so I could also run the Disk assembler programs, if I could find them.
 
I had assumed from that Commodore assembler manual that with SYS 36864 starting the assembler and SYS 44421 starting the Loader, the the arrangement referred to in that manual must have had the "software" in ROMs.

Was it very popular for people to write assembly language programs for the PET in the day ?
The manual for the disk programs is identical except that the programs are started by loading from disk and then a 'run' command does the 'sys' to the starting address in RAM.
And yes it was popular to write small assembly programs that resided in RAM (sometimes in the second cassette buffer) that utilized calls to BASIC subroutines.

If the assembler was used to create an object file, then the loader program was needed to place the code into the proper place in RAM memory. I think you ended up at the BASIC Ready prompt after the load was completed. The assembler was not as powerful as the cross assemblers of today.

The programs could be saved to cassette or disk using the machine language monitor '.S' command.
 
Hugo,
OK, the .d64 disk image you want is contained in the compressed file called C=development.d64.gz on this page http://www.zimmers.net/anonftp/pub/cbm/pet/programming/index.html

It contains BASIC 2 and BASIC 4 versions of the files 32k-editor, 16k-editor, assembler, different loaders that are used depending on where in RAM you want to place the assembly code. Apparently this set of programs will not SAVE the program as an executable file, but only puts the assembly code into RAM for later use by BASIC or a SYS command.

But as I said the M/L monitor can load and save assembly programs to/from specific memory locations.

Your SD2PET Future can handle disk images especially if you use the TFW8b download pack with the included SD card that has the proper wedge program.

After running wedge,
You would mount the disk image with the command:
@cd:c=development.d64

to unmount the disk image and go back to parent directory use:
@cd<back arrow symbol>

without the wedge this should work:
open 1,8,15,"cd:c=development.d64" : close 1
 
Hugo,
OK, the .d64 disk image you want is contained in the compressed file called C=development.d64.gz on this page http://www.zimmers.net/anonftp/pub/cbm/pet/programming/index.html

It contains BASIC 2 and BASIC 4 versions of the files 32k-editor, 16k-editor, assembler, different loaders that are used depending on where in RAM you want to place the assembly code. Apparently this set of programs will not SAVE the program as an executable file, but only puts the assembly code into RAM for later use by BASIC or a SYS command.

But as I said the M/L monitor can load and save assembly programs to/from specific memory locations.

Your SD2PET Future can handle disk images especially if you use the TFW8b download pack with the included SD card that has the proper wedge program.

After running wedge,
You would mount the disk image with the command:
@cd:c=development.d64

to unmount the disk image and go back to parent directory use:
@cd<back arrow symbol>

without the wedge this should work:
open 1,8,15,"cd:c=development.d64" : close 1
Thanks Dave.

When I got my SD2PET on ebay I did not know about the fact that some came with an included SD card with that Wedge on it.

I will try it without that and see what happens,

Thanks.
 
I just tried it.

I extracted the files to the SD card in a modern computer and it showed up as C=development.d64 in the directory.

Trying it in the PET , and initially looking at the directory it shows up in an abbreviated form as

C(then a left pointing arrow)DEVE(the pi symbol)1.d64.

When I open it, it appears to load ok and the computer says READY afterwards, but, when I type RUN it reports a syntax error, to be more specific syntax error in 1.
 
Last edited:
I just tried it.

I extracted the files to the SD card in a modern computer and it showed up as C=development.d64 in the directory.

Trying it in the PET , and initially looking at the directory it shows up in an abbreviated form as

C(then a left pointing arrow)DEVE(the pi symbol)1.d64.

When I open it, it appears to load ok and the computer says READY afterwards, but, when I type RUN it reports a syntax error, to be more specific syntax error in 1.
I am not following you. What did you 'run'?
After you mount the .d64 disk image with the open statement, then load the directory with load"$",8 and then LIST the directory. Do you get about 10 files listed? Are you running BASIC 2 or BASIC 4?

I attached the C=development.d64 image on VICE as device 8 and it worked fine.
 
I am not following you. What did you 'run'?
After you mount the .d64 disk image with the open statement, then load the directory with load"$",8 and then LIST the directory. Do you get about 10 files listed? Are you running BASIC 2 or BASIC 4?

I attached the C=development.d64 image on VICE as device 8 and it worked fine.
Thanks, I was uncertain about the directory structure as I have never run a Disk file on this machine yet, only single program files, so I didn't know to load"$",8 to get to the directory!

(my machine is running BASIC 2)

But I'm clearly going to need more help.

When I load and run the assembler, that also appears to be working, but it looks like it requires an named file, so I think that would be created in the editor first. But, I cannot get any of the Editor versions (.PRG files), including the one for my machine 32k with basic2 to run. They load ok, but when I use RUN it reports a syntax error in 1.

So I loaded the Universal DOS wedge in the file list, to see if that might help. After that the machine returned to BASIC, with a screen message Universal Dos Support Loaded. But, this still did not allow the Editor/s to run, so I still must be doing something wrong. Maybe because I was supposed to type NEW to clear the pointers !
 
Last edited:
Dave, Still, even with that I cannot get the Editor running yet. After I type NEW it appears to return to BASIC (in that I can run and execute small BASIC programs) which apparently it shouldn't if the editor is running.

Can you give me a series of exact instructions as an example which show how to; 1 start the editor, 2 create a new file, 3 save it as a named file, and 4 retrieve it to the Editor from the SD2PET?

Or the other thing that might help me, do you have a link to the scan of the manual version where the instructions to use the Editor, loader & assembler do not use the SYS commands and relate to running it from disk ?
 
Last edited:
It really only makes sense to use programs that you have the documentation for, otherwise you are poking about in the dark!

There is a package called MAE. The disk image is on zimmers and the documentation is also available online.

Dave
 
It really only makes sense to use programs that you have the documentation for, otherwise you are poking about in the dark!
Every time I try to get unfamiliar software to run, I am always in the dark and falling into potholes.

But at least if I can get it to work, just once I am ok.

For example if I could get instructions for this assembler system to say :

Create a new file in the editor, save and retrieve it, assemble a simple program, like say get a character from the keyboard and display it on the screen and display screen messages, send some data to and from memory etc, assemble and load it to a chosen address and get that to work, then I would be fine, because I could simply expand the program to my needs.

Most of the troubles I have are in the software usage, when I am not familiar with it and I am an expert at fouling up the syntax trying to get it to work.
 
When I load and run the assembler, that also appears to be working, but it looks like it requires an named file, so I think that would be created in the editor first. But, I cannot get any of the Editor versions (.PRG files), including the one for my machine 32k with basic2 to run. They load ok, but when I use RUN it reports a syntax error in 1.
Hugo,
I will scan the first page of the instructions for the editor for you, but in a nutshell you must start the 32k editor with SYS7*4096 or SYS 28672. I forgot about that!
-dave_m
 
Darn ! it still doesn't open and start the Editor. Those SYS's just result in a return to BASIC.

I noticed though in the file naming in the document above that the 32k editor is named "32k-EDITOR" but the file in the C=Development.d64 from Zimmers is called "32k.EDITOR.2" so it looks like it is another case of the paperwork and software not matching up.

There is probably a SYS (some number) that will start this editor, but as yet I don't know what that is. I'll try the MAE one next.


Daver2... presumably this is the file name of the MAE assembler I would use from Zimmers:

mae30.d64.gz

And this would be that matching manual I wonder ?


and it would refer to the product in the attached advertisement.
 

Attachments

  • MAE.jpg
    MAE.jpg
    166.2 KB · Views: 5
Last edited:
.....it is a shame I cannot get the the Editor on the Commodore Assembler to open because the Loader and Assembler appear to work fine and also look simple enough.

The Low loader reports it is version V121379 and the Assembler V112779, both dated 1979 by Commodore.

Maybe what happened was when that more comprehensive C=Development.d64 (zimmers link) software came out, because it had many options for the different PETs memory versions and for the BASIC versions they had to move the options around in memory to fit them all in, so all the SYS addresses got changed to initiate the various Editor versions.
 
The MAE assembler sounds pretty good.

I will try the Commodore 32k editor with VICE initialized for BASIC 2 and see it it works there. Perhaps the editor software got corrupted in the compressed C=development.d64 file.

I have the program and editor files on a real 4040 floppy somewhere that I can try on my PET but it would be the BASIC 4 version of the files.

Hugo, did you also try the 16k-editor.2 version? It runs the same with the SYS 3*4096 or SYS 12288.
 
Hugo,
OK, I ran the VICE emulator in BASIC 2 (3032 PET) and it does not run with the 16K-Editor.2 or the 32K-Editor.2 just as what happens to you.

It runs fine with the C=development.d64 image in BASIC 4 mode with 32k.editor.4. It comes up with '32K Editor v121679'. I have no clue??
I hope the MAE Assembler works fine for you.
 
Back
Top