Date : Mon, 15 Aug 1994 05:17:59 PDT
From : Stephen_Youell.wgc-e@...
Subject: Re: Late-night problemo!
Received: by samwise.wgc.rx.xerox.com (4.1/SMI-4.0) id AA24461; Mon, 15 Aug 94
13:17:52 BST
> Beeb) and then (via the instruction at &F17B) does a JSR &8003. This
> causes my emulator to report a non-existent instruction - opcode &1F.
If you have a look at the first part of the Basic rom it does something
different from most other roms. 8003 is usually a JMP instruction (JSR
possibly) which jumps into the correct place in the rom. The language entry
point is a 8000 - I think, I could be completely wrong there. In the basic
rom, there is no JMP there is a CMP and branch which is foul in my book.
I have a feeling 8003 is the service entry point ( I wish I had my Adv User
Guide on me) so the 1F is for the language entry point to jump forward to
8022. Hideous I know.
> beeb to determine where BASIC is actually supposed to be. I find HACKROM
> by James Bonfield and Stephen Youell to contain a useful collection of *
> commands, I particularly like using *RLIST to verify what ROMs I currently
> have loaded.
Thanks, we intended it to be what hackers wanted, tells you what you want to
know and everything that you could possibly want to know at that.
> I am not sure about &8003, but non-instructions are executed
> as NOP instructions.
WRONG!!!!! - ish ;-)
If you look at the 6502 instruciton set it is grouped into 1, 2 and 3 byte
instructions. If there is an unknown instruction in a 3 byte group the
program counter will increment by three, skipping the next two bytes,
similarly for 2 byte instructions. James B's *MEM command handles this very
nicely. Watch out for this everyone! If you are not handling this 'feature'
(which you won't need to 99.9% of the time) you won't have a true emulation.
Plus, is anyone emulating the bugs in the 6502. There is one about indirect
addressing on page boundaries I think. If anyone would like to elaborate on
anything I've said please do, I'm guessing mostly on the Basic Rom stuff. I
know James B knows a lot in this area.
Steve Youell