Jump to content
IGNORED

Alex Kidd Port


TheMole

Recommended Posts

Well, this is a tricky one... I did not find the bug, but for some reason I managed to get rid of it anyway... adding a completely unrelated call somewhere in the middle seems to have solved my issue.

 

This is what it looks like in action (recorded in MESS):

http://youtu.be/mIr4lCLaw1A

 

Big thank you to all the people who helped out with the overworld graphics, I think I kept at least parts of everyone's input and I do believe it's a nice improvement over my original proposal. Gotta love this community!

 

  • Like 11
Link to comment
Share on other sites

Cool! Glad the volcano worked out! Can't wait to play the finished game.

 

Darryl

 

Yeah, thanks for taking up the challenge on that one. I'm glad we ended up with your front-view volcano instead my top-down version. I only made minor modifications to your effort, so again: much appreciated!

  • Like 1
Link to comment
Share on other sites

I also originally did a very nice conversion of the cave the old man is sitting in at the end, but I ran out of patterns and had to ditch both that and the clouds. I'm thinking of adding it in a static screen that gets tagged onto the end of the map, but those are details for later.

 

I was thinking along the same lines, just re-use tiles which are scrolled off-screen but I think your idea of a static screen would work better. As for the clouds, are you using a separate pattern table for sprites or are the sprites pulled from your screen tables?

Link to comment
Share on other sites

 

I was thinking along the same lines, just re-use tiles which are scrolled off-screen but I think your idea of a static screen would work better. As for the clouds, are you using a separate pattern table for sprites or are the sprites pulled from your screen tables?

 

I'm using a separate pattern table for sprites, since I change the screen pattern table every frame (or, more precisely every pixel scrolled). Using the screen pattern tables for sprites would lead to a lot of duplication that way.

 

That also means that I only have two half sprite pattern tables at my disposal (one for the left facing main character + enemies and one for the right facing character + enemies), so adding the clouds as sprites is also a nogo, unfortunately.

 

For reference, this is my VRAM layout:

Graphics (scrolling levels)		Bitmap (Title screen, etc...)
-------------------------------------   -------------------------------------
Frame0	 @ 0x0000, size 1024b		Patterns @	0x0000, size 6614b
SIT1  	 @ 0x0400, size 756b
Frame1	 @ 0x0800, size 1024b
SIT2  	 @ 0x0C00, size 756b
Frame2	 @ 0x1000, size 1024b
SDT_R 	 @ 0x1400, size 1024b
Frame3	 @ 0x1800, size 1024b		SIT 	 @	0x1800, size 756b
SDT_L 	 @ 0x1C00, size 1024b		SAL	 @	0x1F80, size 128b
Frame4	 @ 0x2000, size 1024b		Colors	 @	0x2000, size 6614b
PAB	 @ 0x2400, size +/- 64b
CT    	 @ 0x2440, size 16b
Frame5	 @ 0x2800, size 1024b
FILEBUFF @ 0x2C00, size ?
Frame6	 @ 0x3000, size 1024b
SAL	 @ 0x3400, size 128b
Frame7	 @ 0x3800, size 1024b		SDT 	 @	0x3800, size 512b

Link to comment
Share on other sites

  • 7 months later...

Thanks for asking! Unfortunately I haven't had the time to spend anything more than half an hour here or there on coding projects, and I'm at a bit of a difficult point with Alex Kidd where I'm running up against memory (and speed) limitations that require a more concentrated effort. I have been thinking about possible ways forward though, so when I do find some time, I have a bunch of things to try.

 

One of the avenues I'm considering is making the game cartridge-based while still requiring the 32k memory expansion and disk system, with part of the code running off the cartridge and part running from the memory expansion. That should give me the additional 8k of memory that I need but would require a physical cart release for anyone to be able to play it on real iron (or a supercart, I guess). Another alternative is to simply do some mid-level loading of data from disk (kinda like in TI Scramble), but Alex Kidd doesn't have forced scrolling, so I don't know how well that would work.

Link to comment
Share on other sites

TI Scramble is not loading data from disk but it's unpacking data and uploading to vdp.

 

Yeah, sorry, I know it's not exactly as in Scramble, I was just referring to the little 'hick-up' you see in Scramble when loading levels (which I think in Scramble is perfectly fine, but I'm not sure it would work for Alex Kidd, especially given the fact that it will need to load longer since it's loading from disk).

Link to comment
Share on other sites

If you are using the 512K cartridge board, you can bank switch through the full 512K in 6K increments. If that isn't enough, you could put the program on the 2048K board, also bank switching through the entire space in 8K increments. Classic99 supports cartridges up to this size (and larger actually, but the hardware hasn't caught up yet).

Link to comment
Share on other sites

  • 4 weeks later...

Well, I've decided to take the cartridge route. Porting the game over is going to be a bit of work, but I'm taking the opportunity to clean up the code a bit, and add F18A support. For now, I have the title screen back up and running. It ain't much, but it was heaps of fun getting the build system and the bank switching up and running ;).

 

The video show the title screen in both 9918a and F18A versions running in the wonderful js99er!:

  • Like 7
Link to comment
Share on other sites

Very nice the way you support both the 9918A and the F18A.

Yeah, I don't necessarily plan on adding F18A-only gameplay features to this specific game, but I do want to support enhanced graphics throughout the game. Having 512kb of cart space means I don't have to worry about the space taken up by duplicating all the assets for the two chips :).

 

I'm progressing quite well, although I'm still not where I was with the disk version. Originally, I had hard-coded all the data for a single level, but this time around I wanted to support multiple levels from the start.'m now back to the point where Alex can walk around in the world, but this time he can do so in two distinct levels :). I still need to add the enemy handling and block-punching back in (gameplay wise, the block punching is in, but it isn't rendered yet), but it's good to be able to test this in different environments. It has surfaced some bugs with the older code that I wouldn't have discovered otherwise. Also spending a bit more time on the PC tools to generate the levels, since they now need to support creating more data (putting entities in maps) and will eventually also need to support creating the graphics for the F18A.

 

Anyway, here's a couple of screenshots of the two currently available levels as rendered by the good old 9918a:

post-33891-0-59070800-1439723951_thumb.pngpost-33891-0-78813900-1439723952_thumb.pngpost-33891-0-86348200-1439723953_thumb.png

 

*edit* I really need to redraw the graphics for the treetops though...

Edited by TheMole
  • Like 4
Link to comment
Share on other sites

Another update, this time in video format:

 

New in this video:

  • the ability to finish a level and to go from one level to the next
  • keeping track of lives (you start with three), if you die you get kicked back to the title screen
  • If you finish the game (so currently only two levels... :D ) you get kicked back to the title screen
  • Better tree graphics in the second level (although the "deadly roots" had to be made a bit more plain to make it all fit within 128 characters).

Next up:

  • Re-introduce enemies
  • Re-introduce level introduction screen
  • Make level introduction screen available as pause screen during game
  • Add gameover screen
  • Add F18A renderer for all of the above

After that I'll release an .rpk for everyone to play with and give feedback, while I work on the story and final game's levels.

 

  • Like 13
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...