100 lines
2.3 KiB
C
Raw Normal View History

2021-12-23 13:48:58 +01:00
#include <font8x8.h>
2021-12-23 15:37:01 +01:00
#include "cbm_balloon.h"
void move_balloon(byte x, byte y, byte color) {
tms_sprite spr0,spr1;
spr0.x = x;
spr0.y = y;
spr0.name = 0;
spr0.color = color;
spr1.x = spr0.x;
spr1.y = spr0.y + 32;
spr1.name = spr0.name + 4;
spr1.color = spr0.color;
tms_set_sprite(0, &spr0);
tms_set_sprite(1, &spr1);
}
2021-12-16 18:33:56 +01:00
void demo_screen2() {
tms_init_regs(SCREEN2_TABLE);
2021-12-15 16:52:42 +01:00
byte text_color = FG_BG(COLOR_BLACK,COLOR_WHITE);
2021-12-15 16:52:42 +01:00
screen2_init_bitmap(text_color);
2021-12-17 09:12:39 +01:00
screen2_puts("*** P-LAB VIDEO CARD SYSTEM ***", 0, 0, text_color);
screen2_puts("16K VRAM BYTES FREE" , 0, 2, text_color);
screen2_puts("READY." , 0, 4, text_color);
2021-12-15 16:52:42 +01:00
// display all colors in the palette
for(byte i=0;i<16;i++) {
2021-12-17 09:12:39 +01:00
screen2_puts(" SCREEN 2 ",5,(byte)(6+i),(byte)(((15-i)<<4)+i));
}
2021-12-16 18:33:56 +01:00
screen2_line(18, 45,232,187);
screen2_line(18,187,232, 45);
2021-12-16 18:33:56 +01:00
screen2_plot_mode = PLOT_MODE_RESET;
2021-12-16 18:33:56 +01:00
screen2_line(18+5, 45,232+5,187);
screen2_line(18+5,187,232+5, 45);
2021-12-16 18:33:56 +01:00
screen2_plot_mode = PLOT_MODE_INVERT;
2021-12-16 18:33:56 +01:00
screen2_line(18+5+5, 45,232+5+5,187);
screen2_line(18+5+5,187,232+5+5, 45);
2021-12-16 18:33:56 +01:00
screen2_plot_mode = PLOT_MODE_SET;
2021-12-23 15:37:01 +01:00
/*
2021-12-23 13:48:58 +01:00
// define sprites using bitmap fonts
tms_copy_to_vram(&FONT[64*8], 32*8, TMS_SPRITE_PATTERNS);
// set 16x16 sprites
tms_set_sprite_double_size(1);
// set double pixel sprites
tms_set_sprite_magnification(1);
tms_sprite spr;
2021-12-23 15:37:01 +01:00
for(byte t=0;t<4;t++) {
spr.x = 200;
2021-12-23 13:48:58 +01:00
spr.y = 5 + t*32;
2021-12-23 15:37:01 +01:00
spr.name = t*4;
2021-12-23 13:48:58 +01:00
spr.color = t+1;
tms_set_sprite(t, &spr);
}
2021-12-23 15:37:01 +01:00
*/
// ballon demo
// define sprites using bitmap fonts
tms_copy_to_vram(cbm_balloon, 4*8*2, TMS_SPRITE_PATTERNS);
tms_set_sprite_double_size(1); // set 16x16 sprites
tms_set_sprite_magnification(1); // set double pixel sprites
int x = 200;
int y = 80;
int dx = 1;
int dy = 1;
int delay = 0;
byte sprcolor = COLOR_DARK_BLUE;
for(;;) {
for(delay=0; delay<800; delay++) {
delay = delay+1;
delay = delay-1;
}
if(apple1_readkey()==0x0d) break;
if(x>=228 || x<=0) { dx = -dx; sprcolor++; }
if(y>=148 || y<=0) { dy = -dy; sprcolor++; }
x += dx;
y += dy;
move_balloon((byte)x,(byte)y, sprcolor);
}
}
2021-12-23 15:37:01 +01:00