"wall" game for the Lamba 8300 / Power 3000
Re: "wall" game for the Lamba 8300 / Power 3000
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
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.)
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
These extra characters look spectacular 

Re: "wall" game for the Lamba 8300 / Power 3000
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 1100 times
Re: "wall" game for the Lamba 8300 / Power 3000

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
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?


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?

Re: "wall" game for the Lamba 8300 / Power 3000
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
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.
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
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...