Jump to content

Retrac

New Members
  • Content Count

    2
  • Joined

  • Last visited

Posts posted by Retrac


  1. Hi all.  I spent a bit of time over the weekend and finally got my 96x192 bitmap display kernel working.  I've decided to ditch DASM and try CA65 and I'm liking it so far.  This is my first attempt at a high-resolution bitmap display and I'm fairly pleased with the results, though it does flicker. 

     

    I've used the new 3E+ bankswitching mode.  I've also made some use of the CC65 suite's segment support, which is pretty nifty.  As to the bitmap, I think I understand the timing, but it was a fair bit of trial-and-error.  I'd like to go back and automatically calculate the position values to prove I got it right.  I'm also a little ashamed of how I display the last line, but I just can't seem to wrap my head around the off-by-one that's behind it. 

     

    Not quite sure what direction I'll take this next, but thought it might be of interest or help to others.  Haven't tested it on hardware, but it seems to produce a reasonably standard picture in Stella.

     

    If you want to try it yourself and generate your own image, you'll need make, Python, etc. and a 96x192 monochrome PNG image as 'input.png' and then run make.  To generate the right kind of PNG, I use GIMP and set it to indexed 1-bit colour mode.  I've put the source code up here.  I tried to add comments for once, but the timings in the comments may be incorrect.

     

    I owe a big thank you to everyone, especially Andrew Davie, on this forum to get me this far.  So, thank you!

     

    stella_002.png

    game.3ep

    • Like 2
    • Thanks 1

  2. On 7/30/2019 at 3:10 AM, Andrew Davie said:

    I buried a release of the tile engine, that Thomas and I wrote from 2003-2011, in the Sokoban forum. I am re-posting the source code here, so that I have a logical place to explain how it all works, how to use it, and answer any questions.

    The engine uses the $3E bankswitching scheme.

     

    Thanks for posting this.  It's been very instructional!  You are both wizards.

     

    I'd love your opinion on something.  I've been working on a bit of code that displays a bitmap stored in RAM for my game idea.  I'm working on rendering proportional text from fonts at the moment.  I've been using 3E bankswitching too, but as you say, it is pretty limiting.  My code's only a small demo so far, so I'm not experience with how larger programs should be laid out yet.

     

    I've thought about creating my own mapper.  Probably something like 1 KB pages which can independently be set to a 1 KB RAM read, RAM write, or ROM bank.  I think I can see how to do that in hardware.  It would allow fast and easy direct copying from RAM and ROM to the bitmap RAM.

     

    Anyway, do you think you could you share some insight on what to look for in a bankswitching system, when it comes to choosing or designing one for a large bitmap or tile-oriented game?  Did you find 3E limiting or unwieldly for Boulder Dash?

×
×
  • Create New...