<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Wed, 10 Sep 2003 16:37:00 +0100
From   : Andrew Hancock <Andrew.Hancock@...>
Subject: Re: Best Documentation on Rom Format

 
Ben

I wrote a program for the BBC Micro/Master years ago, which encoded basic
programs to run in Sideways RAM/ROM, that could then be run with the
*COMMANDS.

Not strictly RFS, as this is just life the Tape Filing System but within
ROM.

From memory, we could have used RFS, but didn't want users access to the
Basic/Assembler Programs, that they could have LOADed"" or CHAINed"".

So we encoded/stored them into RAM/ROM, used *COMMANDS to execute and LOAD
and RUN the programs, and used various other tricks to clear memory upon
CTRL-Break/Escape/Break etc. So users couldn't get at the basic/assembler
code.

Seems a bit OTT now. Some time this year, I said this last year when I get
the time, I need to get the BBC Development Stuff out of Stores and have a
look at it.

Regards

Andrew




-----Original Message-----
From: Brian Widdas [mailto:brian@...] 
Sent: 10 September 2003 16:14
To: BBC Micro
Cc: bbc-micro@...
Subject: Re: [BBC-Micro] Best Documentation on Rom Format


On Wed, 10 Sep 2003, [iso-8859-1] BBC Micro wrote:

> What is the best documentation that I can get from the
> web regarding the layout of BBC B rom images?
>
> The Problem:-
>
> I have a rom image that seems to contain basic code as
> well as machine code.  I want to find where the code
> associated with each of the roms star commands is. I
> can dissasemble with Exmon II so thats no problem.

The three bytes at &8003 (offset of 3 bytes into the ROM) will (most
likely) contain a JMP instruction to an address further within the ROM.
The code here is for handling service requests to ROMs, and should do
something along the lines of checking for the service code which indicates
an unknown OSCLI command (I think it might be 4, but I could be wrong).
Most likely, you'll find some kind of lookup table of OSCLI commands to
addresses, but it's impossible to say what it'll look like as it's up to
the individual ROM programmer as to how they write it.

As it contains BASIC code, an alternative possibility is that it's a ROM
Filing System (RFS) ROM. An RFS ROM is basically a small ROM header and
service call handler which points to a block of ROM containing files,
encoded in the same way as Cassette Filing System data (yes, really,
blocks, headers and CRCs included...). Try going into RFS (I /think/ it's
*ROM, but CTRL+R+BREAK will also do it) and typing *CAT

Brian
-- 
brian@...   > fortune
You are wise, witty, and wonderful, but you spend too much time reading
this sort of trash.
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>