Page 1 of 1

Xtricator - ZX81 Emulator for the Sinclair QL by Dr Carlo Delhez

Posted: Fri Nov 25, 2016 11:17 am
by RWAP
I have just realised that Dr Carlo Delhez passed away last year sad news indeed - I must have forgotten the announcement on here.

Does anyone have the source codes to his Xtricator emulator which he released for the Sinclair QL, as it would be nice to add ZXpand support to this ZX81 emulator, so that games such as Dragon's Lair can be played on the QL !

I have found the source codes for his Xtender emulator, but alas not Xtricator. :(

Re: Xtricator - ZX81 Emulator for the Sinclair QL by Dr Carlo Delhez

Posted: Fri Nov 25, 2016 3:08 pm
by dr beep
Isn't patching an option?

First check if used ROM is altered. From documentation this should be done only for the DAA instruction.
Is replacement of the ROM not enough? Just load that ROM instead of ZX81ROM.

Does Dragon Lair use a specific hires method? WRX with 6K buffer and setting of IX only should be supported.
My 1K hires will not run.

Re: Xtricator - ZX81 Emulator for the Sinclair QL by Dr Carlo Delhez

Posted: Fri Nov 25, 2016 3:12 pm
by dr beep
BTW, SAM2ZX81 supports also hires from WRX and even some more.
Display kicks in when uppermemory is called and displayed on screen, although slower than real ZX81.

Don't know about the speed of Xtricator and hires together.
Lowres can come close to real speed with some tricks, but hires??

Re: Xtricator - ZX81 Emulator for the Sinclair QL by Dr Carlo Delhez

Posted: Fri Nov 25, 2016 4:21 pm
by RWAP
dr beep wrote:Isn't patching an option?

First check if used ROM is altered. From documentation this should be done only for the DAA instruction.
Is replacement of the ROM not enough? Just load that ROM instead of ZX81ROM.

Does Dragon Lair use a specific hires method? WRX with 6K buffer and setting of IX only should be supported.
My 1K hires will not run.
According to the manual, the ZX81 ROM is included with some minor changes - however, it is built into the executable.

The offset appears to be +D6EA in the assembler listing

Is it worth extracting the 8K ROM code and we can work backwards?

Re: Xtricator - ZX81 Emulator for the Sinclair QL by Dr Carlo Delhez

Posted: Fri Nov 25, 2016 4:41 pm
by RWAP
Ah good news - a byte by byte comparison with the ZX81 ROM from EightyOne shows no changes :)

I have tried patching it with the ZX81 ROM file from EightyOne and that works - although the ZXpand ZX81 ROM file doesn't.

Re: Xtricator - ZX81 Emulator for the Sinclair QL by Dr Carlo Delhez

Posted: Fri Nov 25, 2016 10:48 pm
by dr beep
RWAP wrote:
dr beep wrote:Isn't patching an option?

First check if used ROM is altered. From documentation this should be done only for the DAA instruction.
Is replacement of the ROM not enough? Just load that ROM instead of ZX81ROM.

Does Dragon Lair use a specific hires method? WRX with 6K buffer and setting of IX only should be supported.
My 1K hires will not run.
According to the manual, the ZX81 ROM is included with some minor changes - however, it is built into the executable.

The offset appears to be +D6EA in the assembler listing

Is it worth extracting the 8K ROM code and we can work backwards?
I don't know the QL, but isn't the executable reverse enginering possible so you get a disassembly from it.

Re: Xtricator - ZX81 Emulator for the Sinclair QL by Dr Carlo Delhez

Posted: Sat Nov 26, 2016 1:34 pm
by RWAP
Yes there are semi-automatic disassemblers, but working in someone else's hand written machine code with no notes is next to impossible.

Maybe if someone could outline the basic calls to the ZX81 ROM and how it is started up normally in an emulator, and then what changes are required to enable ZXpand support, I might be able to spot where these things happen in the disassembly....

Re: Xtricator - ZX81 Emulator for the Sinclair QL by Dr Carlo Delhez

Posted: Sat Nov 26, 2016 3:42 pm
by sirmorris
Start by looking for where OUT and IN instructions are handled.
Something will probably look to see what data is on the bus at that time and react accordingly. Once you have that, a patch is possible. However. Re-writing the zxpand code in 68000 machine code may take a bit longer... If you have a C compiler and the ability to link compiled modules with the emulator then you might start thinking the enterprise is possible.