Page 18 of 35

Re: New release of EightyOne available

Posted: Mon Feb 18, 2019 11:47 pm
by Fruitcake
Crayon21 wrote: Mon Feb 18, 2019 2:40 am how would it be able to be fixed? C? Python?
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.

Re: New release of EightyOne available

Posted: Sat Mar 02, 2019 2:16 am
by dessony
Does the EightyOne have its own assembler section or program?

Cheers,
DesSony

Re: New release of EightyOne available

Posted: Mon Jun 10, 2019 8:23 pm
by Slor
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:

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;
}
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. :)

Re: New release of EightyOne available

Posted: Tue Jun 11, 2019 7:10 am
by Slor
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!

Re: New release of EightyOne available

Posted: Thu Jun 13, 2019 1:12 am
by Fruitcake
Thanks for reporting the bug. I've forwarded details on to you about how to submit fixes.

Re: New release of EightyOne available

Posted: Thu Jan 23, 2020 1:03 am
by Fruitcake
EightyOne v1.16 is now available from SourceForge.

This version fixes the loading from zip files issue reported here.

Re: New release of EightyOne available

Posted: Sun Apr 26, 2020 5:36 pm
by stroebeljc
I've been trying to git the repository, but it seems to be empty. Do I need to request access?

Re: New release of EightyOne available

Posted: Wed Apr 29, 2020 12:08 am
by Fruitcake
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

Posted: Wed Apr 29, 2020 12:09 am
by Fruitcake
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

Posted: Sun Aug 30, 2020 2:24 am
by Fruitcake
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.