Loci - my Oric storage emulation project

This is the right place to discuss on how to implement hardware vsync, adding a VIA or AY chipset, puting multiple roms, or how to design a new flash expansion card.
User avatar
Sodiumlightbaby
Squad Leader
Posts: 755
Joined: Thu Feb 22, 2024 11:38 am

Re: Loci - my Oric storage emulation project

Post by Sodiumlightbaby »

Bisect C mia_action PIO program timing revert.
Attachments
loci-firmware_bisect_c_pioact.uf2.zip
(139.26 KiB) Downloaded 59 times
User avatar
Dbug
Site Admin
Posts: 5026
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Loci - my Oric storage emulation project

Post by Dbug »

First boot gots all corrupted
WIN_20250412_19_31_59_Pro.jpg
Second boot displayed some 44444 with the usual fat font...
WIN_20250412_19_33_01_Pro.jpg
...and after rebooting I got the same one but with a thin font?
WIN_20250412_19_33_28_Pro.jpg
User avatar
Sodiumlightbaby
Squad Leader
Posts: 755
Joined: Thu Feb 22, 2024 11:38 am

Re: Loci - my Oric storage emulation project

Post by Sodiumlightbaby »

Thanks. Just to be sure we're testing one thing at the time, could you revert the timing tests A and B? Looks like they are still present.
User avatar
Dbug
Site Admin
Posts: 5026
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Loci - my Oric storage emulation project

Post by Dbug »

Sodiumlightbaby wrote: Sat Apr 12, 2025 7:27 pm Thanks. Just to be sure we're testing one thing at the time, could you revert the timing tests A and B? Looks like they are still present.
I've set the values back to what I had on 0.2.5, not sure if that's the default, is there a "reset to default" command?
WIN_20250412_20_41_59_Pro.jpg
User avatar
Sodiumlightbaby
Squad Leader
Posts: 755
Joined: Thu Feb 22, 2024 11:38 am

Re: Loci - my Oric storage emulation project

Post by Sodiumlightbaby »

They work with 0.2.5 and that's the important part.
User avatar
Sodiumlightbaby
Squad Leader
Posts: 755
Joined: Thu Feb 22, 2024 11:38 am

Re: Loci - my Oric storage emulation project

Post by Sodiumlightbaby »

Bisect D, reduced action loop (ACIA regs disabled).
Not confident this is enought to fix the issue, but I'm interested in if there is different behaviour compared to 0.3.1
Attachments
loci-firmware_bisect_d_noaciaregs.uf2.zip
(139.06 KiB) Downloaded 95 times
User avatar
Dbug
Site Admin
Posts: 5026
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Loci - my Oric storage emulation project

Post by Dbug »

Can't say there's much difference.

When the Oric is cold, it's fully glitching:
WIN_20250413_16_09_16_Pro.jpg
WIN_20250413_16_09_46_Pro.jpg
WIN_20250413_16_52_30_Pro.jpg
When the machine is warm the boot menu works as expecting... for about 2 seconds before freezing
User avatar
Sodiumlightbaby
Squad Leader
Posts: 755
Joined: Thu Feb 22, 2024 11:38 am

Re: Loci - my Oric storage emulation project

Post by Sodiumlightbaby »

This is very interesting. The last image you have actually shows the monitor system that was added in 0.3.1 kicking in, which requires a break to be sent to the uart, indicating perhaps a spurious writhe 0x03A1.

With the Bisect D firmware, could you try an long-press on the action button to activate the diag ROM? It should be fixed in that fw, and I'm curious if that is also unstable - in only uses the ROM emulation and none of the page 3 interface emulation.
User avatar
Dbug
Site Admin
Posts: 5026
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Loci - my Oric storage emulation project

Post by Dbug »

Long press seems to work nicely:
WIN_20250414_16_41_29_Pro.jpg
WIN_20250414_16_41_37_Pro.jpg
WIN_20250414_16_41_43_Pro.jpg
At this point if I short press the button, I see

Code: Select all

IRQ Trap on

]?Unable to open file (4)
Booting ROM from firmware
And that's it, the screen stays on the Oric Diag ROM screen.

After that I have to power off, power on, and after the short press I'm back to the boot screen that spins for a couple seconds and stops on
WIN_20250414_16_45_11_Pro.jpg
User avatar
Sodiumlightbaby
Squad Leader
Posts: 755
Joined: Thu Feb 22, 2024 11:38 am

Re: Loci - my Oric storage emulation project

Post by Sodiumlightbaby »

That is very very helpful. So the issues are connected with IO page accesses creating problems for the ROM emulation. ROM emulation alone seems to work fine.
User avatar
iss
Wing Commander
Posts: 1830
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Loci - my Oric storage emulation project

Post by iss »

@Dbug: What Oric are you using in LOCi tests (Oric-1, Atmos)? What's the ROM inside? How long is the ribbon cable (>15 cm)?
User avatar
Dbug
Site Admin
Posts: 5026
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Loci - my Oric storage emulation project

Post by Dbug »

Atmos, the cable is about 10cm, and it's an actual 1.1 ROM, not an eprom.
image_2025-04-14_204439884.png
image_2025-04-14_204805342.png
User avatar
iss
Wing Commander
Posts: 1830
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Loci - my Oric storage emulation project

Post by iss »

Looks good to me and it should work! 8)
User avatar
Sodiumlightbaby
Squad Leader
Posts: 755
Joined: Thu Feb 22, 2024 11:38 am

Re: Loci - my Oric storage emulation project

Post by Sodiumlightbaby »

Bisect E, revert unguarding of read DMA trigger in the action loop. This bisect is based on the observations so far that the machine handles ROM emulation ok when no IO operations are happening.
If this has an effect, the loading and execution of the LOCI ROM should be much better but likely some hangs and issues will still trigger.
Attachments
loci-firmware_bisect_e_actionreadguard.uf2.zip
(139.28 KiB) Downloaded 97 times
User avatar
Dbug
Site Admin
Posts: 5026
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Loci - my Oric storage emulation project

Post by Dbug »

On the very first boot, I got some 22222
WIN_20250415_14_38_45_Pro.jpg
On the second boot, it spinned a bit longer than before, but ended up frozen with a "a" on the left side of the screen.
WIN_20250415_14_45_29_Pro.jpg
Not sure if relevant, but during one of the cold boots the device was entirely black: No red LED, and the screen was completely blank, I had to power cycle the machine to get it back on.

Also, even when the Oric is frozen, doing a long press will properly show the "Booting diag ROM" message on the screen, except nothing happens on the Oric side.

EDIT: After letting the machine plugged for almost an hour more, the next time the spinner was spinning for almost 5 seconds before freezing.
Post Reply