From 9572291866af43e21c70da46b20c0ecfaa32fb1d Mon Sep 17 00:00:00 2001 From: nino-porcino Date: Thu, 23 Dec 2021 15:37:01 +0100 Subject: [PATCH] add CBM balloon demo --- demos/demo/cbm_balloon.data.h | 65 ++++++++++++++++++ demos/demo/cbm_balloon.h | 7 ++ demos/demo/demo_screen2.h | 55 +++++++++++++++- demos/demo/mk_baloon.js | 120 ++++++++++++++++++++++++++++++++++ 4 files changed, 244 insertions(+), 3 deletions(-) create mode 100644 demos/demo/cbm_balloon.data.h create mode 100644 demos/demo/cbm_balloon.h create mode 100644 demos/demo/mk_baloon.js diff --git a/demos/demo/cbm_balloon.data.h b/demos/demo/cbm_balloon.data.h new file mode 100644 index 0000000..896e7a7 --- /dev/null +++ b/demos/demo/cbm_balloon.data.h @@ -0,0 +1,65 @@ +// file generated automatically by mkfont.js -- do not edit + 0b00001111, + 0b00111111, + 0b01111111, + 0b01111100, + 0b11111011, + 0b11111011, + 0b11111011, + 0b01111100, + 0b01111111, + 0b01111111, + 0b01011111, + 0b00101111, + 0b00100111, + 0b00010011, + 0b00010011, + 0b00001001, + 0b11100000, + 0b11111000, + 0b11111100, + 0b11111100, + 0b00111110, + 0b11111110, + 0b00111110, + 0b11111100, + 0b11111100, + 0b11111100, + 0b11110100, + 0b11101000, + 0b11001000, + 0b10010000, + 0b10010000, + 0b00100000, + 0b00001001, + 0b00000111, + 0b00000111, + 0b00000111, + 0b00000011, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00100000, + 0b11000000, + 0b11000000, + 0b11000000, + 0b10000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, diff --git a/demos/demo/cbm_balloon.h b/demos/demo/cbm_balloon.h new file mode 100644 index 0000000..daff455 --- /dev/null +++ b/demos/demo/cbm_balloon.h @@ -0,0 +1,7 @@ +// file generated automatically by mkfont.js -- do not edit +const byte cbm_balloon[] = { + +#include "cbm_balloon.data.h" + +}; + diff --git a/demos/demo/demo_screen2.h b/demos/demo/demo_screen2.h index 542c899..31b8a79 100644 --- a/demos/demo/demo_screen2.h +++ b/demos/demo/demo_screen2.h @@ -1,5 +1,21 @@ #include +#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); +} + void demo_screen2() { tms_init_regs(SCREEN2_TABLE); @@ -30,6 +46,7 @@ void demo_screen2() { screen2_plot_mode = PLOT_MODE_SET; +/* // define sprites using bitmap fonts tms_copy_to_vram(&FONT[64*8], 32*8, TMS_SPRITE_PATTERNS); @@ -40,11 +57,43 @@ void demo_screen2() { tms_set_sprite_magnification(1); tms_sprite spr; - for(byte t=0;t<32;t++) { - spr.x = 10 + t*32; + for(byte t=0;t<4;t++) { + spr.x = 200; spr.y = 5 + t*32; - spr.name = t; + spr.name = t*4; spr.color = t+1; tms_set_sprite(t, &spr); } +*/ + + // 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); + } } + diff --git a/demos/demo/mk_baloon.js b/demos/demo/mk_baloon.js new file mode 100644 index 0000000..cd6e276 --- /dev/null +++ b/demos/demo/mk_baloon.js @@ -0,0 +1,120 @@ +function e(s) { + let b = 0; + for(let t=0;t