Page 1 of 1

STAR in Oricutron

Posted: Fri Aug 17, 2012 10:24 pm
by Xeron
It has been reported that the game STAR does not work in Oricutron 0.9 (see bug report and grab the tape image from here).

I have investigated the problem, but I'm really confused! Here is the description of my findings that I posted to the bug report:
Hmm this one is interesting. Once STAR has loaded, the CPU jumps to RAM containing complete nonsense. Lots and lots of BRKs and illegal instructions. It executes from $0501 to around $ff4.

Because Euphoric doesn't emulate illegal operations, it just skips 1 byte when it reaches them, which means it ends up executing the instruction at address $ff4, which is a jump to $6400.

Oricutron, however, executes illegal instructions. Right before the jump to $6400 is a bunch of $FF bytes, and $FF is a 3-byte illegal opcode. This means that at the end of the $FF byte region, Oricutron ends up at address $ff5 (the JMP opcode at $ff4 is interpreted as part of the last $FF instruction @ $ff2). This means instead of jumping to $6400, Oricutron executes a BRK followed by an RTS and ends up back at the BASIC prompt.

Indeed, if I disable illegal opcode handling in Oricutron, STAR works perfectly.

Now, apparently $FF is a DIFFERENT illegal opcode on 65c02, and may even be 2 bytes instead of 3. But the Oric usually has a 6502, not 65c02!

What I can't understand is why this works on your real Oric. Does your Oric have a 65c02 by any chance?
So... could someone with real hardware convert the exact .tap file linked to in that bug report and load it on a real oric with a 6502 and a 65c02 and tell me if it works on both machines?

Re: STAR in Oricutron

Posted: Sat Aug 18, 2012 9:19 am
by Dbug
I tried yesterday - and this morning again, could not manage to load it on my Pravetz, but I regularly have the reliability problem when loading tapes...

Re: STAR in Oricutron

Posted: Sat Aug 18, 2012 10:26 am
by kenneth
with ORICUTRON when I write:

CLOAD""
CALL #FFA

STAR runs correctly, but it's not the answer of the problem...
however some illegal instruction makes good result with a real ORIC (mine works with a 6502A processor)

Initially there may be a little program before the main one and the missing bootstrap doesn't disturb the process of a real ORIC.

Re: STAR in Oricutron

Posted: Sun Aug 19, 2012 9:50 am
by Chema
Hi all.

I've been on vacation with no regular access to the Internet, and now I have tons of emails and things to put up-to-date, but could not resist to attend this one as soon as I saw it.

I converted the game to wav and cloaded it into my Atmos. It loaded, auto-started and worked perfectly. My oric is an Oric-1 converted to an Atmos.

Just in case this helps...

Re: STAR in Oricutron

Posted: Wed Aug 29, 2012 7:46 pm
by ibisum
Works for me on both Oric-1 and Atmos machines. Strange!

Re: STAR in Oricutron

Posted: Sat Sep 01, 2012 12:12 pm
by Symoon
I tested with Oricutron 0.9 and my own tape transfer, and it seems to work fine :D
This probably simply illustrates how many bad TAP files are around on the Internet!
The simple fact that the loading name is "STAR.TAP" on the crashing version proves that the transfer is suspicious, being not directly done (and thus not checked) from the tape content.


EDIT: now it still can be interesting to understand why something apparently working on real hadware doesn't work on an emulator, would it be bugged or not. But if the goal is to play Star, then there you are.