Sorting out the zx81 library set on z88dk
Posted: Thu Sep 28, 2023 4:14 pm
I've been recently working on the less common versions of the LAMBDA 8300 ROMs, and hopefully I made everything more flexible by adding two new subtypes ("mono" for the v1 ROM and "cac3" for the CAC-3 and the NF300).
While woring on it I noticed that I had never ported some of the ZX81 functions, such as the ones manipulating the whole display (text inversion, etc..).
The zx81 specific code should now be easier to port on LAMBDA targets and, partially on the ZX80.
I thought it is nice to show that you can find a random editor, even online:
Still, my favourite one is the z88dk's sprite editor. The interface does not look cool, but you can do lots of magic with it.
Well, this program will work on all the mentioned models, the ZX81 and the ZX80:
I just noticed that the keyboard input in zx81 mode is not designed to leave the display visible when in FAST mode. It is not a real problem in most of the cases but it won't be good for those few ZX80 with a "NEW ROM" installed.
While woring on it I noticed that I had never ported some of the ZX81 functions, such as the ones manipulating the whole display (text inversion, etc..).
The zx81 specific code should now be easier to port on LAMBDA targets and, partially on the ZX80.
I thought it is nice to show that you can find a random editor, even online:
Still, my favourite one is the z88dk's sprite editor. The interface does not look cool, but you can do lots of magic with it.
Well, this program will work on all the mentioned models, the ZX81 and the ZX80:
Code: Select all
/*
Depending on the versions of your computer:
zcc +zx80 -create-app test.c
zcc +zx81 -create-app test.c
zcc +lambda -create-app test.c
zcc +lambda -subtype=mono -create-app test.c
zcc +lambda -subtype=cac3 -create-app test.c
*/
#include <stdio.h>
#include <graphics.h>
#include <games.h>
#include <lib3d.h>
#include <zx81.h>
char skull[]={8,7,129,90,60,36,60,90,153};
main()
{
clg();
putc4x6(13);
putc4x6(13);
putc4x6(13);
putc4x6(13);
putc4x6(13);
putc4x6(' ');
putc4x6(' ');
putc4x6(' ');
putc4x6(' ');
putc4x6(' ');
putc4x6('h');
putc4x6('e');
putc4x6('l');
putc4x6('l');
putc4x6('o');
puts_cons (" zx80/81/lambda library TEST");
putsprite (spr_or,10,10,skull);
circle(14,13,9,1);
fgetc_cons();
mirrortxt();
fgetc_cons();
invtxt();
fgetc_cons();
mirrortxt();
fgetc_cons();
invtxt();
fgetc_cons();
}