• Please review our updated Terms and Rules here

SuperPET Waterloo Languages and bitfixer PetDisk Max v2

Almost gave up but…
Details to follow!
 

Attachments

  • IMG_0228 Medium.jpeg
    IMG_0228 Medium.jpeg
    62.6 KB · Views: 11
  • IMG_0234 Medium.jpeg
    IMG_0234 Medium.jpeg
    53.9 KB · Views: 11
  • IMG_0233 Medium.jpeg
    IMG_0233 Medium.jpeg
    101.8 KB · Views: 11
I'll do a writeup when I get a moment.

The edit program, a few languages, and getting a directory of the host (pc) work but I have yet to get a good version of BASIC loaded. I've tried several versions from zimmers so I think it's data errors during the long 60K+ transmit.

Sometimes the transmit ends but the pet still thinks it's "loading". Other times it loads but with a few weird characters on the screen and doesn't respond to keypresses.

I have the serial flow control lines "hard wired" on the pet side (per the SuperPET serial port manual examples) but hope to get them connected to the usb-Serial adapter. I'm thinking some actual flow control might fix transmission errors and get BASIC loaded.
 

Attachments

  • IMG_0235 2.jpeg
    IMG_0235 2.jpeg
    272.6 KB · Views: 2
>>> I'm thinking some actual flow control might fix transmission errors and get BASIC loaded.

Highly likely (if the hardware handshake lines have been 'tied').

Dave
 
>>> I'm thinking some actual flow control might fix transmission errors and get BASIC loaded.

Highly likely (if the hardware handshake lines have been 'tied').

Dave
Do you happen to have a SP 6809 memory test program? Now I'm thinking that I might have a bad memory chip that is preventing the larger languages from loading properly.
 
Success!!

I ended up pulling out all the ram chips and testing them with my cheapo-tester. I found two bad ones.

With the bad ram replaced, I was able to load Basic via the cmhost utility!

The basic language is larger than the ones I was able to load before (ie. fortran, edit) and must have been hitting the bad ram in upper memory preventing a clean load.

I was assuming the lack of serial flow control lines was causing the bad loading, but last night I had the idea of having bad upper-memory ram.
 

Attachments

  • IMG_4880.jpeg
    IMG_4880.jpeg
    1.9 MB · Views: 8
  • IMG_4879.jpeg
    IMG_4879.jpeg
    2.3 MB · Views: 8
  • IMG_4877.jpeg
    IMG_4877.jpeg
    2.9 MB · Views: 8
Excellent work. I am looking forward to your report. It appears the PETDisk gadgets did not work and you used daver2's serial communication method to an external host?
 
Here's a document that outlines the steps I took to get HOSTCM working with my SuperPet.
I hope this is helpful to the Pet community.

Special thanks to Dave (daver2) for his guidance and patience!
 

Attachments

No problem. Glad to help.

That looks a very useful guide.

I am just wondering now whether it is relatively easy to change the default baudrate to 9600 within the firmware (so you don't need to do that step) or even push the default baudrate higher?

Dave
 
I thought I had seen disassemblies of the ROM somewhere. Found them here:


I will take a look when I fire up my laptop later.

You should be able to push the baudrate higher with your configuration to see if we can get a better response time (whilst still being reliable in operation) and I will have a look to see where the default baudrate is configured in the firmware.

Dave
 
In the version of the SP9000 firmware disassembly on Mike's website, it looks like the subroutine to initialise the default baudrate at start-up is hardcoded into the firmware at a symbol called sysioinit located at C1F5.

The relevant line of code is located at address C217 and contains three (3) bytes "CC 09 60". The $0960 is the baudrate value.

$0960 (hex) is 2400 (decimal).
$2580 (hex) is 9600 (decimal).
$4B00 (hex) is 19200 (decimal) - the highest baudrate in the SP9000 table. But I will check this later, just in case we can push this ACIA faster...

So, to set the default baudrate to (say) 9600 on start-up we would change the three (3) bytes in ROM at address C217 from "CC 09 60" to "CC 25 80".

In order to do this, we need to locate which ROM contains the data bytes we are interested in (containing address C217). Load the contents of that ROM into an EPROM programmer. Check that the loaded contents match the expected bytes at that address. Modify the two bytes containing the baudrate to that desired. Burning a new EPROM. Loading the new EPROM onto the SP9000.

If this doesn't work, we can always revert to the previous ROM...

There may be more than one release of SP9000 firmware - where the subroutine sysioini is at a different address. In this case, the three (3) bytes at address C217 probably will not match what we are expecting.

This is my initial assessment at any rate.

Dave
 
It looks like the highest baudrate (using the existing crystal and the 6551 ACIA internal baudrate generator) is 19,200 bits/second.

However, by setting the baudrate to 0, and using an external clock (connected to pin 5 of the 6551 ACIA - marked as TP1 on the combined SP9000 schematic), this can increase the baudrate quite dramatically. However, this does require a hardware modification of course.

I have found that the crystal marked on the combined SP9000 schematic is identified (incorrectly) as 1.6432 MHz. It should be 1.8432 MHz (identified correctly on the parts list / Bill of Materials).

Dave
 
Last edited:
Both ROM images on the Zimmers website for the SP9000:

1738154340521.png

contain the expected content at offset $0217 (CC 09 60). Changing this to "CC 25 80" or "CC 4B 00" should (if I am correct) change the default serial speed to 9,600 bits/second or 19,200 bits/second respectively.

Obviously, use whichever image is applicable for your machine ROM size.

Also, check that your ROM image contains the same code as that downloaded from the Zimmers website before patching it and using it in your SP9000 (just in case you have a different firmware revision in your machine). If this is the case, please make available your ROM images (if you can) and I will endeavour to identify the patch. I would assume your ROM images (if they are different) will not have the same part number on them as the ones on the website.

Dave
 
Very interesting. I’ll take a peek. Yes, the cmhost utility could be changed to a different default rate. Just 19200 on the pet side would be great.
 
Back
Top