Arx816 & EghtyOne problem...

Discussion about ZX80 / ZX81 Software
User avatar
user@lab1
Posts: 60
Joined: Thu Apr 14, 2011 6:20 pm

Re: Arx816 & EghtyOne problem...

Post by user@lab1 »

Hi Stefano (italian? :) ).
I downloaded ARX 816 demo from the site of Andy, but works only on EGHTYONE ver. 0.42.
What's different? You have another working version of the file?
Thanks.
User avatar
stefano
Posts: 542
Joined: Tue Dec 11, 2012 9:24 am
Contact:

Re: Arx816 & EghtyOne problem...

Post by stefano »

Yup, I'm Italian.. please forget my last post, there can be, as you say, differences on the EightyOne versions.
The fact is that I used EO extensively to develop the ARX support for z88dk and I did not have problems at all, then I checked this program and the problem showed up.. probably I'we simply been lucky.
User avatar
Andy Rea
Posts: 1606
Joined: Fri May 09, 2008 2:48 pm
Location: Planet Earth
Contact:

Re: Arx816 & EghtyOne problem...

Post by Andy Rea »

the problem with this seems to be that for the demo i decided to put the code ( more precisely the dummy d-file lines ) in the 8K - 16K area of ram, and if it is not ghosted properly at the 40k-48K region it does not work. solution is to move the dummy d-file lines to other ram ( rem statment, or above ramtop ) and alter the code to reflect this change.

regards
what's that Smell.... smells like fresh flux and solder fumes...
User avatar
stefano
Posts: 542
Joined: Tue Dec 11, 2012 9:24 am
Contact:

Re: Arx816 & EghtyOne problem...

Post by stefano »

Tnx for the explanation, I couldn't really understand what was going wrong.

Andy, did I understand correctly the ARX816 code could be modified to be faster ?
User avatar
Andy Rea
Posts: 1606
Joined: Fri May 09, 2008 2:48 pm
Location: Planet Earth
Contact:

Re: Arx816 & EghtyOne problem...

Post by Andy Rea »

Less wasteful certainly, when it was written I didn't have a great understanding of the video circuits so a huge delay loop at the start was inserted to wait until the line counter inside the ULA had gotten back to 0, it is however possible by correct out instructions, and careful timing to reset that counter at will. Thus that huge delay can be mostly removed. It should restore well over 1000 cpu cycles for user program .

Regards Andy

Edit: I can remember that the out / in caused a very short sync pulse so you had to time it to match the hsync to avoid display disruptions.
what's that Smell.... smells like fresh flux and solder fumes...
User avatar
stefano
Posts: 542
Joined: Tue Dec 11, 2012 9:24 am
Contact:

Re: Arx816 & EghtyOne problem...

Post by stefano »

Back to this thread to alert you guys: EO 0.42 is also the only way to see the Memotech HRG interface work correctly (perhaps it is consequence of the same shadowing behavior?).
Similarly the ZXpand mods seem to have broken the G007 support.
olofsen
Posts: 189
Joined: Wed Jan 08, 2014 12:29 pm

Re: Arx816 & EghtyOne problem...

Post by olofsen »

With this line in zx81_readbyte()

Code: Select all

 else data=memory[(Address&(zx81.RAMTOP-16384))+16384];
changed into (but what would be the proper shadowing?)

Code: Select all

else data=memory[Address&zx81.RAMTOP];
the demo might work :)
arx.png
arx.png (8.36 KiB) Viewed 3510 times
User avatar
Andy Rea
Posts: 1606
Joined: Fri May 09, 2008 2:48 pm
Location: Planet Earth
Contact:

Re: Arx816 & EghtyOne problem...

Post by Andy Rea »

On an ordinary zx81 with a 16k rampack, with simple static ram at the 8-16k area would normally result in the following memory map

0 - 8k. Rom
8 - 16k. Ram
16 - 32k Ram (16k rampack)
32 - 40k Rom, shadow of 0-8k
40 - 48k Ram, shadow of 8-16k
48 - 64k Ram, shadow of 16-32k

Regards andy
what's that Smell.... smells like fresh flux and solder fumes...
Post Reply