Date : Fri, 19 Nov 2010 15:01:03 +1100
From : plexer@... (James McGill)
Subject: BBC file formats
I strongly suspect that this is a tokenized Basic file (especially
given that it starts with &0D), but it isn't one that I'm able to
decode. I've tried a few different programs but they all die, and I
think I know why. The first few bytes of the program are (in hex):
0D FF 4C F5 1D A0 05 8C B1 22 A9 81
Which as far as I know means: (newline) (end of program) (other stuff)
If I ignore the end of program marker and try and decode the line anyway I get:
"Line number: 65356
"Length: 245"
"Data:
EVALTHENPOS"LENDIVGET$RAD"EVALOSCLI REM????"??"??`?8???
L?????"
I also tried disassembling this as if it were 6502 machine code and
the results appeared to be mostly garbage, but I haven't stared too
closely. Notably it involved chains of JMPS to out of bounds memory
locations, which suggests to me that this probably isn't machine code.
Any thoughts? Is it possible that the program is somehow modified at
runtime so that it can be decoded correctly, or that the MONSTRS file
(used to CHAIN) loads only a subset of the original program somehow?
Regards,
James
On Fri, Nov 19, 2010@... AM, J.G.Harston <jgh@...> wrote:
> James McGill wrote:
>> The game I'm looking at is AcornSoft ?Monsters, and I have a copy on
>> my linux box in .IMG format (as well as a physical copy on cassette).
>> I used BBC Explorer ?to open the disk and extract two files - MONSTRS
>> and MONST-M, but now I'm not quite sure what I'm looking at. MONST-M
> ...
>> Is anyone aware of a way to disassemble or decode these files?
>
> If you can see them in BBC Explorer (or *INFO *.* when mounted by
> an emulator) it should show for load and execution addresses. BASIC
> will tend to be something like 001900/008023, FF1900/FF8023 or similar,
> or sometimes FFFBxx/xxxxxx if it's been RISC OS filestamped. Also BASIC
> files start with <cr> (&0D).
>
> The filenames suggest that MONSTRS is the file to CHAIN, and MONST-M
> is the machine code - suggested by the trailing "-M". If examining
> MONSTRS reveals a string that looks like a "*LOAD MONST-M" or
> "*RUN MONST-M" command that would confirm it.
>
> If you want to disassemble machine code, tools are available at
> http://mdfs.net/Software/Assembler/DisAssem
>
> --
> J.G.Harston - jgh@...
>
>
> _______________________________________________
> bbc-micro mailing list
> bbc-micro@...
> http://lists.cloud9.co.uk/mailman/listinfo/bbc-micro
>