AutoVIDC extASM issues

Discuss AutoVIDC by Paul Vernon
PaulV
Posts: 95
Joined: Thu May 02, 2013 8:33 pm
Location: Leicestershire
Contact:

Re: AutoVIDC extASM issues

Post by PaulV » Tue May 21, 2013 7:20 pm

JonAbbott wrote:How do I test it? What am I looking to see broken?
Yes that's broken. The easiest way to tell at the moment is to issue a *AutoVIDCStatus command.

The clock speed should never be reported as 0kHz and AutoVIDC should not be "disabled" after initialisation unless you're running on a machine with native Acorn enhancer circuitry such as the A5000.

Paul

JonAbbott
Posts: 1737
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex

Re: AutoVIDC extASM issues

Post by JonAbbott » Thu May 23, 2013 6:26 am

I'm hoping to get some time tonight to compare the source with the machine code to figure out what's going wrong.

PaulV
Posts: 95
Joined: Thu May 02, 2013 8:33 pm
Location: Leicestershire
Contact:

Re: AutoVIDC extASM issues

Post by PaulV » Thu May 23, 2013 3:04 pm

JonAbbott wrote:...compare the source with the machine code to figure out what's going wrong.
It'll be interesting to see what you find.

In the meantime, I've been optimising more code and strings so the module is now under 7KiB in size. Most of the optimisations I've done are in the cmdEntry file replacing small sections of repeated code with a couple of small functions to do the same. I've also managed to reduce the svcEntry code by modularising the bit checking of the mode maps amongst other bits and pieces and spotted some redundant code (just the odd line) here and there.

Having said all that, it still suffers from the same problem where it doesn't build correctly without the FAST option and the difference now between FAST being enabled or not is down to 16 bytes; all of which appear to be unexpanded ADR's. The weird thing is replacing them with ADRL's doesn't fix it :?

Paul

JonAbbott
Posts: 1737
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex

Re: AutoVIDC extASM issues

Post by JonAbbott » Thu May 23, 2013 7:10 pm

Now I've been through the code, I can see the problem...LDR's aren't being corrected after auto-expanding when vars is placed after the code - place it before SWI_Table and it appears to compile correctly.

It's a bug in extASM, the reason I don't see it in ADFFS is because vars is placed before the code.

PaulV
Posts: 95
Joined: Thu May 02, 2013 8:33 pm
Location: Leicestershire
Contact:

Re: AutoVIDC extASM issues

Post by PaulV » Thu May 23, 2013 9:07 pm

That's great news! :D :D Thanks for taking the time to look and confirming that I'm not entirely crazy. :lol:

I'd moved the vars file as far forward in the make file as to be before the init file but no further than that. :roll:

Anyway, I've rebuilt the module with FAST turned off and tested it on the following machines:

A310 Aux IO controlled VIDC clocks
A410/1 WE controlled VIDC clocks
A3010 and A5000 Acorn controlled VIDC clocks

It all seems to be working correctly so I've put together a new ADF and uploaded it to the server for testing.

Thanks again

Paul

Post Reply