"wall" game for the Lamba 8300 / Power 3000

Software and Games for the Lambda 8300 / Power 3000 Computer
User avatar
mrtinb
Posts: 1906
Joined: Fri Nov 06, 2015 5:44 pm
Location: Denmark
Contact:

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

Post 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.
Martin
https://zx.rtin.be
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube
User avatar
mrtinb
Posts: 1906
Joined: Fri Nov 06, 2015 5:44 pm
Location: Denmark
Contact:

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

Post 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.)
Martin
https://zx.rtin.be
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube
olofsen
Posts: 189
Joined: Wed Jan 08, 2014 12:29 pm

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

Post by olofsen »

These extra characters look spectacular :)
olofsen
Posts: 189
Joined: Wed Jan 08, 2014 12:29 pm

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

Post 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;
}
Attachments
math_lambda1.p
(4.52 KiB) Downloaded 626 times
User avatar
mrtinb
Posts: 1906
Joined: Fri Nov 06, 2015 5:44 pm
Location: Denmark
Contact:

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

Post 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.)
Martin
https://zx.rtin.be
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube
User avatar
mrtinb
Posts: 1906
Joined: Fri Nov 06, 2015 5:44 pm
Location: Denmark
Contact:

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

Post 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
Martin
https://zx.rtin.be
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube
User avatar
mrtinb
Posts: 1906
Joined: Fri Nov 06, 2015 5:44 pm
Location: Denmark
Contact:

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

Post 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.
Martin
https://zx.rtin.be
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube
Fabrizio
Posts: 23
Joined: Sun Aug 19, 2018 11:59 pm

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

Post 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.
olofsen
Posts: 189
Joined: Wed Jan 08, 2014 12:29 pm

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

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