New release of EightyOne available

Emulator and emulator development specific topics
Fruitcake
Posts: 346
Joined: Wed Sep 01, 2010 10:53 pm

Re: New release of EightyOne available

Post 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.
dessony
Posts: 342
Joined: Tue Oct 29, 2013 2:26 pm
Location: Indiana, USA

Re: New release of EightyOne available

Post by dessony »

Does the EightyOne have its own assembler section or program?

Cheers,
DesSony
Slor
Posts: 3
Joined: Mon Jun 10, 2019 8:06 pm

Re: New release of EightyOne available

Post 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. :)
Slor
Posts: 3
Joined: Mon Jun 10, 2019 8:06 pm

Re: New release of EightyOne available

Post 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!
Fruitcake
Posts: 346
Joined: Wed Sep 01, 2010 10:53 pm

Re: New release of EightyOne available

Post by Fruitcake »

Thanks for reporting the bug. I've forwarded details on to you about how to submit fixes.
Fruitcake
Posts: 346
Joined: Wed Sep 01, 2010 10:53 pm

Re: New release of EightyOne available

Post by Fruitcake »

EightyOne v1.16 is now available from SourceForge.

This version fixes the loading from zip files issue reported here.
stroebeljc
Posts: 63
Joined: Thu Apr 23, 2020 6:02 am

Re: New release of EightyOne available

Post by stroebeljc »

I've been trying to git the repository, but it seems to be empty. Do I need to request access?
John
Fruitcake
Posts: 346
Joined: Wed Sep 01, 2010 10:53 pm

Re: New release of EightyOne available

Post 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.
Fruitcake
Posts: 346
Joined: Wed Sep 01, 2010 10:53 pm

Re: New release of EightyOne available

Post by Fruitcake »

EightyOne v1.17 is now available from SourceForge. This release fixes a crash that occurred when resetting a Jupiter Ace.
Fruitcake
Posts: 346
Joined: Wed Sep 01, 2010 10:53 pm

Re: New release of EightyOne available

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