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: 774
Joined: Sat May 21, 2011 7:21 pm
Location: Between UK and France
Contact:

Post by Godzil »

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: 426
Joined: Sat Mar 07, 2009 5:18 pm
Contact:

Post by Xeron »

@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: 774
Joined: Sat May 21, 2011 7:21 pm
Location: Between UK and France
Contact:

Post by Godzil »

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: 426
Joined: Sat Mar 07, 2009 5:18 pm
Contact:

Post by Xeron »

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: 4437
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Post by Dbug »

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: 426
Joined: Sat Mar 07, 2009 5:18 pm
Contact:

Post by Xeron »

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 »

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: 426
Joined: Sat Mar 07, 2009 5:18 pm
Contact:

Re: Oricutron v0.1 (now 0.8)

Post by Xeron »

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