Arculator v2.0 released!

discuss emulators of 26-bit acorn systems e.g. arculator and rpcemu
pdjstone
Posts: 5
Joined: Sun Feb 23, 2020 10:02 am
Contact:

Re: Arculator v2.0 released!

Post by pdjstone » Mon Feb 24, 2020 9:42 pm

I discovered an incompatibility between hostfs in Arculator 0.99 vs 2.0. The previous version would strip extensions from filenames - so hello.txt would appear as "hello" inside the emulator. The current version keeps the extension and replaces dot with slash (e.g. hello/txt). This caused problems for me with my hostfs filesystem which I had originally copied from Red Squirrel (an older Acorn emulator) and had a lot of files with .dat extensions. Also the default filetype has changed from data (ffd) to text (fff).

pdjstone
Posts: 5
Joined: Sun Feb 23, 2020 10:02 am
Contact:

Re: Arculator v2.0 released!

Post by pdjstone » Thu Mar 05, 2020 8:56 pm

I've put up a GitHub repo with my fixes to the Arculator 2.0 code at https://github.com/pdjstone/arculator. The current changes are:

- Fix for startup crash
- Fixed disc noise menu options not working (some other volume options still don't work)
- Added some extra keyboard shortcuts - ctrl-insert to release the mouse and ctrl-enter to go fullscreen
- Strip filename extensions in hostfs

There's a few more changes I hope to make soon - see the GitHub issues for more details.

User avatar
jms2
Posts: 2565
Joined: Mon Jan 08, 2007 6:38 am
Location: Derby, UK
Contact:

Re: Arculator v2.0 released!

Post by jms2 » Tue Mar 10, 2020 9:41 pm

I have just installed version 2 of Arculator and I'm very impressed! Thanks Sarah.

However I do seem to have slightly broken it while trying to get a hard disc set up. I managed to get the HD working, but in the process I have lost HostFS/ArculFS. I don't know how I did it... and I don't seem to be able to switch it back on!

arthurseat
Posts: 3
Joined: Mon Mar 30, 2020 6:06 pm
Contact:

Re: Arculator v2.0 released!

Post by arthurseat » Mon Mar 30, 2020 8:13 pm

Thank you so much, it's amazing :-)

I was despairing with ArcEm, not working at all, so I was really happy to find Arculator.
Getting a hard disk image installed was not documented but I found the info elsewhere so now I can access my old A310 files.

Thank you!

akumpu
Posts: 7
Joined: Wed Oct 03, 2018 7:58 pm
Contact:

Re: Arculator v2.0 released!

Post by akumpu » Wed Jun 17, 2020 8:08 pm

Hi everyone

Which is the right place to report bugs and possible corrections?
GitHub or this forum?

br.ari

User avatar
SarahWalker
Posts: 1247
Joined: Fri Jan 14, 2005 3:56 pm
Contact:

Re: Arculator v2.0 released!

Post by SarahWalker » Wed Jun 17, 2020 8:12 pm

This forum.

akumpu
Posts: 7
Joined: Wed Oct 03, 2018 7:58 pm
Contact:

Re: Arculator v2.0 released!

Post by akumpu » Thu Jun 18, 2020 6:26 am

The issue is visible when using for example, when used: A3020 emulation with 2MB RAM setting
With these settings the code does memory buffer overflow and sometimes it triggers a segmentation fault

The problem is caused by "resetpagesize" function, which is called when MEMC control register is updated
In this case 'mempoint' array gets pointer values which goes beyond allocated RAM space.

From me "resetpagesize" is not needed at all. Because you're
re-initializing target's memory map which belongs to its physical RAM area
which should be always same, i.e. RAM space repeated N times. The used page size shouldn't affect to it, right?

So it should be enough that it is initialized only at startup.

But what is mentioned in the datasheet is:
"- The address translator mappings are not affected by reset, but are effectively scrambled if the page size is changed."

So if we want better emulation, we should scramble 0...1FFF from 'mempoint' array.
But what "scrambled" means, is then a good question

And then some minor findings:
From resizemem, line 132 is useless:
" for (c=0;c<0x4000;c++) mempointb[c]=(uint8_t *)mempoint[c];"
RAM area is already initialized (0x2000...0x3000), and others (0x0...0x1fff) will be
initialized when the pages are configured.

And GCC is giving a warning:
fdi2raw.c:1675:25: warning: integer overflow in expression of type ‘int’ results in ‘2147483645’ [-Woverflow]
1675 | if (randval <= (3 * RAND_MAX / 8))

I don’t know what a mess that could cause, to be honest

User avatar
SarahWalker
Posts: 1247
Joined: Fri Jan 14, 2005 3:56 pm
Contact:

Re: Arculator v2.0 released!

Post by SarahWalker » Thu Jun 18, 2020 2:30 pm

akumpu wrote:
Thu Jun 18, 2020 6:26 am
The issue is visible when using for example, when used: A3020 emulation with 2MB RAM setting
With these settings the code does memory buffer overflow and sometimes it triggers a segmentation fault

The problem is caused by "resetpagesize" function, which is called when MEMC control register is updated
In this case 'mempoint' array gets pointer values which goes beyond allocated RAM space.
Yes, I see it. Looks like the masks are a little off. Easily corrected!
From me "resetpagesize" is not needed at all. Because you're
re-initializing target's memory map which belongs to its physical RAM area
which should be always same, i.e. RAM space repeated N times. The used page size shouldn't affect to it, right?
Nope. MEMC uses the configured page size to determine DRAM size, which means that if it's misconfigured you'll get bad decoding and mirrored areas in the physical RAM area. RISC OS uses this to determine memory size, if you present physical RAM as you've suggested then it will always use a 32k page size.
But what is mentioned in the datasheet is:
"- The address translator mappings are not affected by reset, but are effectively scrambled if the page size is changed."
This basically means that the mappings are interpreted differently with different page size settings (as the physical address -> DRAM column/row mapping changes). For full accuracy Arculator should regenerate mempoint when the page size is changed, however as page size is only changed when detecting and configuring memory size, at which point there are no logical mappings, this doesn't really have any effect.

User avatar
SarahWalker
Posts: 1247
Joined: Fri Jan 14, 2005 3:56 pm
Contact:

Re: Arculator v2.0 released!

Post by SarahWalker » Sat Jun 20, 2020 5:09 pm

Since BitBucket are dropping Mercurial support I've moved Arculator onto Git. And off BitBucket. The main repo is now at https://github.com/sarah-walker-pcem/arculator.

User avatar
davidb
Posts: 2768
Joined: Sun Nov 11, 2007 10:11 pm
Contact:

Re: Arculator v2.0 released!

Post by davidb » Mon Jun 29, 2020 4:21 pm

Are you going to create a repository for Elkulator there, too?

User avatar
SarahWalker
Posts: 1247
Joined: Fri Jan 14, 2005 3:56 pm
Contact:

Re: Arculator v2.0 released!

Post by SarahWalker » Mon Jun 29, 2020 5:01 pm

Probably not, as I don't intend to do any more work on Elkulator.

User avatar
daveejhitchins
Posts: 5661
Joined: Wed Jun 13, 2012 6:23 pm
Location: Newton Aycliffe, County Durham
Contact:

Re: Arculator v2.0 released!

Post by daveejhitchins » Mon Jun 29, 2020 8:10 pm

SarahWalker wrote:
Mon Jun 29, 2020 5:01 pm
Probably not, as I don't intend to do any more work on Elkulator.
:cry:

Dave H :lol:
Parts: UM6502CE, GAL22V10D, GAL16V8D, AS6C62256A, TC514400AZ, WD1772, R6522, TMS27C512, AT28C256
Products: ARA II, ARA III, ABR, ATI, AP6, MGC, AP5 . . .
For a price list, contact me at: Retro Hardware AT dave ej hitchins DOT plus DOT com

Post Reply

Return to “32-bit acorn emulators”