Jump to content
IGNORED

Kiwi's Blog - My quest to programming the Colecovision.


RSS Bot

Recommended Posts

December 1st, I came across a video how to install the Colecovision Dev kit and the SDCC stuff. After I installed the program, I use the cci tool to compile the example program that came with the kit and it works. Only thing that the cci can't do is compile assembly. Then I started messing with chateau source code, like try to translate the whole thing into english. Bablefish spit out some of string of weird sentence. Such as, Depuis des siecles, des gens tentent en vain de ravir le tresor du chateau pres de votre village, in to, since centuries, people in vain try to charm the treasure of the castle close to your village. I'm not exactly sure what is really means so my translation of that sentence was, Past centuries, enemies try to steal the treasure from the castle, near your village. Anyway, that source code has a lot of stuff that are interesting to read and figure out the proper perimeter for module. It inspired me to make a hello world program. By the way, Is PAYSANNE really is COUNTRY-WOMAN? Anyway, bablefish is about 82% accurate.

 

In my helloworld program, I learned how to use print_at(1,1,"Hello world"). Then I challenge myself a bit, I decided to learn how to load sprite in that program. Chateau has the command put_vram (sprtab,spr1,0xc0); and thought that wouldn't be a problem. I made a sprite in CVpaint2 and insert it into Chateau sprite table and of course it messed it up because the sprite was in RLE compression format. Back to helloworld program, I decided to make a table and paste the RLE code into it. The sprite doesn't look like the one I made in CVpaint. It was a sprite of a ghost by the way, if you're curious. I coded the sprite with notepad,'.....XXX = 07', and made a table of the sprite inside the program. I counted 32 bytes in the table. I compiled my program, sure enough the ghost showed up perfectly. I didn't know how to use RLE command.

 

I wanted to use ICVGM so it would speed up process drawing graphic and it has an option to make a C file RLE compressed or no compression. I searched the program top to bottom on google, no dice. I responded to newcoleco in his thread, hoping he would release his program once again. I was stunned and happy that he made it available. I am a pixel artist and this program is awesome making tileset because it follows the Colecovision strict rule. I am very happy with it. My strength in pixel art after all is tileset.

 

C programming reminds me of basic programming for the TI-83 calculator. I programmed about 20+ programs for that thing. I lost a lot of these program. The first program I made was a text adventure. It was easy to make and straight forward. I made images out of ASCII, and some as pic0 file. I had to split them into 2 chunks because they were 20 KB each. Eventually after that I made an RPG battle engine for the next few game. I even made RPG battle use the graph to build graphics. One stupidest thing that I did was to erase ") to save 2 byte and didn't think they were necessary. I made a space ship game that you have to defend earth from astroids. My final game I completed was Number_blasting game. The idea is to move your ship up and down. You have to shoot the number several time to match the number next to it. If you go over that number, then that number goes to zero. You have a time limit so you don't have time to make mistake. That game exist on that calculator.

 

Finally, I just learn how to load graphic data to Colecovision VRAM. It took me several hours, which it should only take several minutes. I made a char/tileset, name table, and color table to be thrown to the new program I'm making, which is a text adventure(gotta start small). I don't know what it was. I had the c file with graphics only. I used "extern const byte NAME[];, extern const byte PATTERN[];, extern const byte COLOR[];". Did load_patternrle, load_name, and etc. It didn't work properly. I tried using uncompressed graphics so i couldn't use load_pattern() since it doesn't exist so I used put_vram(). That didn't work. I just copy and paste the graphic information from the image.c and put it into the main.c file. It works, but the colors didn't work properly. Spent hours trying to learn everything put_vram and Colecovision's video memory. I finally understood CV vram map. After awhile, it works when I took load_color(COLOR) out of the enable/disable NMI nest and the colors loaded properly. I replaced the uncompress image with RLE compression images. The ROM size when from 7KB to 2KB. Pretty nifty!!!

 

http://www.atariage.com/forums/index.php?app=blog&blogid=340&showentry=6657

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...