• Please review our updated Terms and Rules here

PET 2001 with Rabbit ROM

I see you have BASIC version 2 or 3.

let me think...

Can you try "SYS 1024" and see if you enter the little machine code monitor please?

Dave
 
If its refusing to sys 40960 because its over range then it must be expecting the MSB to be a sign bit so the range will be - 32768 to +32767.

The negative would then be sys -24576. Both are 1010000000000000 in binary which is hex A000 but interpreting the most significant bit as a sign bit.

Again, the windows 10 calculator in programmer mode is very useful :)

Seem to remember having to do this with another machine very recently.

Dumping the ROM would be a good idea but not sure if the OP has the facility.
 
Gary,

>>> Seem to remember having to do this with another machine very recently.

With other machines, yes. My investigation into PET BASIC seems it is happy with unsigned numbers greater that 32767. It may not be true, but it is in the manuals.

>>> Dumping the ROM would be a good idea but not sure if the OP has the facility.

SYS 1024 to enter TIM and then dump the ROM in 'pages' photographing the screen for every page. We can then 'stitch' the ROM contents back together again! Slow, but doable.

This could be quite a useful ROM to have if you have a standard PET and want to improve the cassette speed!

Dave
 
Last edited:
Hi Michael,

As this is your first post, welcome to VCFED.

Don’t forget to update your profile with your location. Also please be aware that you will be moderated for your first 10 posts and you will not be able to send direct messages until then either. This keeps the spam very low on the board for a small inconvenience for new users.

What we are trying to find (and so far failed) is the information related to the ROM variant of the software if you fancy chasing that down.

The key thing we are missing is the SYS entry point to start the ROM. We are guessing at 40960 but, for some reason, the OP is not having much luck with that address?

Dave
 
Hi Michael,

As this is your first post, welcome to VCFED.

Don’t forget to update your profile with your location. Also please be aware that you will be moderated for your first 10 posts and you will not be able to send direct messages until then either. This keeps the spam very low on the board for a small inconvenience for new users.

What we are trying to find (and so far failed) is the information related to the ROM variant of the software if you fancy chasing that down.

The key thing we are missing is the SYS entry point to start the ROM. We are guessing at 40960 but, for some reason, the OP is not having much luck with that address?

Dave
Thank you Micheal, that is indeed the description of the Rabbit whose ROM I have in my PET
I'm going to try to read the ROM now to be able to share the content
Greetings Ad
 
That is correct.

So the SYS command actually works...

So either it doesn't like the parameter 40960 (in which case we can convert it to a negative number), or when it does enter the the ROM at the address we specify - it ends up back in BASIC and reporting an error (without crashing the machine).

Dave
 
So as we know sys 40960 gives a syntax error, we need to know what sys -24576 gives, did you try that as suggested ?

can someone check my signed binary maths ?
 
But oddly the BASIC 4.0 manual states

SYS (start address) The start address can be a computed value. In either case, it must result in a positive number not greater than 65535

But its not basic 4.0 !
 
Last edited:
Even the ‘original’ PET BASIC manual referred to the parameter for SYS being in the range 0 through 65535.

Of course, the parameter is a REAL not an INTEGER, so the expression 10*4096 is perfectly valid.

I suspect (if SYS 40960 returns an error) then it is possibly the code that is being executed that is raising the error (i.e. offset 0 of the ROM may not be the entry point).

Just surmising... Let’s see what the ROM image yields.

Dave
 
adko to dump the ROM, from the .

type M A000 A080 and it will dump out the first 80 lines, adjust the range to fill a screen and take a picture then dump the next page.
 
Even the ‘original’ PET BASIC manual referred to the parameter for SYS being in the range 0 through 65535.

Of course, the parameter is a REAL not an INTEGER, so the expression 10*4096 is perfectly valid.

I suspect (if SYS 40960 returns an error) then it is possibly the code that is being executed that is raising the error (i.e. offset 0 of the ROM may not be the entry point).

Just surmising... Let’s see what the ROM image yields.

Dave
I have tried sys -24576 and sys 40960 but no response and I have tried to read the rom with M A000 A080 but it also does not respond
I have some knowledge about DOS, but BASIC is new to me, so maybe I'm doing something wrong
22.jpg
Greets Ad
 
adko to dump the ROM, from the .

type M A000 A080 and it will dump out the first 80 lines, adjust the range to fill a screen and take a picture then dump the next page.
I have tried sys -24576 and sys 40960 but no response and I have tried to read the rom with M A000 A080 but it also does not respond
I have some knowledge about DOS, but BASIC is new to me, so maybe I'm doing something wrong
22.jpg
greets Ad
 
I have tried sys -24576 and sys 40960 but no response and I have tried to read the rom with M A000 A080 but it also does not respond
I have some knowledge about DOS, but BASIC is new to me, so maybe I'm doing something wrong
View attachment 1238822
greets Ad
Ooops, sorry. YOu need to drop into the monitor program first with the command sys 1024. That runs a little program called TIM which allows you to look at the processor registers and scan memory

So type

sys 1024, get the register display as you saw in post #29

then at the full stop prompt type

M A000 A080 and it should put some hex numbers on the screen. That is the contents of each memory location. We believe the ROM starts at A000 in hex and TIM understands HEX so its the easiest to use.

However what you posted above was interesting, it means that the sys command doesn't understand negative memory references so the sys 40960 is returning an error by attempting to run code from that point rather than the command itself not working, which is interesting.

It would be great if you knew someone locally who could read the ROM in a compatible programmer then send the file to us, is there anyone you know at all ?
 
Ooops, sorry. YOu need to drop into the monitor program first with the command sys 1024. That runs a little program called TIM which allows you to look at the processor registers and scan memory

So type

sys 1024, get the register display as you saw in post #29

then at the full stop prompt type

M A000 A080 and it should put some hex numbers on the screen. That is the contents of each memory location. We believe the ROM starts at A000 in hex and TIM understands HEX so its the easiest to use.

However what you posted above was interesting, it means that the sys command doesn't understand negative memory references so the sys 40960 is returning an error by attempting to run code from that point rather than the command itself not working, which is interesting.

It would be great if you knew someone locally who could read the ROM in a compatible programmer then send the file to us, is there anyone you know at all ?
I think I'm doing something wrong Gary
33.jpg
After the M I use a space
 
Back
Top