Oricutron v0.1 (now 0.8)

Comments, problems, suggestions about Oric emulators (Euphoric, Mess, Amoric, etc...) it's the right place to ask. And don't hesitate to give your tips and tricks that help using these emulations in the best possible way on your favorite operating system.
Godzil
Squad Leader
Posts: 756
Joined: Sat May 21, 2011 7:21 pm
Location: Between UK and France
Contact:

Post by Godzil » Wed Jan 25, 2012 1:09 pm

Dbug wrote:Definitely works on real hardware, both on my Atmos and Pravetz. I believe Jede had it running on his Telestrat as well: We have a funky boot loader that uses relocatable code to work whatever the location chosen by the boot rom to load the code.

I believe the only demo that was not tested completely on real hardware was my first 'Just Oric' demo, the one you fixed. (Individual parts were tested, just not the whole stuff all together with the loader).

Now it's possible that our code is buggy and works only because the real microdisc is much slower than emulators.
By emulator, do you mean software emulator like euphoric/oricutron, or Floppy emulators?

User avatar
Xeron
Emulation expert
Posts: 382
Joined: Sat Mar 07, 2009 5:18 pm
Contact:

Post by Xeron » Wed Jan 25, 2012 2:52 pm

@dbug

Actually, that's a very good point. There is a bug in quintessential, in that it leaves the irq vectors in an invalid state while they are enabled. It just happens that when run on real hardware with a real microdisc, this window of opportunity for a crash occurs between timer 1 overflows, so it is never triggered.

Now, all the timings in Oricutron are very close to real hardware, with two notable exceptions; disk drive and turbotape. It seems the fast drive moves the timing of the demo off so that the crash occurs.

@godzil
This would be an issue for floppy hardware emulators, too.

Godzil
Squad Leader
Posts: 756
Joined: Sat May 21, 2011 7:21 pm
Location: Between UK and France
Contact:

Post by Godzil » Wed Jan 25, 2012 4:23 pm

Xeron wrote:@dbug

Actually, that's a very good point. There is a bug in quintessential, in that it leaves the irq vectors in an invalid state while they are enabled. It just happens that when run on real hardware with a real microdisc, this window of opportunity for a crash occurs between timer 1 overflows, so it is never triggered.

Now, all the timings in Oricutron are very close to real hardware, with two notable exceptions; disk drive and turbotape. It seems the fast drive moves the timing of the demo off so that the crash occurs.

@godzil
This would be an issue for floppy hardware emulators, too.
Ok, I understand now what is the problem

User avatar
Xeron
Emulation expert
Posts: 382
Joined: Sat Mar 07, 2009 5:18 pm
Contact:

Post by Xeron » Thu Jan 26, 2012 8:44 pm

I did some tests, and if I change the speed of the disk emulation, the demo crashes in different places (e.g. Just before the rasterbars), so it seems our theory is correct.

User avatar
Dbug
Site Admin
Posts: 2366
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Post by Dbug » Thu Jan 26, 2012 10:29 pm

Well well well.
Guess it's another bug in the loader :)

What is the bug exactly, what do you mean by "leaves the irq vectors in an invalid state"?

User avatar
Xeron
Emulation expert
Posts: 382
Joined: Sat Mar 07, 2009 5:18 pm
Contact:

Post by Xeron » Fri Jan 27, 2012 5:44 pm

At least while the Eat Me picture is on the screen, the VIA timer 1 interrupt is enabled, timer 1 is timing away, and the IRQ vector points to this code:

JSR $2020
JSR $4040
RTI

.. but at $2020 there is no code, just garbage. So during that time, if Timer 1 overflows, its game over.

vrozos
Officer Cadet
Posts: 63
Joined: Mon Nov 21, 2011 12:36 pm
Location: Athens, Greece
Contact:

Re: Oricutron v0.1 (now 0.8)

Post by vrozos » Thu Feb 16, 2012 11:10 am

Is there any method to CSAVE from Oricutron? I wrote a few Basic lines and I want to keep them for a later use. I tried to insert a tape (a zero bytes tap file) but Oricutron writes nothing to it.

V.

User avatar
Xeron
Emulation expert
Posts: 382
Joined: Sat Mar 07, 2009 5:18 pm
Contact:

Re: Oricutron v0.1 (now 0.8)

Post by Xeron » Thu Feb 16, 2012 6:40 pm

Not in the current release (0.8). The current code in the SVN has full tape saving support, so it'll be in the next version.

If you're able to compile from source, you're welcome to check out the SVN head version and build it, but this is not a stable release, so be careful :)

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest