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

Discussion about ZX80 / ZX81 Software
Post Reply
RWAP
Site Admin
Posts: 1313
Joined: Thu May 08, 2008 8:42 am
Location: Stoke-on-Trent, UK
Contact:

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

Post by RWAP » Fri Nov 25, 2016 11:17 am

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. :(

dr beep
Posts: 1190
Joined: Thu Jun 16, 2011 8:35 am
Location: Boxmeer

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

Post by dr beep » Fri Nov 25, 2016 3:08 pm

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.

dr beep
Posts: 1190
Joined: Thu Jun 16, 2011 8:35 am
Location: Boxmeer

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

Post by dr beep » Fri Nov 25, 2016 3:12 pm

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??

RWAP
Site Admin
Posts: 1313
Joined: Thu May 08, 2008 8:42 am
Location: Stoke-on-Trent, UK
Contact:

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

Post by RWAP » Fri Nov 25, 2016 4:21 pm

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?

RWAP
Site Admin
Posts: 1313
Joined: Thu May 08, 2008 8:42 am
Location: Stoke-on-Trent, UK
Contact:

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

Post by RWAP » Fri Nov 25, 2016 4:41 pm

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.

dr beep
Posts: 1190
Joined: Thu Jun 16, 2011 8:35 am
Location: Boxmeer

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

Post by dr beep » Fri Nov 25, 2016 10:48 pm

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.

RWAP
Site Admin
Posts: 1313
Joined: Thu May 08, 2008 8:42 am
Location: Stoke-on-Trent, UK
Contact:

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

Post by RWAP » Sat Nov 26, 2016 1:34 pm

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....

sirmorris
Posts: 2813
Joined: Thu May 08, 2008 5:45 pm

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

Post by sirmorris » Sat Nov 26, 2016 3:42 pm

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.

Post Reply