Page 3 of 3

Re: "wall" game for the Lamba 8300 / Power 3000

Posted: Wed Aug 22, 2018 10:35 pm
by mrtinb
Few people have the color module. But Kai from ZX Team has made a schematic of it. So maybe one day a replica is made. It should work both for Lambda 8300 and ZX81.

Re: "wall" game for the Lamba 8300 / Power 3000

Posted: Wed Aug 22, 2018 11:21 pm
by mrtinb
The game is MUCH better now. The timing is perfect.

This little video shows the speed.

BEWARE: All the corrupted chars on the screen is not the game's fault.

https://youtu.be/LtdDbik4zxI

(My theory is that ZXpand, which loads the game, has a problem with the Lambda 8300 ULA. Memory from the ZXpand is read and written fine. I assume the ULA has problem reaching it, so it is a timing problem that only occurs with the Lambda ROM. The problem is rarely with ZXpand ROM on Lambda.)

Re: "wall" game for the Lamba 8300 / Power 3000

Posted: Wed Aug 22, 2018 11:31 pm
by olofsen
These extra characters look spectacular :)

Re: "wall" game for the Lamba 8300 / Power 3000

Posted: Sat Aug 25, 2018 11:24 pm
by olofsen
So here is a little test program for the math functions...

Code: Select all

/* zcc +lambda -O3 -create-app math.c -lmlambda */

#include <stdio.h>
#include <math.h>

unsigned short frames @0x4034;

int main()
{
	int dframes;
	float M_PI2, M_PI4, M_PI6;
	char buf[3];

	dframes = frames;
	
	M_PI2 = M_PI/2;
	M_PI4 = M_PI/4;
	M_PI6 = M_PI/6;

	printf("Running 25 tests...\n");

	printf("%f %f %f\n", asin(1)/M_PI2, acos(0)/M_PI4, atan(1)*2/M_PI6);

	printf("%f %f %f\n", sin(M_PI6)*8, cos(M_PI/6)*10/M_SQRT3, tan(M_PI/6)*6*M_SQRT3);

	printf("%f %f %f\n", 14*sinh(M_PI)/(exp(M_PI)-exp(-M_PI)), 16*cosh(M_PI)/(exp(M_PI)+exp(-M_PI)), 9*tanh(M_PI)*cosh(M_PI)/sinh(M_PI));
	
	printf("%f %f %f %f\n", pow(10,log10(10)), sqrt(121), log(exp(12)), exp(log(13)));

	printf("%f %f\n", fmin(14,15), fmin(16,15));

	printf("%f %f\n", fmax(16,15), fmax(16,17));

	printf("%f %f\n", 18.*(1<2), 19.+(1>2));

	printf("%f %f\n", 20.*(1<=1), 21.*(1>=1));

	printf("%f %f %f\n", floor(22.5), ceil(22.5), fabs(-24));

	ftoa(25.,0,buf);
	printf("%s\n",buf);

	dframes -= frames;
	if (dframes <= 0) dframes += 0x8000;
	
	printf("Done in %d frames.\n", dframes);

	return 0;
}

Re: "wall" game for the Lamba 8300 / Power 3000

Posted: Sun Aug 26, 2018 8:49 am
by mrtinb
Image

My Lambda 8300 says: 1532.

Two times I have experienced that the screen corruption is gone. Luckily this was one of them.

(When the screen is corrupted, bits near other text is influenced. So this result was 3732, because 1 and 5 was corrupted.)

Re: "wall" game for the Lamba 8300 / Power 3000

Posted: Sun Sep 02, 2018 10:32 pm
by mrtinb
Hi again olufson :)

Now I've uploaded the TZXduino firmware to my Arduino with SD/Ethernet-shield, and loaded WALL into my Lambda with a 16K RAMpack.

When the ZXpand is removed, the Lambda works flawless.

Can your patches be applied to z88dk, so versions of DSTAR and CROSS-CHASE can be made for Lambda-version1?

Image

Re: "wall" game for the Lamba 8300 / Power 3000

Posted: Tue Sep 04, 2018 12:47 am
by mrtinb
mrtinb wrote:
Sun Sep 02, 2018 10:32 pm
Can your patches be applied to z88dk, so versions of DSTAR and CROSS-CHASE can be made for Lambda-version1?
Thank you olufson, for Lambda1 versions of DStar and CrossChase. I’ll try them on real hardware tomorrow.

Re: "wall" game for the Lamba 8300 / Power 3000

Posted: Wed Sep 19, 2018 5:15 pm
by Fabrizio
Was my game (CROSS-CHASE) patched?

What was the issue? I can make a permant fix in my tool-chain so that future releases work on all Lambda versions.

Re: "wall" game for the Lamba 8300 / Power 3000

Posted: Wed Sep 19, 2018 6:56 pm
by olofsen
Well actually Lambda related z88dk files were patched to match the "old" Lambda ROM. It will be quite hard to make one binary that runs with the old and new ROM (as well as others). Currently the patched z88dk tree is still in a testing phase and "+lambda" now only compiles for the old ROM...