+SpiceWare Posted February 2, 2014 Share Posted February 2, 2014 Nice Minor usability suggestion - make your BITMAP command support _ and X as well as 0 and 1. Then Kiwi's bitmaps could look like this: BITMAP "XXXX__XX" BITMAP "_XXX_X_X" BITMAP "X_X___X_" BITMAP "________" BITMAP "__XXXXXX" BITMAP "_X_X_XXX" BITMAP "__X_X_X_" BITMAP "________" BITMAP "_______X" BITMAP "_X___X__" BITMAP "_X_X_X__" BITMAP "___X____" BITMAP "X_____X_" BITMAP "X_X___X_" BITMAP "__X_X___" BITMAP "____X__X" BITMAP "XXX_XXX_" BITMAP "XXX_XXX_" BITMAP "XX_X_XX_" BITMAP "__XXX___" BITMAP "XX_X_XX_" BITMAP "XXX_XXX_" BITMAP "XXX_XXX_" BITMAP "________" BITMAP "X_X_X_X_" BITMAP "X_XXX_XX" BITMAP "X_XXX_XX" BITMAP "___X___X" BITMAP "X_X_X_X_" BITMAP "XXX_XXX_" BITMAP "XXX_XXX_" BITMAP "_X___X__" BITMAP "________" BITMAP "___X_X__" BITMAP "_X_X_X_X" BITMAP "_X_X_X_X" BITMAP "___X_X_X" BITMAP "_X_X_X_X" BITMAP "_X_X_X_X" BITMAP "________" BITMAP "_X_X_XX_" BITMAP "XXX_X_XX" BITMAP "XX____XX" BITMAP "X_XXXX__" BITMAP "X_X__XXX" BITMAP "X_XXXXX_" BITMAP "X_XXXX_X" BITMAP "_X____X_" BITMAP "________" BITMAP "_XXXXXX_" BITMAP "X__XX__X" BITMAP "X_X__X_X" BITMAP "X_XXXX_X" BITMAP "X_XXXX_X" BITMAP "XX_XX_XX" BITMAP "_XX__XX_" BITMAP "________" BITMAP "__X_X_X_" BITMAP "_X_X_X__" BITMAP "__X_X_X_" BITMAP "_X_XXXX_" BITMAP "__XXXXX_" BITMAP "________" BITMAP "________" BITMAP "X_XXXX_X" BITMAP "_XXXXXX_" BITMAP "X______X" BITMAP "_X_XX_X_" BITMAP "_XXXXXX_" BITMAP "__XXXX__" BITMAP "XXX__XXX" BITMAP "_XXXXXX_" BITMAP "XXXXXXXX" BITMAP "X_X__X_X" BITMAP "X_XXXX_X" BITMAP "________" BITMAP "__X__X__" BITMAP "_XX__XX_" BITMAP "________" BITMAP "XXX__XXX" I've always found it significantly easier to "see" and change graphics in code when using _ and X. For SF2 the main snowman graphic is defined like this: FrostyGraphic0: .byte zz___XX___ .byte zz___XX___ .byte zz___XX___ .byte zz___XX___ .byte zz__XXXX__ .byte zz___XXX__ .byte zz__X_X___ .byte zz_XXX_XX_ .byte zz_X_XXXX_ .byte zz_X____X_ .byte zz_X___XX_ .byte zz_XX__XX_ .byte zz__XXXX__ .byte zzXXXXXX__ .byte zz__XXXX__ .byte zz_XXX_XX_ .byte zzXXXXXXXX .byte zzXXXXXXXX .byte zzXXXXX_XX .byte zzXXXXXXXX .byte zzXXXXXXXX .byte zzXXXXX_XX .byte zzXXXXXXXX .byte zzXXXXXXXX .byte zz_XXXXXX_ FrostyGraphic1: .byte zz___XX___ .byte zz___XX___ .byte zz___XX___ .byte zz___XX___ .byte zz__XXXX__ .byte zz___XXX__ .byte zz__X_X___ .byte zz_XXX_XX_ .byte zz_X_XXXX_ .byte zz_X____X_ .byte zz_XX__XX_ .byte zz_XXXXXX_ FrostyGraphic2: .byte zz___XX___ .byte zz___XX___ .byte zz___XX___ .byte zz___XX___ .byte zz__XXXX__ .byte zz___XXX__ .byte zz__X_X___ .byte zz_XXX_XX_ .byte zz_XXXXXX_ .byte zz_X_XXXX_ .byte zz_XX___X_ .byte zz_XXXXXX_ FrostyGraphic3: .byte zz___XX___ ; 0 .byte zz___XX___ ; 1 .byte zz___XX___ ; 2 .byte zz___XX___ ; 3 .byte zz__XXXX__ ; 4 .byte zz___XXX__ ; 5 .byte zz__X_X___ ; 6 .byte zz_XXX_XX_ ; 7 .byte zz_XXXXXX_ ; 8 .byte zz_XXXXXX_ ; 9 .byte zz_XX__XX_ ; 10 .byte zz_XXXXXX_ ; 11 FrostyGraphic4: .byte zz___XX___ ; 0 .byte zz___XX___ ; 1 .byte zz___XX___ ; 2 .byte zz___XX___ ; 3 .byte zz__XXXX__ ; 4 .byte zz___XXX__ ; 5 .byte zz__X_X___ ; 6 .byte zz_XXX_XX_ ; 7 .byte zz_XXXXXX_ ; 8 .byte zz_XXXXXX_ ; 9 .byte zz_XX_XXX_ ; 10 .byte zz_XXXXXX_ ; 11 FrostyGraphic5: .byte zz___XX___ ; 0 .byte zz___XX___ ; 1 .byte zz___XX___ ; 2 .byte zz___XX___ ; 3 .byte zz__XXXX__ ; 4 .byte zz___XXX__ ; 5 .byte zz__X_X___ ; 6 .byte zz_XXX_XX_ ; 7 .byte zz_XXXXXX_ ; 8 .byte zz_XX__XX_ ; 9 .byte zz_X_XXXX_ ; 10 .byte zz_XXXXXX_ ; 11 FrostyGraphic6: .byte zz___XX___ ; 0 .byte zz___XX___ ; 1 .byte zz___XX___ ; 2 .byte zz___XX___ ; 3 .byte zz__XXXX__ ; 4 .byte zz___XXX__ ; 5 .byte zz__X_X___ ; 6 .byte zz_XXX_XX_ ; 7 .byte zz_XXXXXX_ ; 8 .byte zz_XX___X_ ; 9 .byte zz_X_XXXX_ ; 10 .byte zz_XXXXXX_ ; 11 1 Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted February 2, 2014 Share Posted February 2, 2014 Minor usability suggestion - make your BITMAP command support _ and X as well as 0 and 1. Then Kiwi's bitmaps could look like this: Or make it definable by the programmer by using the equivalent of something like C's #pragma. Then you can cater to all tastes. 1 Quote Link to comment Share on other sites More sharing options...
+DZ-Jay Posted February 2, 2014 Share Posted February 2, 2014 Or make it definable by the programmer by using the equivalent of something like C's #pragma. Then you can cater to all tastes. I vote for this. I personally prefer "." and "#" for my graphics definitions: ; 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 :COL=4,0 :COL=4,0 :COL=2,0 :COL=4,0 :COL=4,1 :COL=4,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=2,1 :COL=2,1 ; 00 ......#. ........ .......x ######## ###..... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ......#. ........ ..##.... ...##### #....... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ......## ........ .####... .......# #....... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ......## ........ ..##.... .......# ##...... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ......## ........ ........ ........ ###..... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## .....### ........ ........ ........ #######. .#...... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## .....### #....... ........ ........ ######## ####.... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## .....### #....... ........ .......# ######## ###..... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## :COL=4,1 :COL=4,0 :COL=8,0 :COL=0,0 :COL=4,0 :COL=4,1 :COL=4,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=2,1 :COL=2,1 ; 01 ....##.# #....... ........ .......o ######## ###..... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ....##.. #....... ...#.... ..##.... ...##### #....... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ...###.. ##...... ...#.... .####... .......# #....... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ...##... .#...... ..###... ..##.... .......# ##...... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ..###... ........ #######. ........ ........ ###..... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ..##.... ......#. ..#.#... ........ ........ #######. .#...... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## .##..... ......## ...#.... ........ ........ ######## ####.... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ##...... .......# ...#.... ........ .......# ######## ###..... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## :COL=1,1 :COL=6,0 :COL=4,0 :COL=4,0 :COL=4,0 :COL=4,0 :COL=4,1 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=2,1 ; 02 ........ ........ ##...... ........ ........ ......## ##...... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ; We need this extra tile ........ ..####.. ###..... ........ ........ .......# ##...... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ; for the "OF" letters. ........ .######. .####... ........ ........ ........ ###..... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ........ ######## ...####. ........ ........ ........ ####.... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ........ ######## .....### ####.... ........ ........ #####... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ........ #.###### ........ ######## ##...... .......# #######. ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ........ .#..###. ........ ...##### ######.. ...##### .....#.. ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ........ ..####.. ........ ........ ..###### ######## ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## :COL=1,1 :COL=1,1 :COL=1,0 :COL=1,0 :COL=4,0 :COL=4,1 :COL=4,0 :COL=4,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=2,1 :COL=2,1 ; 03 ######## ........ ........ ........ ######## ###..... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ######## ........ ........ ........ ...##### #....... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ######## ........ ........ ........ .......# #....... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ######## ........ ........ ........ .......# ##...... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ######## ........ ........ ........ ........ ###..... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ######## ........ ........ ........ ........ #######. ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ######## ........ ........ ........ ........ ######## #....#.. ...#.... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ######## ........ ........ ........ .......# ######## ######## #####... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## :COL=1,1 :COL=0,0 :COL=1,0 :COL=2,0 :COL=8,0 :COL=4,0 :COL=4,0 :COL=4,1 :COL=4,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=2,1 :COL=2,1 ; 04 ........ .......x ........ .......o ........ ......## ######## ###..... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ........ ..##.... ........ ..##.... ...#.... ........ ######## #....... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ........ .####... ........ .####... ...#.... ........ ......## #....... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ........ ..##.... ........ ..##.... ..###... ........ .......# ##...... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ........ ........ ........ ........ #######. ........ ........ ###..... ........ ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ........ ........ ........ ........ ..#.#... ........ ........ #######. .#...... ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ........ ........ ........ ........ ...#.... ........ ........ ######## ####.... ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ........ ........ ........ ........ ...#.... ........ ......## ######## ###..... ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## :COL=7,1 :COL=4,0 :COL=4,0 :COL=9,0 :COL=1,0 :COL=5,0 :COL=1,0 :COL=4,0 :COL=4,1 :COL=4,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=2,1 :COL=2,1 ; 05 .......o ......#. ........ ..##...x ........ ........ ........ ######## ###..... ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ..##.... ......#. ........ .####... ........ ..####.. ........ ...##### #....... ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## .####... ......## ........ ..##.... ........ .######. ........ .......# #....... ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ..##.... ......## ........ ........ ........ ######## ........ .......# ##...... ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ........ ......## ........ ........ ........ ######## ........ ........ ###..... ........ ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ........ .....### ........ .....##. ........ #.###### ........ ........ #######. .#...... ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ........ .....### #....... ....#### ........ .#..###. ........ ........ ######## ####.... ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ........ .....### #....... .....##. ........ ..####.. ........ .......# ######## ###..... ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## :COL=0,1 :COL=4,0 :COL=4,0 :COL=4,0 :COL=4,0 :COL=4,0 :COL=2,0 :COL=5,0 :COL=4,0 :COL=4,1 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=7,0 :COL=7,0 :COL=1,0 :COL=2,1 :COL=2,1 ; 06 ........ ....##.# ##...... ........ ........ ........ ..##...o .......x ......## ##...... ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## .....#.. ....##.. ###..... ........ ........ ........ .####... ..##.... .......# ##...... ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ........ ...###.. .####... ........ ........ ........ ..##.... .####... ........ ###..... ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ...#.... ...##... ...####. ........ ........ ........ ........ ..##.... ........ ####.... ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## .......# ..###... .....### ####.... ........ ........ ........ ........ ........ #####... ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ........ ..##.... ........ ######## ##...... ........ .....##. ........ .......# #######. ........ ........ ........ ........ ........ ........ ........ ........ ######## ######## ........ .##..... ........ ...##### ######.. ........ ....#### ........ ...##### .....#.. ........ ........ ........ ........ ........ .....### #####... ........ ######## ######## ........ ##...... ........ ........ ..###### ######## .....##. ........ ######## ........ ........ ........ ........ ........ ........ ....#### ##..##.. ........ ######## ######## :COL=1,1 :COL=1,0 :COL=1,0 :COL=1,0 :COL=4,0 :COL=4,0 :COL=4,0 :COL=4,0 :COL=4,1 :COL=4,0 :COL=4,0 :COL=1,0 :COL=1,0 :COL=7,0 :COL=7,0 :COL=7,0 :COL=7,0 :COL=2,0 :COL=2,1 :COL=2,1 ; 07 ........ ........ ........ ........ ......## ######## ######## ######## ###..... ........ ........ ........ ........ .....### #######. ...##### #.###.#. ######## ######## ######## ........ ........ ........ ........ ........ ....#### ######## ######## #....... ........ ........ ........ ........ ...##### ....#### #..##### .######. ######## ######## ######## ........ ........ ........ ........ ........ ........ ........ ......## #....... ........ ........ ........ ........ ...####. #######. ##.##### ...####. ######## ######## ######## ........ ........ ........ ........ ........ ........ ........ .......# ##...... ........ ........ ........ ........ ...##### ...##### .#..###. ...####. ######## ######## ######## ........ ........ ........ ........ ........ ........ ........ ........ ###..... ........ ........ ........ ........ ...##### .....### ####.##. ..#####. ######## ######## ######## ........ ........ ........ ........ ........ ........ ........ ........ #######. ........ ........ ........ ........ ...##### #....### #.#####. .#####.. ######## ######## ######## ........ ........ ........ ........ ........ ........ ........ ........ ######## #....#.. ...#.... ........ ........ ....#### #######. ######## ####.... ######## ######## ######## ........ ........ ........ ........ ........ ........ ........ ......## ######## ######## #####... ........ ........ .......# #####..# ####.### ##...... ######## ######## ######## :COL=1,1 :COL=9,0 :COL=8,0 :COL=1,0 :COL=7,0 :COL=1,0 :COL=1,0 :COL=6,0 :COL=4,0 :COL=4,0 :COL=4,1 :COL=4,0 :COL=1,0 :COL=7,1 :COL=7,0 :COL=7,0 :COL=7,0 :COL=2,0 :COL=2,1 :COL=2,0 ; 08 ........ ..##...o ........ ........ .......x ........ ........ ........ ......## ######## ###..... ........ ........ ........ ..###### .###..#. ####.... ......## ######## ######## ........ .####... ...#.... ........ ..##.... ........ ........ ..####.. ........ ######## #....... ........ ........ .......# #######. ####.#.. .####... ......## ######## ######## ........ ..##.... ...#.... ........ .####... ........ ........ .######. ........ ......## #....... ........ ........ .....### ###..... ####.#.. ..####.. ......## ######## ######## ........ ........ ..###... ........ ..##.... ........ ........ ######## ........ .......# ##...... ........ ........ ....#### ........ ####.#.. ..####.. ......## ####...# ######## ........ ........ #######. ........ ........ ........ ........ ######## ........ ........ ###..... ........ ........ ....###. ........ ####.#.. ...####. ......## ###..... #...#### ........ .....##. ..#.#... ........ ........ ........ ........ #.###### ........ ........ #######. ........ ........ ....###. ........ ####.#.. ....###. ......## #....##. ..#..### ........ ....#### ...#.... ........ ........ ........ ........ .#..###. ........ ........ ######## #....#.. ........ ....#... ........ ####.#.. ....###. ......## ..##..#. .##....# ........ .....##. ...#.... ........ ........ ........ ........ ..####.. ........ ......## ######## ######## ........ ........ ........ ####.#.. ....##.. ......## ..###.#. #...##.. :COL=2,1 :COL=5,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=1,0 :COL=0,0 :COL=0,0 :COL=8,0 :COL=1,0 :COL=9,0 :COL=4,0 :COL=4,1 :COL=7,1 :COL=7,0 :COL=7,0 :COL=7,0 :COL=1,1 :COL=6,0 :COL=6,0 ; 09 .......x ........ ........ ........ ........ ........ ..##...o .......x ........ ........ .......x ######## ###..... ........ ........ ####.#.. ....#... ........ #....... ........ ..##.... ..####.. ........ ........ ........ ........ .####... ..##.... ...#.... ........ ..##.... ...##### #....... ........ ........ ####.#.. ........ ........ .##.#... #.....#. .####... .######. ........ ........ ........ ........ ..##.... .####... ...#.... ........ .####... .......# #....... ........ ........ ####.#.. ........ ........ ....###. ##..##.. ..##.... ######## ........ ........ ........ ........ ........ ..##.... ..###... ........ ..##.... .......# ##...... ........ ........ #####... ........ ........ ....#### ........ ........ ######## ........ ........ ........ ........ ........ ........ #######. ........ ........ ........ ###..... ######## ######## .####### ######## ........ ....#### ........ ........ #.###### ........ ........ ........ ........ .....##. ........ ..#.#... ........ ........ ........ #######. ######## ######## ######## ######## ........ ....#### ........ ........ .#..###. ........ ........ ........ ........ ....#### ........ ...#.... ........ ........ ........ ######## ######## ######## ######## ######## ........ ....#### ........ ........ ..####.. ........ ........ ........ ........ .....##. ........ ...#.... ........ ........ .......# ######## ######## ######## ####.### ######## ........ ....###. ........ :COL=8,1 :COL=1,0 :COL=2,0 :COL=4,0 :COL=1,0 :COL=8,0 :COL=1,0 :COL=1,0 :COL=4,0 :COL=6,0 :COL=3,0 :COL=0,0 :COL=4,0 :COL=4,1 :COL=4,1 :COL=7,0 :COL=1,0 :COL=6,1 :COL=6,0 :COL=6,0 ; 0A ........ ........ .......x ......#. ........ .......o ........ ........ ........ .......x ..##...o ........ ......## #....... ........ ####.#.. ........ ######## ###.#### ######## ...#.... ........ ..##.... ......#. ........ ..##.... ........ ........ ........ ..##.... .####... .....#.. .......# ##...... ........ ####.#.. ........ ######## ######## ######## ...#.... ........ .####... ......## ........ .####... ........ ........ ........ .####... ..##.... ........ ........ ##...... ........ ####.#.. ........ ........ ....###. ........ ..###... ........ ..##.... ......## ........ ..##.... ........ ........ ........ ..##.... ........ ...#.... ........ ####.... ..#..... ####.#.. ........ ######## ###.#### ######## #######. ........ ........ ......## ........ ........ ........ ........ ........ ........ ........ .......# ........ #######. ..##.... ####.#.. ........ ........ ....#### ........ ..#.#... ........ ........ .....### ........ ........ ........ ........ ......#. ........ .....##. ........ .......# ######## ###..... ####.#.. ........ ........ ....#### ........ ...#.... ........ ........ .....### ........ ........ ........ ........ ......## ........ ....#### ........ ...##### ######## ####.... ####.#.. ........ ........ ....#### ........ ...#.... ........ ........ .....### ........ ........ ........ ........ .......# ........ .....##. ........ ######## ######## ####.... ####.#.. ........ ........ ....#### ........ :COL=1,1 :COL=1,0 :COL=0,0 :COL=4,0 :COL=4,0 :COL=4,0 :COL=4,0 :COL=4,0 :COL=5,0 :COL=4,0 :COL=4,0 :COL=4,0 :COL=4,0 :COL=4,0 :COL=4,1 :COL=7,1 :COL=1,0 :COL=1,1 :COL=6,0 :COL=6,0 ; 0B ........ ........ ........ ....##.# ##...... ........ ........ ........ ........ ##...... ........ ........ ........ ......## ###..... ####.#.. ........ ........ ....#### ........ ........ ........ .....#.. ....##.. ###..... ........ ........ ........ ..####.. ###..... ........ ........ ........ ........ ######.. ####.#.. ........ ........ ....#### ........ ........ ........ ........ ...###.. .####... ........ ........ ........ .######. .####... ........ ........ ........ ........ ##..#... ####.#.. ........ ........ ....#### ........ ........ ........ ...#.... ...##... ...####. ........ ........ ........ ######## ...####. ........ ........ ........ .......# ##...... ####.#.. ........ ........ ....#### ........ ........ ........ .......# ..###... .....### ####.... ........ ........ ######## .....### ####.... ........ ........ ......## #....... ####.#.. ........ ........ ....#### ........ ........ ........ ........ ..##.... ........ ######## ##...... ........ #.###### ........ ######## ##...... ........ ...##### #....... ####.#.. ........ ........ ....#### ........ ........ ........ ........ .##..... ........ ...##### ######.. ........ .#..###. ........ ...##### ######.. ........ ######## ........ ####.#.. ........ ........ ....#### ........ ........ ........ ........ ##...... ........ ........ ..###### ######## ..####.. ........ ........ ..###### ######## ######## ........ ####.#.. ........ ........ ....#### ........ ; 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 2 Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted February 2, 2014 Share Posted February 2, 2014 Personally I like 0 or 1 for Inty graphics. Having said that, I do have a custom tool (its project specific so not much use to anybody else) that I hacked together that takes in 2BPP windows *.BMP files and outputs GRAM card data so its not really an issue for me. Quote Link to comment Share on other sites More sharing options...
+nanochess Posted February 2, 2014 Author Share Posted February 2, 2014 I can fit both _X and .# For next update. 3 Quote Link to comment Share on other sites More sharing options...
+nanochess Posted February 3, 2014 Author Share Posted February 3, 2014 Well, just updated IntyBASIC to version 0.2 (check first post) Updated executables for Win, Mac and now includes Linux. Added title.bas sample. BITMAP statement enhanced. And more programming guidelines inside manual. 5 Quote Link to comment Share on other sites More sharing options...
+SpiceWare Posted February 4, 2014 Share Posted February 4, 2014 (edited) I vote for this. I personally prefer "." and "#" for my graphics definitions: Looks good .byte zz...##... .byte zz...##... .byte zz...##... .byte zz...##... .byte zz..####.. .byte zz...###.. .byte zz..#.#... .byte zz.###.##. .byte zz.#.####. .byte zz.#....#. .byte zz.##..##. .byte zz.######. It's a little easier to see which pixel is which with . than with _ .byte zz___XX___ .byte zz___XX___ .byte zz___XX___ .byte zz___XX___ .byte zz__XXXX__ .byte zz___XXX__ .byte zz__X_X___ .byte zz_XXX_XX_ .byte zz_X_XXXX_ .byte zz_X____X_ .byte zz_XX__XX_ .byte zz_XXXXXX_ It does look a little different in my editor though as the font I use doesn't merge the underscores. When I next work on Frantic I'll have to see if using . and # will work in DASM as I don't know off the top of my head if . or # can be used in label names. Edited February 4, 2014 by SpiceWare 1 Quote Link to comment Share on other sites More sharing options...
+nanochess Posted February 4, 2014 Author Share Posted February 4, 2014 Looks good .byte zz...##... .byte zz...##... .byte zz...##... .byte zz...##... .byte zz..####.. .byte zz...###.. .byte zz..#.#... .byte zz.###.##. .byte zz.#.####. .byte zz.#....#. .byte zz.##..##. .byte zz.######. It's a little easier to see which pixel is which with . than with _ .byte zz___XX___ .byte zz___XX___ .byte zz___XX___ .byte zz___XX___ .byte zz__XXXX__ .byte zz___XXX__ .byte zz__X_X___ .byte zz_XXX_XX_ .byte zz_X_XXXX_ .byte zz_X____X_ .byte zz_XX__XX_ .byte zz_XXXXXX_ When I next work on Frantic I'll have to see if using . and # will work in DASM as I don't know off the top of my head if . or # can be used in label names. The two schemes now work in BITMAP statement. To resume it: characters '_', '.', '0', and space are taken as zero, every other as one. It leaves a lot of space for personal preferences, you could use something like this: BITMAP " **** " BITMAP " ****** " BITMAP "** ** **" BITMAP "********" BITMAP "********" BITMAP "** **" BITMAP " ** ** " BITMAP " **** " 2 Quote Link to comment Share on other sites More sharing options...
Kiwi Posted February 5, 2014 Share Posted February 5, 2014 I've been working on a miniature game with IntyBASIC. I been trying out different basic command and see how they work. Also collusion works works well. I don't have to rely on software collusion. I should have more different stuff to drop so if you catch a spiny worm, you lose a life. I tested ORG $D000 Statement and seems to work fine without problem. So I could possible make a 16KB game with IntyBASIC. I should play with the scroll register see how they work. 3 Quote Link to comment Share on other sites More sharing options...
+nanochess Posted February 5, 2014 Author Share Posted February 5, 2014 I've been working on a miniature game with IntyBASIC. I been trying out different basic command and see how they work. Also collusion works works well. I don't have to rely on software collusion. I should have more different stuff to drop so if you catch a spiny worm, you lose a life. I'm glad you're learning. It looks pretty cool! I tested ORG $D000 Statement and seems to work fine without problem. So I could possible make a 16KB game with IntyBASIC. Yep, I would suggest to put graphics in $D000 and $F000 for big games. Still I must add notes to manual. I should play with the scroll register see how they work. Excellent! myself I don't have tried yet the scroll registers, but you should be in the safe side if you update they just after WAIT. Quote Link to comment Share on other sites More sharing options...
catsfolly Posted February 5, 2014 Share Posted February 5, 2014 I'm also trying to make a simple game with IntvBASIC just to try it out.I'M still "a few balloons short of a party" ("If you know what I mean...") but you can get an idea of where the game is going... It certainly takes a lot less typing than assembly language. But (so far) it's difficult to set up data tables the way I want to, and I end up with either very long "if" statements or lots of "gotos" ... But, I'm still learning how to use it... Catsfolly 8 Quote Link to comment Share on other sites More sharing options...
Kiwi Posted February 5, 2014 Share Posted February 5, 2014 http://wiki.intellivision.us/index.php?title=Memory_MapThis shows what memory that a cartridge can assign. So I think over 16KB is available for cartridge. This should be more than enough. http://wiki.intellivision.us/index.php?title=STIC#Registers This have the addresses for the STIC register so you can POKE values into. Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted February 5, 2014 Share Posted February 5, 2014 You can also use other memory regions as long as you map out the ECS first. Quote Link to comment Share on other sites More sharing options...
intvnut Posted February 5, 2014 Share Posted February 5, 2014 I can suppose only that your Mac is 32-bits You should be able to build a fat binary with both 32-bit and 64-bit in there. See the Makefile in jzIntv (Makefile.osx_framework, I believe) for the correct CFLAGS. Quote Link to comment Share on other sites More sharing options...
intvnut Posted February 5, 2014 Share Posted February 5, 2014 http://wiki.intellivision.us/index.php?title=Memory_Map This shows what memory that a cartridge can assign. So I think over 16KB is available for cartridge. This should be more than enough. http://wiki.intellivision.us/index.php?title=STIC#Registers This have the addresses for the STIC register so you can POKE values into. I have an updated AS1600 and cart.mac I should release soon that supports ECS-style bankswitching. With that, you should be able to go quite large. JLP boards go up to 118K 16-bit words or so. (They can go even further than that if you have a lot of data that fits in 12 bits or 8 bits.) Quote Link to comment Share on other sites More sharing options...
+nanochess Posted February 5, 2014 Author Share Posted February 5, 2014 I'm also trying to make a simple game with IntvBASIC just to try it out. I'M still "a few balloons short of a party" ("If you know what I mean...") but you can get an idea of where the game is going... cb2.gif It certainly takes a lot less typing than assembly language. But (so far) it's difficult to set up data tables the way I want to, and I end up with either very long "if" statements or lots of "gotos" ... But, I'm still learning how to use it... Catsfolly Amazing! Well done! You should be able to build a fat binary with both 32-bit and 64-bit in there. See the Makefile in jzIntv (Makefile.osx_framework, I believe) for the correct CFLAGS. Yep, thanks! I forgot to say that I've built an universal binary with both 32-bit and 64-bit, but I thought it was easIer to say it works starting with Mac OS X 10.6 Quote Link to comment Share on other sites More sharing options...
Jess Ragan Posted February 6, 2014 Share Posted February 6, 2014 RE: Clowns and Balloons: Good lord! IntyBASIC is capable of this already? Geez. Now I feel bad for not spending more time with it. 2 Quote Link to comment Share on other sites More sharing options...
fsuinnc Posted February 6, 2014 Share Posted February 6, 2014 I'm also trying to make a simple game with IntvBASIC just to try it out. I'M still "a few balloons short of a party" ("If you know what I mean...") but you can get an idea of where the game is going... cb2.gif It certainly takes a lot less typing than assembly language. But (so far) it's difficult to set up data tables the way I want to, and I end up with either very long "if" statements or lots of "gotos" ... But, I'm still learning how to use it... Catsfolly So.... When can we get a look at the code and/or .bin??? 1 Quote Link to comment Share on other sites More sharing options...
catsfolly Posted February 6, 2014 Share Posted February 6, 2014 (edited) So.... When can we get a look at the code and/or .bin??? I'll post the basic source code once I get everything working. At a minimum, I still need to: 1. Animate the balloons bursting. 2. Detect when all the balloons are gone and advance to the next round. 3. Put up different balloon patterns for each round. 4. Keep track of the number of clown lives. 5. Animate the clown hitting the ground. 6. Detect and display game over. 7. Add sound effects. 8. Put in more comments. At the moment. There are about 150 lines of code, and 250 lines of graphics data and tables. Here is the title screen part: REM REM Clowns and Balloons game REM Created in IntyBASIC REM by Catsfolly REM Feb 2014. REM cls REM the screen is 20 chars wide so position is 20 * row + col print at (20* 3 + 5),"Clowns and" print at (20* 4 + 6),"Balloons" print at (20* 5 + ,"0.2" print at (20* 9 + 4) COLOR 1,"Created with" print at (20*10 + 4) COLOR 2,"IntyBasic 0.2" title: IF (cont1.button + cont1.left + cont1.right + cont1.up + cont1.down)=0 THEN GOTO title cls Edited February 6, 2014 by catsfolly 1 Quote Link to comment Share on other sites More sharing options...
+nanochess Posted February 6, 2014 Author Share Posted February 6, 2014 I'll post the basic source code once I get everything working. At a minimum, I still need to: 1. Animate the balloons bursting. 2. Detect when all the balloons are gone and advance to the next round. 3. Put up different balloon patterns for each round. 4. Keep track of the number of clown lives. 5. Animate the clown hitting the ground. 6. Detect and display game over. 7. Add sound effects. 8. Put in more comments. At the moment. There are about 150 lines of code, and 250 lines of graphics data and tables. I remember you said you're using data tables, are these read-only? I could manage to do a kind of indexed array-access to read-only DATA statements. My proposal would be like this: FOR A=0 TO 4 PRINT AT TABLE(A),"Z" NEXT A TABLE: DATA 21,42,63,84,105 Also I've the temptation to add a DIM statement to manage single-dimensional arrays in RAM (8/16 bits, although there is little space) Quote Link to comment Share on other sites More sharing options...
catsfolly Posted February 6, 2014 Share Posted February 6, 2014 I remember you said you're using data tables, are these read-only? I could manage to do a kind of indexed array-access to read-only DATA statements. My proposal would be like this: FOR A=0 TO 4 PRINT AT TABLE(A),"Z" NEXT A TABLE: DATA 21,42,63,84,105 Also I've the temptation to add a DIM statement to manage single-dimensional arrays in RAM (8/16 bits, although there is little space) Sounds like it would fit my needs. Currently I am looking at something like this: if round=1 THEN RESTORE round1_table if round=2 THEN RESTORE round2_table if round=3 THEN RESTORE round3_table read b1pos read b2pos etc... So a read only table where I can access any element would be useful. The DIM would also be useful, for example if a game had several enemy characters that had the same behavior. Instead of having separate code to set enemy1x, enemy2x, etc there could be one set of code that sets enemyx[index]. Thanks for making a very interesting tool! Catsfolly 1 Quote Link to comment Share on other sites More sharing options...
+nanochess Posted February 6, 2014 Author Share Posted February 6, 2014 Sounds like it would fit my needs. ... So a read only table where I can access any element would be useful. The DIM would also be useful, for example if a game had several enemy characters that had the same behavior. Instead of having separate code to set enemy1x, enemy2x, etc there could be one set of code that sets enemyx[index]. Thanks for making a very interesting tool! Catsfolly Ok! then consider it done for next version Also your technique can work fine. Thanks you for making a so nice game 2 Quote Link to comment Share on other sites More sharing options...
Kiwi Posted February 7, 2014 Share Posted February 7, 2014 (edited) I'm not sure what you're refering to space. I think we have 200 8-bit ram, aka scratch ram. Array would be an awesome addition to IntyBASIC. It perfect for slot system and help reorganize sprites data just in case the game need more than 8 mobile objects. I'm still working on the Apple Catcher mini game. Edited February 7, 2014 by Kiwi 3 Quote Link to comment Share on other sites More sharing options...
+DZ-Jay Posted February 7, 2014 Share Posted February 7, 2014 Sounds like it would fit my needs. Currently I am looking at something like this: if round=1 THEN RESTORE round1_table if round=2 THEN RESTORE round2_table if round=3 THEN RESTORE round3_table read b1pos read b2pos etc... So a read only table where I can access any element would be useful. The DIM would also be useful, for example if a game had several enemy characters that had the same behavior. Instead of having separate code to set enemy1x, enemy2x, etc there could be one set of code that sets enemyx[index]. Thanks for making a very interesting tool! Catsfolly What about doing it the typical BASIC way: all DATA entries go in the same table, and you use the READ command to get the read the next cell, keeping an internal cursor that can be reset with CLEAR. -dZ. Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted February 7, 2014 Share Posted February 7, 2014 Not that this is a poll but accessing DATA as an array has been the most beneficial. It's been a godsend for collision maps, level layout and music. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.