The emulator code is written in a mix of C and C++ using the Borland Builder 5 development environment, which runs best under Windows XP (although I did get it working under Windows 7). The source is available on SourceForge alongside the executable distribution. If someone fancies having a go at getting the QL emulation working and succeeds then I'm happy to help merge the changes into the master source code. If, as I suspect, the QL emulation has never worked then this might be down to a few bugs in the CPU or platform emulation or might be because whole blocks of functionality are missing. I've never investigated the QL code so don't have a feel for which of these scenarios it is.
New release of EightyOne available
Re: New release of EightyOne available
Re: New release of EightyOne available
Does the EightyOne have its own assembler section or program?
Cheers,
DesSony
Cheers,
DesSony
Re: New release of EightyOne available
I grabbed the updated EightyOne after having used 1.0a for a little while, and I think I have a bug to report. Having recently acquired a TS1500, that's been my primary emulation target for development, and I found that none of the releases after 1.0a seem to be able to load tape files. After some code digging, I _think_ I know why. In InitPatches, we have this code:
There are no patches being set for MACHINETS1500. TS1000 works, but TS1000 becomes MACHINEZX81, and I can run fine as a ZX81 as but with ts1500.rom set as its rom, which leads me to believe that what's missing are the patches above being set when TS1500 is the selected machine type. Then again, I'm very new to the EightyOne codebase and know little of the tape management, so I could be way off. ![Smile :)](./images/smilies/icon_e_smile.gif)
Code: Select all
if (machineType == MACHINEZX80)
{
patches[0x01ba3e] = ZX80SaveDelayStartSaving;
patches[0x02223e] = ZX80GetByteStartLoading;
patches[0x01cb11] = ZX80OutByteSaveByte;
patches[0x0203c3] = ZX80ZX81LambdaStopTape;
}
else if (machineType == MACHINEZX81)
{
patches[0x02ffcd] = ZX81SaveDelayStartSaving;
patches[0x03561f] = ZX81LambdaGetByteStartLoading;
patches[0x031e5e] = ZX81LambdaOutByteSaveByte;
patches[0x020721] = ZX80ZX81LambdaStopTape;
}
else if (machineType == MACHINELAMBDA)
{
patches[0x0d0d16] = LambdaSaveDelayStartSaving;
patches[0x19b307] = ZX81LambdaGetByteStartLoading;
patches[0x17Ed37] = ZX81LambdaOutByteSaveByte;
patches[0x0203c9] = ZX80ZX81LambdaStopTape;
}
![Smile :)](./images/smilies/icon_e_smile.gif)
Re: New release of EightyOne available
I managed to get the build environment set up on a machine here (fantastic build instructions, BTW), and I tested a fix for the issue I noted. While I'm in it, I'd like to try to get AutoLoad working when in NTSC mode. How do you guys like to receive patches for potential merging? I didn't see a source code collaboration repo noted anywhere (though I may have missed it).
Thanks!
Thanks!
Re: New release of EightyOne available
Thanks for reporting the bug. I've forwarded details on to you about how to submit fixes.
Re: New release of EightyOne available
EightyOne v1.16 is now available from SourceForge.
This version fixes the loading from zip files issue reported here.
This version fixes the loading from zip files issue reported here.
-
- Posts: 67
- Joined: Thu Apr 23, 2020 6:02 am
Re: New release of EightyOne available
I've been trying to git the repository, but it seems to be empty. Do I need to request access?
John
Re: New release of EightyOne available
On SourceForge you can find two zips per release, which can simply be downloaded. The first contains the executable distribution and the second contains the source for it.
Re: New release of EightyOne available
EightyOne v1.17 is now available from SourceForge. This release fixes a crash that occurred when resetting a Jupiter Ace.
Re: New release of EightyOne available
EightyOne v1.18 is now available from SourceForge.
The headline features are:
- Significantly improved timing accuracy of ZX81 SLOW mode. This used to run about 12% faster than it should. It is now near 100%.
- Pseudo hi-res ZX81 displays would appear with the top line a couple of pixels to the right of all subsequent lines. This has now been fixed.
A few other bugs have been fixed. A full list of the changes can be found in the Release History file.
The headline features are:
- Significantly improved timing accuracy of ZX81 SLOW mode. This used to run about 12% faster than it should. It is now near 100%.
- Pseudo hi-res ZX81 displays would appear with the top line a couple of pixels to the right of all subsequent lines. This has now been fixed.
A few other bugs have been fixed. A full list of the changes can be found in the Release History file.