• Please review our updated Terms and Rules here

PET 2001 with Rabbit ROM

adko

Member
Joined
Jan 7, 2022
Messages
36
Location
The Netherlands
Hello everyone on this beautiful site, does anyone have experience working with the Rabbit ROM in a PET ?
The PET has 32k and runs with Basic 2, this ROM was already in the PET when I bought it
I know that using this ROM will make the cassette load 4X faster
But I don't know how to apply or activate it,there is a sticker on the ROM that says Rabbit A000
Does anyone have the description or advice on this so that I can start using this ROM
Thank you very much, greetings Ad

petdemo2.jpg

IMG_6810.jpg

IMG_6811-2.jpg
 

Attachments

  • 1645109793840.png
    1645109793840.png
    312 bytes · Views: 6
Last edited:
I can see your problem... Googling Rabbit PET is going to prove a challenge!

SYS 40960

Might be the obvious thing to try .. or dump the ROM and share it
 
See:


Or:


I haven't found reference to the ROM variant yet though...

Dave
 
Last edited:
I can see your problem... Googling Rabbit PET is going to prove a challenge!

SYS 40960

Might be the obvious thing to try .. or dump the ROM and share it
Thank you for your response Nivag, unfortunately the sys 40960 does not work
But good to know that you can search with google, I didn't know that yet
What I did find on google are two versions:
sys 10*4096 for the 3.0 rom and sys9*4096 for the 4.0 rom
But both don't work
Should I perhaps replace the * with a different value ?
Thank you very much, greetings Ad
 
See:


Or:


I haven't found reference to the ROM variant yet though...

Dave
Thank you for the good information Dave, I'm going to get started with this and hope to get it working
If I succeed I will let you know, thanks again
Greetings Ad
 
Get your trusty programmers calculator out and try 10*4096 when converted to Hex - you get $A000 and then try 9*4096 when converted to Hex - you then get $9000.

The only difference is that the SYS call parameter specifies the base entry point of the ROM in a different socket ($A000 as opposed to $9000).

If the label on the ROM is $A000 - then that is the start address (assuming the start address is the first location of the ROM).

When you say 'they don't work', what do you actually mean?

Dave
 
But good to know that you can search with google, I didn't know that yet
I think you mis-interpreted my meaning. What I was trying to say was that a google for "pet rabbit" is likely to produce many unhelpful results. Anyway it's nice that you already know google has a search facility.

I believe that UD4 is the $A000 expansion ROM socket, so that is consistent with the label. That's why I guessed that the entry point would be $A000 i.e. 40960 (decimal)... looks like that guess didn't pay off.
 
Get your trusty programmers calculator out and try 10*4096 when converted to Hex - you get $A000 and then try 9*4096 when converted to Hex - you then get $9000.

The only difference is that the SYS call parameter specifies the base entry point of the ROM in a different socket ($A000 as opposed to $9000).

If the label on the ROM is $A000 - then that is the start address (assuming the start address is the first location of the ROM).

When you say 'they don't work', what do you actually mean?

Dave
If I enter both codes, I get the following messages on my screen
Maybe I am doing something wrong entering the code to start the Rabbit ROM?
IMG_68172.jpg
 
I think you mis-interpreted my meaning. What I was trying to say was that a google for "pet rabbit" is likely to produce many unhelpful results. Anyway it's nice that you already know google has a search facility.

I believe that UD4 is the $A000 expansion ROM socket, so that is consistent with the label. That's why I guessed that the entry point would be $A000 i.e. 40960 (decimal)... looks like that guess didn't pay off.
Hi Nivag, yes you are right if I search differently then I get a lot of rabbit games
If I enter both codes, I get the following messages on my screen
Maybe I am doing something wrong entering the code to start the Rabbit ROM?
IMG_68172.jpg
 

Attachments

  • 1645268778686.png
    1645268778686.png
    312 bytes · Views: 1
The numbers seem to be 10 times 4096 and 9 times 4096. Its trying to indicate where the ROM appears in the memory map. ie the 9th 4k block or the 10th 4k block, or to put it another way, beginning at $9000 hex or $A000 hex.

so try $9000 & $A000 which are 36864 and 40960 in decimal, so try sys 36864 and sys 40960 :) (windows includes a calculator with a 'programmer' option to make conversion easy, try it)

The values of 104096 & 94096 are greater than the range of memory in a pet which is $FFFF hexidecimal or 65536 in decimal
 
Last edited:
Of course, while the rom might be mapped at 40960, the entry point to the program could be anywhere from there to 40960+45055

Is this a turbo tape loader do we think ?
 
Last edited:
Yes, this is primarily a turbo tape loader.

You have missed the important ‘*’ character out of the SYS command! Computers are so unforgiving in that they expect to be told exactly what to do...

Assuming the ROM is addressed at $A000, Then (as has been pointed out) the command is:

SYS 10*4096

or:

SYS 40960

Try either of the above and see what you get.

Dave
 
Once you have sucessfully sys'ed the ROM, im not sure you will see anything and need to use the Rabbit commands to load and save. Dave will know exactly how it does it but basically it adds extra commands to the operating system.

12 RABBIT COMMANDS

SS - Save with short leaderD - Convert decimal # to hex #
SL - Save with Iong leaderH - Convert hex # to decimal #
L - Load a programZ - Toggle character set
V - Verify a programK - Kill the Rabbit
E - Load and then run* - Go to monitor
T - RAM Memory Test G - Go to Machine Language Prog

Example: L "STAR TREK",2 or T 1,400,1FFF

found here https://ia601607.us.archive.org/7/items/EasternHouseSoftwareCatalog/Eastern House Software Catalog.pdf

Actually seems a very useful addition for a tape only PET.
 
Last edited:
That’s what I want to see what happens...

The answer should be nothing!

The initialisation code should just install a ‘wedge’.

The key thing is, does the machine crash or not :)...

All commands are prefixed by a ‘*’. This is what the ‘wedge’ intercepts.

Dave
 
Hi all, I have tried all sys commands with * and without * but unfortunately doesn't work
Also the codes *L, *S etc do not work
I think I'm going to check the rom first to see if it is properly installed in the motherboard
Maybe a bad contact
I'll keep you posted and thanks again for your information
Greets Ad
 
The sys command is only to get the rom program into action.

SYS 40960 tells the PET to run the machine language code from that memory location. Then when it runs, it should put some code into memory to intercept the Rabbit commands when you type them in at the command prompt

So, if you type LOAD, the bit of code will see that and pass it on to the normal PET system to run, but if it sees a Rabbit command, it will run its own bit of code.

Dave pointed out the * because it is the multiplication character so SYS 10*4096 is the same as SYS 40960. The problem is we dont know where the entry point is to the initialising program so SYS 40960 may be attempting to run a bit of code that could do anything at all (and if this is not the entry point to the Rabbit initialising code, would probably be garbage)

So, type SYS 40960 and it should go back to ready

then type SS "STAR TREK",2 and see if it does anything.

I note Dave said the commands need to be prefixed with a *, so also try *SS "STAR TREK",2
 
When you enter the “SYS n” command you are telling the CPU to start executing machine code at the address specified.

If you get the “ready” prompt back, it is quite likely that the SYS command actually worked!

If the machine ‘crashes’, then it didn’t work.

Can you enter the “SYS 40960” command and post a picture of the resulting screen please?

We can then work on the next part of the problem...

Dave
 
Hi Gary and Dave, I have applied your information but unfortunately without good results
I did enter the "SYS 40960" and took a picture
IMG_68181.jpg
All games and programs that normally load and start without rabbit all work, only the tapefiles loads at original speed
But I don't get any errors or crashes
Greets Ad
 
Last edited:
EDIT: Well, you get an error "?syntax error" after you have entered the SYS command...

Try "sys 40960" instead (in lower case).

Failing that, we may have to convert 40960 to its negative equivalent.

Dave
 
Last edited:
Back
Top