| 
						 
						
						   | 
						
						 Commodore PET 
						Projects  | 
					 
				 
				
				PET ROMs 
				
				
				  
				
				 
				
					
						Update : Steve Gray's 
						Multi ROM Board Now Avalable
  
						
						Steve Gray has developed a
						
						multi-ROM board that allows you to select from up to 
						16 available ROM images for use in a particular socket. 
						That way, you can easily switch between the available 
						ROMs as you wish. 
  Rather than going for a single 
						replacement ROM as described on this page, I would 
						strongly suggest that you consider using one of Steve's 
						Multi-ROM boards, with Steve's permission, I am able to 
						supply these configured as you choose. 
  For 
						Details, see my page here | 
					 
				 
				 
				Introduction 
				The oldest machines in the Commodore PET/CBM range are now 
				getting on for 40 years old, as might be expected for computers 
				of this vintage, many of the original components are obsolete 
				and difficult to source, this includes the ROMs. Even worse, 
				when replacement (EP)ROMs can be sourced, many of today's 
				programmers are not capable of reading and writing these legacy 
				components.  
				In most circumstances, this is not a problem unless one of 
				the original ROMs fail, but if you want to upgrade a machine, 
				say from BASIC 2 to BASIC 4, then this situation does become an 
				issue. In my case, the original ROMs in my CBM 8096 were working 
				perfectly, but I have replaced the Editor ROM with a copy of
				
				Steve Gray's Editor ROM which incorporates
				Nils Eilers DOS wedge. 
				When I was testing petSD+ and 
				struggling with the BASIC 4.0 syntax to control it, Nils had 
				extoled the virtues of a DOS wedge and kindly created the new 
				Editor ROM for me.  
				Having the DOS wedge integrated into the OS is really great 
				and is something that I wanted to be able to offer to petSD+ 
				users, this meant that I had to learn a little about the 
				different potential ROM configurations that I would need to be 
				able to generate and the tools that I would need to do so. 
				Nils advised me of the comprehensive 
				list of the ROMs from Commodore computers compiled by
				Martin Hoffmann-Vetter and 
				posted on his website and noted that Commodore used 6540, 2316, 
				2332 ROMs and 2532 EPROMs. With the exception of 6540 ROMs, all 
				of them can be replaced by a 2532 EPROM. Of the machines that 
				did use a 6540, models with BASIC 1 are of no interest as they 
				do not support IEEE-488 disks and the remainder are pretty 
				uncommon, so at this stage, I shall just be focusing on being 
				able to create Editor ROM images that can be written to a 2532 EPROM. 
				The 2532 EPROM is obsolete but they are available from a few 
				sellers on eBay, the majority of them are advertised as 
				"refurbished" - which I guess basically means "pulls" that may 
				or may not have been UV Erased and had their legs bent back into 
				shape. From what I have seen so far, it seem that the vast 
				majority if 2532s were made by Texas Instruments, the only other 
				manufacturer that I have come across is Motorola (MCM2532) but 
				Nils mentioned that Hitachi also made a version they called the 
				HN462532. The TMS2532 was produced in two variants, the 2532 and 
				the 2532A, the difference being the programming voltages used, 
				25V in the case of the 2532 and 21V for the 2532A. 
				  
				Programmers 
				At first sight, it appears that many of the cheap EPROM 
				programmers sold on eBay, including my
				TOP853, do not 
				support the 2532 and I thought that I was going to have to buy a 
				new programmer. However, a
				  
				search for "program 2532 eprom" flagged up
				
				this post on 99er.net that 
				describes how to make a simple adapter to allow a 2532 to be 
				programmed in a device that supports 2732 EPROMs, which my 
				TOP853 does. 
				
					
						The pin-outs of the 2532 (on the left) and the 2732 
						(on the right) show that the only differences are in 
						pins 18, 20 and 21. 
						
							
								| 
								Function | 
								
								2532 | 
								
								2732 | 
							 
							
								| Vpp | 
								21 | 
								20 | 
							 
							
								| PD/E | 
								20 | 
								18 | 
							 
							
								| A11 | 
								18 | 
								21 | 
							 
						 
						 The adapter just cross wires the pins on the 2532 to 
						the positions used on a 2732 | 
						
						
						  | 
					 
					
						| This is one that I knocked up 
						to prove that this adapter would work. I used a turned 
						pin socket for plugging into the programmer (I only had 
						a 32 pin to hand) and a cheap spring socket for the 
						EPROM, with patch wires soldered between the relevant 
						pins. | 
						
						
						  | 
					 
					
						I did not have any spare 2532s 
						at this point, but did have a redundant copy of the 
						Editor ROM that Nils had given me. I installed this in 
						the adapter and fired up the TopWin 
						software to see what 2732 options were available. 
						 I found that TopWin 
						supports a number of 2732s, including an option for a 
						generic 2732 with programming voltages of 12.7V, 21V and 
						25V and was able to read the 2532 without error. | 
						
						
						  | 
					 
					
						To confirm that I could write 
						to 2532 EPROMs using this setup, I bought some test 
						pieces of eBay, two each of used TMS2532 (25V) and 
						TMS2532A (21V). 
  Although the advert advised that 
						they may not have been erased, I found that they were 
						blank If it had been necessary to erase them, I do have 
						a UV Eraser. | 
						
						   | 
					 
					
						When I tried to write the first 
						EPROM, the write failed about half way through and the 
						failure was repeatable. Since it was not failing at the 
						first byte and having seen similar problems when writing 
						some EEROMs, I suspected that it might just be a timing 
						problem.
  I experimented with the  "Delay" 
						parameter in the TopWin "Config" 
						tab and found that 5ms worked reliably. I need to do a 
						few more to be 100% certain, but it seems that I will 
						able to create Editor ROMs with this setup. | 
						
						
						   | 
					 
					
						Having proven that the adapter 
						works, I decided that I would like something a little 
						more robust. I designed a simple adapter board for my 
						TOP853 programmer and had some PCBs made up.
  Here 
						I have assembled the first one using a turned pin socket 
						that I had to hand but I have ordered a 12-pin ZIF 
						socket for the final version.
  I have some spare 
						PCBs if anyone is interested in buying one.
						
						Send me an e-mail | 
						
						
						  | 
					 
					
						Prices include UK P&P, but 
						exclude any payment fees, such as Paypal charges. 
						 Prices for the socket options include fitting the 
						socket and pin headers for connecting to your 
						programmer. | 
						
						
							
								| Bare PCB | 
								£5.00 | 
							 
							
								| With spring socket | 
								£7.00 | 
							 
							
								| With turned pin socket | 
								£8.00 | 
							 
							 
						 | 
					 
					 
				 
				
				Making Steve Gray's Editor ROM 
				Steve has developed a method of 
				producing customised Editor ROMs for PET/CBM computers, for full 
				details, see the
				
				Project web page on
				his 
				website. Steve's page provides a comprehensive description 
				of the features and options that can be included, including 
				portions added to support his
				
				Colour PET project.  
				To create a custom Editor ROM for a given system, the 
				required options are selected by setting appropriate values in 
				Assembler Directives in the 
				EDIT.ASM source 
				file and compiling the package using Marco Baye's ACME Assembler 
				to generate the binary file to be programmed into EPROM. (Many 
				of the options are either not relevant, e.g., the Colour PET 
				options, or outside the scope of my desire to make Editor ROMs 
				with the Wedge and a few other functions, to support petSD+.)  
				The assembler is hosted on 
				SourceForge on the
				ACME 
				Cross-Assembler page, a Windows binary for
				
				Version 0.95.6 is available from 
				emu64.de (a Commodore 64 Emulator). There is no install 
				program as such, you just need to extract the files to a 
				directory of your choice, preserving the directory structure 
				within the archive.  
				The source files for Steve's Edit ROM are hosted on
				GitHub at
				sjgray/cbm-edit-rom, 
				again, download the archive to a directory of your choice, 
				preserving the directory structure. Compiling the binary is done 
				by running the make.bat batch file, 
				which just runs the command "acme edit.asm". 
				The ACME assembler should either be in the search path, or, for 
				simplicity, in the same directory as the Editor ROM files.  
				Nils had given me a copy of the EDIT.ASM 
				file used to generate the Editor ROM that had been fitted in my 
				8096. To confirm that I was able to create ROMs from source 
				files myself, I compiled this file and wrote the resulting 
				binary to EPROM and installed it in my CBM8096. 
				Result! - It seems to work flawlessly 
				
				Making More . . . . . 
				A sample EDIT.ASM file is available here, it is the file used 
				to build the Editor ROM for my CBM8096. As I mentioned earlier, 
				it contains quite a lot of configuration entries that will not 
				apply to the majority of people. The table below contains a 
				subset of the configuration items that should allow me to build 
				an Editor ROMs for other systems. 
				The options greyed 
				out as "Not currently offered by me" are either because the 
				function is not fully implemented in the Editor code, or I don't 
				fully understand the implications of applying the option. If 
				someone really wants one of these options configured, I will do 
				so, but can't take any responsibility for the impact on the 
				usability of the target machine. 
				
					
						
							| 
							 
							
							Directive  
							 | 
							
							 
							Value  
							 | 
							
							 
							
							Meaning  
							 | 
							
							 
							Default   
							 | 
							
							 
							
							Comments  
							 | 
						 
						
							| 
							 
							
							CODEBASE 
							
							 
							 | 
							
							 
							0  
							 | 
							
							 
							
							4000  
							 | 
							
							 
							  
							 | 
							
							 
							
							PET Series  
							 | 
						 
						
							| 
							 
							
							  
							 | 
							
							 
							1  
							 | 
							
							 
							
							8000  
							 | 
							
							 
							✔ 
							 | 
							
							 
							
							  
							 | 
						 
						
							| 
							 
							
							  
							 | 
							
							 
							2  
							 | 
							
							 
							8296  
							 | 
							
							 
							  
							 | 
							
							 
							(No support for extended features) 
							 | 
						 
						
							| 
							 
							
							KEYSCAN   
							 | 
							
							 
							0  
							 | 
							
							 
							
							Graphic  
							 | 
							
							 
							  
							 | 
							
							 
							
							Keyboard scanner  
							 | 
						 
						
							| 
							 
							
							  
							 | 
							
							 
							1  
							 | 
							
							 
							
							Business  
							 | 
							
							 
							✔ 
							 | 
							
							 
							
							  
							 | 
						 
						
							| 
							 
							
							  
							 | 
							
							 
							2  
							 | 
							
							 
							
							Extended  
							 | 
							
							 
							  
							 | 
							
							 
							(Not currently offered by me)   
							 | 
						 
						
							| 
							 
							
							  
							 | 
							
							 
							3  
							 | 
							
							 
							
							Commodore 64  
							 | 
							
							 
							  
							 | 
							
							 
							(Not currently offered by me)   
							 | 
						 
						
							| 
							 
							
							KEYBOARD  
							 | 
							
							 
							0  
							 | 
							
							 
							
							Normal /Graphic 
							 | 
							
							 
							  
							 | 
							
							 
							
							Keyboard Type  
							 | 
						 
						
							| 
							 
							
							  
							 | 
							
							 
							1  
							 | 
							
							 
							
							Business (qwerty) 
							 | 
							
							 
							✔ 
							 | 
							
							 
							
							  
							 | 
						 
						
							| 
							 
							
							  
							 | 
							
							 
							2  
							 | 
							
							 
							
							German (DIN)  
							 | 
							
							 
							  
							 | 
							
							 
							
							  
							 | 
						 
						
							| 
							 | 
							
							 
							3  
							 | 
							
							 
							
							Commodore 64   
							 | 
							
							 | 
							
							 
							(Not currently offered by me)    
							 | 
						 
						
							| 
							 
							
							  
							 | 
							
							 
							4  
							 | 
							
							 
							
							Business  (modified) 
							 | 
							
							 
							  
							 | 
							
							 
							
							  
							 | 
						 
						
							| 
							 
							
							  
							 | 
							
							 
							5  
							 | 
							
							 
							
							Normal /Graphic (modified) 
							 | 
							
							 
							  
							 | 
							
							 
							
							  
							 | 
						 
						
							| 
							 
							
							  
							 | 
							
							 
							6  
							 | 
							
							 
							
							Business (qwertz) 
							 | 
							
							 
							  
							 | 
							
							 
							
							  
							 | 
						 
						
							| 
							 
							
							  
							 | 
							
							 
							7  
							 | 
							
							 
							
							CBM-II  
							 | 
							
							 
							  
							 | 
							
							 
							(Not currently offered by me)    
							 | 
						 
						
							| 
							 
							
							COLUMNS  
							 | 
							
							 
							40  
							 | 
							
							 
							
							40 Column  
							 | 
							
							 
							  
							 | 
							
							 
							
							Screen Width  
							 | 
						 
						
							| 
							 
							
							  
							 | 
							
							 
							80  
							 | 
							
							 
							
							80 Column  
							 | 
							
							 
							✔ 
							 | 
							
							 
							
							  
							 | 
						 
						
							| 
							 
							
							SOFT40  
							 | 
							
							 
							0  
							 | 
							
							 
							
							No  
							 | 
							
							 
							 ✔ 
							 | 
							
							 
							
							40 columns on 8032s?   
							 | 
						 
						
							| 
							 
							
							  
							 | 
							
							 
							1  
							 | 
							
							 
							
							Yes  
							 | 
							
							 
							  
							 | 
							
							 
							  
							 | 
						 
						
							| 
							 
							
							SS40   
							 | 
							
							 
							0  
							 | 
							
							 
							
							No  
							 | 
							
							   
							 | 
							
							 
							
							Software Switchable Soft-40 ?   
							 | 
						 
						
							| 
							 
							
							  
							 | 
							
							 
							1  
							 | 
							
							 
							
							Yes  
							 | 
							
							 
							 ✔ 
							 | 
							
							 
							(Not supported on 8296) 
							 | 
						 
						
							| 
							
							
							SS40MODE   | 
							
							40 | 
							
							  | 
							
							  | 
							
							
							
							Initial screen mode on boot-up 
							 | 
						 
						
							| 
							  | 
							
							80 | 
							
							  | 
							
							
							✔ | 
							
							  | 
						 
						
							| 
							 
							
							BOOTCASE 
							 | 
							
							 
							0 
							 | 
							
							 
							
							Text 
							 | 
							
							 
							✔ 
							 | 
							
							 
							
							Initial Screen Mode 
							 | 
						 
						
							| 
							 
							
							  
							 | 
							
							 
							1 
							 | 
							
							 
							
							Graphics 
							 | 
							
							 
							  
							 | 
							
							 
							
							  
							 | 
						 
						
							| 
							 
							
							REFRESH 
							 | 
							
							 
							0 
							 | 
							
							 
							
							Europe 
							 | 
							
							 
							✔ 
							 | 
							
							 
							
							Screen Refresh 
							 | 
						 
						
							| 
							 
							
							  
							 | 
							
							 
							1 
							 | 
							
							 
							
							North America 
							 | 
							
							 
							  
							 | 
							
							 
							
							  
							 | 
						 
						
							| 
							 
							
							  
							 | 
							
							 
							2 
							 | 
							
							 
							
							PAL 
							 | 
							
							 
							  
							 | 
							
							 
							
							External Monitor - Europe 
							 | 
						 
						
							| 
							 
							
							  
							 | 
							
							 
							3 
							 | 
							
							 
							
							NTSC 
							 | 
							
							 
							  
							 | 
							
							 
							
							External Monitor - NA 
							 | 
						 
						
							| 
							 
							
							MOTO6845 
							 | 
							
							 
							0 
							 | 
							
							 
							
							No 
							 | 
							
							 
							✔ 
							 | 
							
							 
							
							Is it a Motorola 6845 CRTC ? 
							 | 
						 
						
							| 
							 
							
							  
							 | 
							
							 
							1 
							 | 
							
							 
							
							Yes 
							 | 
							
							 
							  
							 | 
							
							 
							
							(Use no for compatibility) 
							 | 
						 
						
							| 
							 
							
							HERTZ 
							 | 
							
							 
							50 
							 | 
							
							 
							
							Europe 
							 | 
							
							 
							✔ 
							 | 
							
							 
							
							Line Frequency 
							 | 
						 
						
							| 
							 
							
							  
							 | 
							
							 
							60 
							 | 
							
							 
							
							North America 
							 | 
							
							 
							  
							 | 
							
							 
							
							  
							 | 
						 
						
							| 
							 
							
							REBOOT 
							 
							 | 
							
							 
							0 
							 | 
							
							 
							
							No 
							 | 
							
							 
							  
							 | 
							
							 
							
							Add keyboard reboot function ? 
							 | 
						 
						
							| 
							 
							
							  
							 | 
							
							 
							1 
							 | 
							
							 
							
							Yes 
							 | 
							
							 
							✔ 
							 | 
							
							 
							(Not supported on 8296) 
							 | 
						 
						
							| 
							 
							
							ESCCODES 
							 
							 | 
							
							 
							0 
							 | 
							
							 
							
							No 
							 | 
							
							   
							 | 
							
							 
							
							Add ESC Codes ? 
							 | 
						 
						
							| 
							 
							
							  
							 | 
							
							 
							1 
							 | 
							
							 
							
							Yes 
							 | 
							
							 
							 ✔ 
							 | 
							
							 
							(Not supported on 8296) 
							 | 
						 
						
							| 
							 
							
							SILENT 
							 | 
							
							 
							0 
							 | 
							
							 
							
							Normal 
							 | 
							
							 
							✔ 
							 | 
							
							 
							
							Disable BELL/CHIME 
							 | 
						 
						
							| 
							 
							
							  
							 | 
							
							 
							1 
							 | 
							
							 
							
							Disabled 
							 | 
							
							 
							  
							 | 
							
							 
							
							  
							 | 
						 
						
							| 
							 
							
							REPEATOPT 
							 
							 | 
							
							 
							0 
							 | 
							
							 
							
							No (Always ON) 
							 | 
							
							 
							✔ 
							 | 
							
							 
							
							Keyboard Auto-Repeat 
							 | 
						 
						
							| 
							 
							
							  
							 | 
							
							 
							1 
							 | 
							
							 
							
							Yes 
							 | 
							
							 
							  
							 | 
							
							 
							
							  
							 | 
						 
						
							| 
							 
							
							WEDGE 
							 | 
							
							 
							0 
							 | 
							
							 
							
							No 
							 | 
							
							 
							  
							 | 
							
							 
							
							DOS Wedge ? 
							 | 
						 
						
							| 
							 
							
							  
							 | 
							
							 
							1 
							 | 
							
							 
							
							Yes 
							 | 
							
							 
							✔ 
							 | 
							
							 
							
							  
							 | 
						 
						
							| 
							 
							
							WEDGEMSG 
							 | 
							
							 
							0 
							 | 
							
							 
							
							No 
							 | 
							
							 
							  
							 | 
							
							 
							
							Show Wedge Message ? 
							 | 
						 
						
							| 
							 
							
							  
							 | 
							
							 
							1 
							 | 
							
							 
							
							Yes 
							 | 
							
							 
							✔ 
							 | 
							
							 
							
							Displays "wedge active" on boot-up 
							 | 
						 
						
							| 
							 
							
							  
							 | 
							
							 
							2 
							 | 
							
							
							Colour 
							PET | 
							
							 
							  
							 | 
							
							 
							(Not currently offered by me)  
							 | 
						 
						
							| 
							  | 
							
							
							3 | 
							
							
							Colour 
							PET | 
							
							  | 
							
							(Not currently offered by me)  | 
						 
						
							| 
							  | 
							
							
							4 | 
							
							
							Custom | 
							
							  | 
							
							
							See edit.asm for info | 
						 
						
							| 
							  | 
							
							
							5 | 
							
							
							Custom | 
							
							  | 
							
							
							See edit.asm for info | 
						 
					 
				 
				  
				This creates an Editor ROM for a Series 8000 with a 
				business keyboard having a QWERTY layout, it will start up with 
				80 columns in text mode. It includes the DOS Wedge, keyboard 
				reboot function, extended Escape Codes and the "Software 
				Switchable Soft 40" option.
  On the basis that I seem to be able to 
				generate the ROMs, I am going to start making them available on 
				a trial basis. If anyone wants to purchase an Editor ROM 
				from me, they will need to understand and specify the 
				appropriate options for their system. Since I only have a single 
				PET, I won't be able to test the ROMs in a real PET before I send them, unless 
				you have exactly the same PET as I do. Steve has pointed out 
				that I can test the ROM firmware in 
						VICE so I 
				will do this for machines that I do not have available, i.e., 
				everything apart from an 8032/96
  So, I propose 
				that the first ones will be on a sale or return basis, if you 
				want one, you advise me of the configuration that you need, I 
				build an EPROM for you, you pay for it and I send it to you. 
				However, if it does not work as per your expectations, you send 
				it back (at your cost) and I will refund the purchase price. 
				Until I can demonstrate that the process works well, to keep the 
				costs down, I plan on using "pre-owned" EPROMs, please be aware 
				that the part you will receive will NOT 
				be new, but the program will have been read back and verified on 
				my EPROM programmer.
  
				
					  29/10/2015 Introductory Price : £5 + 
					Postage
   Update : 07/12/2017 
				 I have picked up a few more used 2732 EPROMs, so I am able 
				to create some more Edit ROMs if anyone is interested. 
  
				Since I put this page together, Steve has continued to develop 
				his Editor ROM package and has also made a number of pre-built 
				binaries available in the
				
				binaries folder on his Github page. You are likely to find 
				one of Steve's pre-built ROMs will meet your needs, rather than 
				having to specify the individual options in my table above. If 
				you do want to get an Editor ROM from me, please take a look at 
				Steve's binaries first, then just let me know which one you 
				would like programmed. 
				
  Software Option ROMS 
				 There were a few PET programs that required that a companion 
				ROM was installed in one of the PET's option ROM slots to enable 
				the software. The ROMs that I have copies of, and can generate 
				for you, are listed in the table below; drop me an e-mail if you 
				would like me to generate one for you (for a nominal fee).  
				 PETs normally have only two unpopulated ROM slots which 
				would make it a bit inconvenient if you need to use more than 
				two additional ROMs. If you need the flexibility to use more 
				then two, you might like to check out
				Nils Eilers' SoftROM 
				(this page is in German).
  
				
					
						| Program | 
						Description | 
						Source | 
					 
					
						| VisiCalc | 
						The first commercial spreadsheet program | 
						Michael Umlauf  | 
					 
					
						| PaperClip | 
						Execudesk Word Processor (CBM 
						8296 only) | 
						Bo Zimmerman | 
					 
				 
				
 
  
				 |