Jump to content
IGNORED

Call of Pacman


Kiwi

Recommended Posts

post-24767-0-87518800-1498578011.gif

 

I wanted to share this...

 

Ever since I saw that post on the programming forum that is no longer there, I wanted to try doing full motion video stuff for the Colecovision. I decided to leave the color table data out and use fill_vram to fill in the color table, so 1-bit video would play. I created the animation in Cinema 4D, and used cell rendering feature to render the animation in 1 color. Then render a frame at a time and save it to bitmap. I don't know how to extract bitmap as a 1-bit pixel table so I booted up Paint Shop Pro 4 and mass open all the bitmap files I made for the scene. And also booted up CVpaint 2 since it load/process picture from the clipboard. I used copy to get the frame into the clipboard, and in CVpaint, I clicked on paste and loaded the picture as a black and white picture. And produce a .c file as a rle'd data.

 

I used Cinema 4D to help me draw Pacman and ghost in CVsprite 2. I wanted Pacman to be 2 sprites a line, but it'll take more sprite data to store the punched out version of the sprites. The ghosts are 2 sprites a line. I flickered between 2 sprites to add an additional color to pacman and the power pellet. I had to do the same for Flappe Byrd Medal scene.

 

And the game itself is kinda making fun of modern game for being too easy and handholdy. This game have 4 FMV animation sequence, the title, board zoom in scene, Pac death scene, and the winning scene. I made MSPAC being the support person like Roll in Megaman Legend or Navi in Zelda:OoT. Score wasn't important in modern game so I left out the scoring feature. Just get to the Power Pallet and you have beaten the game. Also, the enemy doesn't even attempt to chase after you in this game.

 

I may expand using this FMV idea. I haven't yet make a 256KB or 512KB ROM. Just 128KB that is successfully made. The very least, I do want to make a FMV stuff for my 128KB version of Rockcutter, so these 4 pages of data have something in them.

ROM:

CallOfPac.rom

Video:

Edited by Kiwi
  • Like 14
Link to comment
Share on other sites

That's pretty awesome. ;)

 

I did some work on raw video conversion on the TI side, I have a script that will output raw video data interleaved with audio - though I haven't written a Coleco player due to memory usage. I use only half the bitmap screen to improve frame rate, but it still chows down memory fast... even a 1MB megacart doesn't go very far.

 

But, if you're curious check the thread here - it links to some YouTube samples (some of which are down) - http://atariage.com/forums/topic/234632-animation-playback-on-the-ti-994a/

  • Like 1
Link to comment
Share on other sites

 

ROM: BTshort.rom

 

I was curious how well it handles doing both pattern and colors table. Not really well. 3-4 frames per 16KB bank. At least the majority of the Burgertime short I did 8 years ago made it in. After all, Burgertime was the game that made me get a Colecovision.

Here's the short:



Tursi, I did come across that animation thread. I thought it was really cool!! I did send my sister the link of Frozen, Let it Go few years ago. When you say memory, you're referring to ROM size? I think the Ultimate SD cartridge might use up to 1024KB, it has the 512KB ROM that test bankswitching.
  • Like 7
Link to comment
Share on other sites

Tursi, I did come across that animation thread. I thought it was really cool!! I did send my sister the link of Frozen, Let it Go few years ago. When you say memory, you're referring to ROM size? I think the Ultimate SD cartridge might use up to 1024KB, it has the 512KB ROM that test bankswitching.

 

Yeah... my smallest sample is the SpaceBalls clip, that requires 2MB of ROM. Most of the cart samples I made at 16MB, and a few hit 32MB (which is the TI's theorhetical maximum with the bank switching scheme we are using - no hardware larger than 2MB exists yet though).

 

Loving your clips though :)

Link to comment
Share on other sites

  • 3 years later...
On 6/27/2017 at 12:05 PM, Kiwi said:

post-24767-0-87518800-1498578011.gif

 

I wanted to share this...

 

Ever since I saw that post on the programming forum that is no longer there, I wanted to try doing full motion video stuff for the Colecovision. I decided to leave the color table data out and use fill_vram to fill in the color table, so 1-bit video would play. I created the animation in Cinema 4D, and used cell rendering feature to render the animation in 1 color. Then render a frame at a time and save it to bitmap. I don't know how to extract bitmap as a 1-bit pixel table so I booted up Paint Shop Pro 4 and mass open all the bitmap files I made for the scene. And also booted up CVpaint 2 since it load/process picture from the clipboard. I used copy to get the frame into the clipboard, and in CVpaint, I clicked on paste and loaded the picture as a black and white picture. And produce a .c file as a rle'd data.

 

I used Cinema 4D to help me draw Pacman and ghost in CVsprite 2. I wanted Pacman to be 2 sprites a line, but it'll take more sprite data to store the punched out version of the sprites. The ghosts are 2 sprites a line. I flickered between 2 sprites to add an additional color to pacman and the power pellet. I had to do the same for Flappe Byrd Medal scene.

 

And the game itself is kinda making fun of modern game for being too easy and handholdy. This game have 4 FMV animation sequence, the title, board zoom in scene, Pac death scene, and the winning scene. I made MSPAC being the support person like Roll in Megaman Legend or Navi in Zelda:OoT. Score wasn't important in modern game so I left out the scoring feature. Just get to the Power Pallet and you have beaten the game. Also, the enemy doesn't even attempt to chase after you in this game.

 

I may expand using this FMV idea. I haven't yet make a 256KB or 512KB ROM. Just 128KB that is successfully made. The very least, I do want to make a FMV stuff for my 128KB version of Rockcutter, so these 4 pages of data have something in them.

ROM:

CallOfPac.rom 31.12 kB · 88 downloads

Video:

 

Hi there, Kiwi. I was able to port this to MSX, I can show it to you if you're interested. ?

  • Like 1
Link to comment
Share on other sites

10 hours ago, Taylor the Gaming Guy said:

Hi there, Kiwi. I was able to port this to MSX, I can show it to you if you're interested. ?

Cool!  Sure.  Pretty neat you were able to convert C converted to asm code to the MSX.  I still have the source code, however the 3D objects were not saved. 

Speaking of smooth scrolling, I've been experimenting with smooth scrolling lately. 
SmoothScroll.gif.134651363a7cb1459afb1c7068155eeb.gif

The game's very early.  I load the char in 0x0400,0x0c02,0x1404, 0x2c06.  So it's shifted by 2. What I'm doing is doing like what NES does when changing CHR-ROM bank, I'm loading new value to the register that holds the address for the CHR.  I'm doing this in screen mode 1(1 char/color table), since the mirroring bug doesn't occur in that mode I believe.  It copies from the main screen, and paste to the other screen 3lines a frame.  Then draw new strip on top before flipping to the other screen.  It has enough time to do 6 rows I experimented, but it leave little leftover for CPU time and I'm running the game at 30 fps.  4th speed probably going to be used for escape sequence. I'm using 32 bytes of RAM to do this.

  • Like 2
Link to comment
Share on other sites

2 hours ago, Kiwi said:

Cool!  Sure.  Pretty neat you were able to convert C converted to asm code to the MSX.  I still have the source code, however the 3D objects were not saved. 

Speaking of smooth scrolling, I've been experimenting with smooth scrolling lately. 
SmoothScroll.gif.134651363a7cb1459afb1c7068155eeb.gif

The game's very early.  I load the char in 0x0400,0x0c02,0x1404, 0x2c06.  So it's shifted by 2. What I'm doing is doing like what NES does when changing CHR-ROM bank, I'm loading new value to the register that holds the address for the CHR.  I'm doing this in screen mode 1(1 char/color table), since the mirroring bug doesn't occur in that mode I believe.  It copies from the main screen, and paste to the other screen 3lines a frame.  Then draw new strip on top before flipping to the other screen.  It has enough time to do 6 rows I experimented, but it leave little leftover for CPU time and I'm running the game at 30 fps.  4th speed probably going to be used for escape sequence. I'm using 32 bytes of RAM to do this.
imageproxy.php?img=&key=f4dcc336a70d5c68imageproxy.php?img=&key=f4dcc336a70d5c68

Okay, I will be just there on the MSX site soon. BTW, I would love to also convert this to MSX too. ?

Link to comment
Share on other sites

On 6/28/2017 at 9:56 AM, Kiwi said:

 

 

ROM: BTshort.rom

 

I was curious how well it handles doing both pattern and colors table. Not really well. 3-4 frames per 16KB bank. At least the majority of the Burgertime short I did 8 years ago made it in. After all, Burgertime was the game that made me get a Colecovision.

Here's the short:
 

 


Tursi, I did come across that animation thread. I thought it was really cool!! I did send my sister the link of Frozen, Let it Go few years ago. When you say memory, you're referring to ROM size? I think the Ultimate SD cartridge might use up to 1024KB, it has the 512KB ROM that test bankswitching.

 

I have this too, IDK if I can convert this to MSX though.

Link to comment
Share on other sites

On 6/27/2017 at 12:05 PM, Kiwi said:

post-24767-0-87518800-1498578011.gif

 

I wanted to share this...

 

Ever since I saw that post on the programming forum that is no longer there, I wanted to try doing full motion video stuff for the Colecovision. I decided to leave the color table data out and use fill_vram to fill in the color table, so 1-bit video would play. I created the animation in Cinema 4D, and used cell rendering feature to render the animation in 1 color. Then render a frame at a time and save it to bitmap. I don't know how to extract bitmap as a 1-bit pixel table so I booted up Paint Shop Pro 4 and mass open all the bitmap files I made for the scene. And also booted up CVpaint 2 since it load/process picture from the clipboard. I used copy to get the frame into the clipboard, and in CVpaint, I clicked on paste and loaded the picture as a black and white picture. And produce a .c file as a rle'd data.

 

I used Cinema 4D to help me draw Pacman and ghost in CVsprite 2. I wanted Pacman to be 2 sprites a line, but it'll take more sprite data to store the punched out version of the sprites. The ghosts are 2 sprites a line. I flickered between 2 sprites to add an additional color to pacman and the power pellet. I had to do the same for Flappe Byrd Medal scene.

 

And the game itself is kinda making fun of modern game for being too easy and handholdy. This game have 4 FMV animation sequence, the title, board zoom in scene, Pac death scene, and the winning scene. I made MSPAC being the support person like Roll in Megaman Legend or Navi in Zelda:OoT. Score wasn't important in modern game so I left out the scoring feature. Just get to the Power Pallet and you have beaten the game. Also, the enemy doesn't even attempt to chase after you in this game.

 

I may expand using this FMV idea. I haven't yet make a 256KB or 512KB ROM. Just 128KB that is successfully made. The very least, I do want to make a FMV stuff for my 128KB version of Rockcutter, so these 4 pages of data have something in them.

ROM:

CallOfPac.rom 31.12 kB · 92 downloads

Video:

 

BTW, https://www.msx.org/forum/msx-talk/software/im-looking-for-gdx?page=5#comment-388307

Enjoy. ?

Link to comment
Share on other sites

  • 1 month later...
On 6/28/2017 at 9:56 AM, Kiwi said:

 

 

ROM: BTshort.rom

 

I was curious how well it handles doing both pattern and colors table. Not really well. 3-4 frames per 16KB bank. At least the majority of the Burgertime short I did 8 years ago made it in. After all, Burgertime was the game that made me get a Colecovision.

Here's the short:
 

 


Tursi, I did come across that animation thread. I thought it was really cool!! I did send my sister the link of Frozen, Let it Go few years ago. When you say memory, you're referring to ROM size? I think the Ultimate SD cartridge might use up to 1024KB, it has the 512KB ROM that test bankswitching.

 

I am also trying to port this to MSX.

Link to comment
Share on other sites

On 10/8/2020 at 8:49 AM, Taylor the Gaming Guy said:

I am also trying to port this to MSX.

It's basically 1 fixed 16KB lower ROM and 16 bankable Upper ROM.

The source code is basically loading image/color from RLE format. Nmi is disabled through out.  I don't think MSX has vram corruption issue that Colecovision does.  All I know MSX has their interrupt connected to INT and not NMI for the VDP. 
 

#define SWITCH_IN_BANK1		{ dummy=(*(volatile unsigned char*)0xFFF0); } // b0 with 64k
#define SWITCH_IN_BANK2		{ dummy=(*(volatile unsigned char*)0xFFF1); } // b0 with 64k
#define SWITCH_IN_BANK3		{ dummy=(*(volatile unsigned char*)0xFFF2); } // b1 with 64k
#define SWITCH_IN_BANK4		{ dummy=(*(volatile unsigned char*)0xFFF3); } // b2 with 64k
#define SWITCH_IN_BANK5		{ dummy=(*(volatile unsigned char*)0xFFF4); } // b0 with 64k
#define SWITCH_IN_BANK6		{ dummy=(*(volatile unsigned char*)0xFFF5); } // b1 with 64k
#define SWITCH_IN_BANK7		{ dummy=(*(volatile unsigned char*)0xFFF6); } // b2 with 64k
#define SWITCH_IN_BANK8		{ dummy=(*(volatile unsigned char*)0xFFF7); } // b0 with 64k
#define SWITCH_IN_BANK9		{ dummy=(*(volatile unsigned char*)0xFFF8); } // b0 with 64k
#define SWITCH_IN_BANKa		{ dummy=(*(volatile unsigned char*)0xFFF9); } // b1 with 64k
#define SWITCH_IN_BANKb		{ dummy=(*(volatile unsigned char*)0xFFFa); } // b2 with 64k
#define SWITCH_IN_BANKc		{ dummy=(*(volatile unsigned char*)0xFFFb); } // b0 with 64k
#define SWITCH_IN_BANKd		{ dummy=(*(volatile unsigned char*)0xFFFc); } // b1 with 64k
#define SWITCH_IN_BANKe		{ dummy=(*(volatile unsigned char*)0xFFFd); } // b2 with 64k
#define SWITCH_IN_BANKf		{ dummy=(*(volatile unsigned char*)0xFFFe); } // b0 with 64k

void main(void)
{
screen_mode_2_bitmap();
screen_on();
reset:
delay(2);
SWITCH_IN_BANK1;
delay(1);
rle2vram(a42,0);
rle2vram(a42c,0x2000);
delay(8);
rle2vram(a43,0);
rle2vram(a43c,0x2000);
delay(8);
rle2vram(a44,0);
rle2vram(a44c,0x2000);
delay(8);
rle2vram(a45,0);
SWITCH_IN_BANK2;
rle2vram(a45c,0x2000);
delay(8);
rle2vram(a46,0);
rle2vram(a46c,0x2000);
delay(8);
rle2vram(a47,0);
rle2vram(a47c,0x2000);
delay(8);
rle2vram(a53,0);
rle2vram(a53c,0x2000);
delay(8);
SWITCH_IN_BANK3;
rle2vram(a55,0);
rle2vram(a55c,0x2000);
delay(8);
rle2vram(a56,0);
rle2vram(a56c,0x2000);
delay(8);
rle2vram(a57,0);
rle2vram(a57c,0x2000);
delay(8);
rle2vram(a58,0);
SWITCH_IN_BANK4;
rle2vram(a58c,0x2000);
delay(8);
rle2vram(a59,0);
rle2vram(a59c,0x2000);
delay(8);
rle2vram(a60,0);
rle2vram(a60c,0x2000);
delay(8);
rle2vram(a61,0);
SWITCH_IN_BANK5;
rle2vram(a61c,0x2000);
delay(8);
rle2vram(a62,0);
rle2vram(a62c,0x2000);
delay(8);
rle2vram(a63,0);
rle2vram(a63c,0x2000);
delay(8);
rle2vram(a64,0);
SWITCH_IN_BANK6;
rle2vram(a64c,0x2000);
delay(8);

rle2vram(a65,0);
rle2vram(a65c,0x2000);
delay(8);
rle2vram(a66,0);
rle2vram(a66c,0x2000);
delay(8);
rle2vram(a67,0);
SWITCH_IN_BANK7;
rle2vram(a67c,0x2000);

delay(8);
rle2vram(a71,0);
rle2vram(a71c,0x2000);
delay(32);
rle2vram(a75,0);
SWITCH_IN_BANK8;
rle2vram(a75c,0x2000);
delay(32);

rle2vram(a79,0);
rle2vram(a79c,0x2000);
delay(16);
rle2vram(a81,0);
rle2vram(a81c,0x2000);
delay(8);
rle2vram(a82,0);
SWITCH_IN_BANK9;
rle2vram(a82c,0x2000);
delay(8);
rle2vram(a83,0);
rle2vram(a83c,0x2000);
delay(8);
rle2vram(a84,0);
rle2vram(a84c,0x2000);
delay(8);
rle2vram(a85,0);
SWITCH_IN_BANKa;
rle2vram(a85c,0x2000);
delay(8);
rle2vram(a86,0);
rle2vram(a86c,0x2000);
delay(8);
rle2vram(a87,0);
rle2vram(a87c,0x2000);
delay(8);
rle2vram(a88,0);
SWITCH_IN_BANKb;
rle2vram(a88c,0x2000);
delay(8);
rle2vram(a89,0);
rle2vram(a89c,0x2000);
delay(8);
rle2vram(a90,0);
rle2vram(a90c,0x2000);
delay(8);
rle2vram(a91,0);
SWITCH_IN_BANKc;
rle2vram(a91c,0x2000);
delay(8);
rle2vram(a92,0);
rle2vram(a92c,0x2000);
delay(8);
rle2vram(a93,0);
rle2vram(a93c,0x2000);
delay(8);
rle2vram(a94,0);
SWITCH_IN_BANKd;
rle2vram(a94c,0x2000);
delay(8);
rle2vram(a95,0);
rle2vram(a95c,0x2000);
delay(8);
rle2vram(a96,0);
rle2vram(a96c,0x2000);
delay(8);
rle2vram(a97,0);
SWITCH_IN_BANKe;
rle2vram(a97c,0x2000);
delay(8);
rle2vram(a98,0);
rle2vram(a98c,0x2000);
delay(8);
rle2vram(a99,0);
rle2vram(a99c,0x2000);
delay(8);
rle2vram(aa0,0);
SWITCH_IN_BANKf;
rle2vram(aa0c,0x2000);
delay(16);
rle2vram(aa2,0);
rle2vram(aa2c,0x2000);
delay(8);
rle2vram(aa3,0);
rle2vram(aa3c,0x2000);
delay(8);
a=1;
delay(60);
goto reset;
}

 

Link to comment
Share on other sites

1 hour ago, Kiwi said:

It's basically 1 fixed 16KB lower ROM and 16 bankable Upper ROM.

The source code is basically loading image/color from RLE format. Nmi is disabled through out.  I don't think MSX has vram corruption issue that Colecovision does.  All I know MSX has their interrupt connected to INT and not NMI for the VDP. 
 


#define SWITCH_IN_BANK1		{ dummy=(*(volatile unsigned char*)0xFFF0); } // b0 with 64k
#define SWITCH_IN_BANK2		{ dummy=(*(volatile unsigned char*)0xFFF1); } // b0 with 64k
#define SWITCH_IN_BANK3		{ dummy=(*(volatile unsigned char*)0xFFF2); } // b1 with 64k
#define SWITCH_IN_BANK4		{ dummy=(*(volatile unsigned char*)0xFFF3); } // b2 with 64k
#define SWITCH_IN_BANK5		{ dummy=(*(volatile unsigned char*)0xFFF4); } // b0 with 64k
#define SWITCH_IN_BANK6		{ dummy=(*(volatile unsigned char*)0xFFF5); } // b1 with 64k
#define SWITCH_IN_BANK7		{ dummy=(*(volatile unsigned char*)0xFFF6); } // b2 with 64k
#define SWITCH_IN_BANK8		{ dummy=(*(volatile unsigned char*)0xFFF7); } // b0 with 64k
#define SWITCH_IN_BANK9		{ dummy=(*(volatile unsigned char*)0xFFF8); } // b0 with 64k
#define SWITCH_IN_BANKa		{ dummy=(*(volatile unsigned char*)0xFFF9); } // b1 with 64k
#define SWITCH_IN_BANKb		{ dummy=(*(volatile unsigned char*)0xFFFa); } // b2 with 64k
#define SWITCH_IN_BANKc		{ dummy=(*(volatile unsigned char*)0xFFFb); } // b0 with 64k
#define SWITCH_IN_BANKd		{ dummy=(*(volatile unsigned char*)0xFFFc); } // b1 with 64k
#define SWITCH_IN_BANKe		{ dummy=(*(volatile unsigned char*)0xFFFd); } // b2 with 64k
#define SWITCH_IN_BANKf		{ dummy=(*(volatile unsigned char*)0xFFFe); } // b0 with 64k

void main(void)
{
screen_mode_2_bitmap();
screen_on();
reset:
delay(2);
SWITCH_IN_BANK1;
delay(1);
rle2vram(a42,0);
rle2vram(a42c,0x2000);
delay(8);
rle2vram(a43,0);
rle2vram(a43c,0x2000);
delay(8);
rle2vram(a44,0);
rle2vram(a44c,0x2000);
delay(8);
rle2vram(a45,0);
SWITCH_IN_BANK2;
rle2vram(a45c,0x2000);
delay(8);
rle2vram(a46,0);
rle2vram(a46c,0x2000);
delay(8);
rle2vram(a47,0);
rle2vram(a47c,0x2000);
delay(8);
rle2vram(a53,0);
rle2vram(a53c,0x2000);
delay(8);
SWITCH_IN_BANK3;
rle2vram(a55,0);
rle2vram(a55c,0x2000);
delay(8);
rle2vram(a56,0);
rle2vram(a56c,0x2000);
delay(8);
rle2vram(a57,0);
rle2vram(a57c,0x2000);
delay(8);
rle2vram(a58,0);
SWITCH_IN_BANK4;
rle2vram(a58c,0x2000);
delay(8);
rle2vram(a59,0);
rle2vram(a59c,0x2000);
delay(8);
rle2vram(a60,0);
rle2vram(a60c,0x2000);
delay(8);
rle2vram(a61,0);
SWITCH_IN_BANK5;
rle2vram(a61c,0x2000);
delay(8);
rle2vram(a62,0);
rle2vram(a62c,0x2000);
delay(8);
rle2vram(a63,0);
rle2vram(a63c,0x2000);
delay(8);
rle2vram(a64,0);
SWITCH_IN_BANK6;
rle2vram(a64c,0x2000);
delay(8);

rle2vram(a65,0);
rle2vram(a65c,0x2000);
delay(8);
rle2vram(a66,0);
rle2vram(a66c,0x2000);
delay(8);
rle2vram(a67,0);
SWITCH_IN_BANK7;
rle2vram(a67c,0x2000);

delay(8);
rle2vram(a71,0);
rle2vram(a71c,0x2000);
delay(32);
rle2vram(a75,0);
SWITCH_IN_BANK8;
rle2vram(a75c,0x2000);
delay(32);

rle2vram(a79,0);
rle2vram(a79c,0x2000);
delay(16);
rle2vram(a81,0);
rle2vram(a81c,0x2000);
delay(8);
rle2vram(a82,0);
SWITCH_IN_BANK9;
rle2vram(a82c,0x2000);
delay(8);
rle2vram(a83,0);
rle2vram(a83c,0x2000);
delay(8);
rle2vram(a84,0);
rle2vram(a84c,0x2000);
delay(8);
rle2vram(a85,0);
SWITCH_IN_BANKa;
rle2vram(a85c,0x2000);
delay(8);
rle2vram(a86,0);
rle2vram(a86c,0x2000);
delay(8);
rle2vram(a87,0);
rle2vram(a87c,0x2000);
delay(8);
rle2vram(a88,0);
SWITCH_IN_BANKb;
rle2vram(a88c,0x2000);
delay(8);
rle2vram(a89,0);
rle2vram(a89c,0x2000);
delay(8);
rle2vram(a90,0);
rle2vram(a90c,0x2000);
delay(8);
rle2vram(a91,0);
SWITCH_IN_BANKc;
rle2vram(a91c,0x2000);
delay(8);
rle2vram(a92,0);
rle2vram(a92c,0x2000);
delay(8);
rle2vram(a93,0);
rle2vram(a93c,0x2000);
delay(8);
rle2vram(a94,0);
SWITCH_IN_BANKd;
rle2vram(a94c,0x2000);
delay(8);
rle2vram(a95,0);
rle2vram(a95c,0x2000);
delay(8);
rle2vram(a96,0);
rle2vram(a96c,0x2000);
delay(8);
rle2vram(a97,0);
SWITCH_IN_BANKe;
rle2vram(a97c,0x2000);
delay(8);
rle2vram(a98,0);
rle2vram(a98c,0x2000);
delay(8);
rle2vram(a99,0);
rle2vram(a99c,0x2000);
delay(8);
rle2vram(aa0,0);
SWITCH_IN_BANKf;
rle2vram(aa0c,0x2000);
delay(16);
rle2vram(aa2,0);
rle2vram(aa2c,0x2000);
delay(8);
rle2vram(aa3,0);
rle2vram(aa3c,0x2000);
delay(8);
a=1;
delay(60);
goto reset;
}

 

Okay then. Is this like a reverse code or just seperate codes like this. Because I want to target it at the 55 AA or AA 55 hex, or most likely known as in assembly...

xor d

ld d,l

Link to comment
Share on other sites

I'm not sure how you're doing the conversion and I've been watching a lot of game shows lately.  So kinda don't want to give away the answer completely if you're doing this project as a puzzle. 

The first 2 bytes 0xaa 0x55 is to tell the Colecovision to skip the BIOS title screen routines.  I attached the .map file where the data are located. Seems like I went over 16 KB in bank1, opps.  Probably can skip loading a45 that's address 0xf157 in bank 1, and 0xc00e a45c. Maybe the .map file can tell you where the data are at in the assembled ROM.  I think MSX RAM starts earlier than 0x4000 and the cartridge is mapped 0x4000-0xFFFF, which Colecovision RAM starts 0x6000-0x7FFF(mirrored 8 times) and ROM starts 0x8000-0xFFFF.  BlueMSX have the Colecovision Megacart mapper provided. Hopefully the hints I provided helps.  Maybe you want to go for door number 2, wait nevermind.

crtcv.map

Edited by Kiwi
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

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