|
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 |
|