www.retrosoftware.co.uk
http://www.retrosoftware.co.uk/forum/

C64 Sprites to BBC convertion
http://www.retrosoftware.co.uk/forum/viewtopic.php?f=73&t=343
Page 6 of 6

Author:  ColinD [ Sun Nov 08, 2009 12:49 am ]
Post subject:  Re: C64 Sprites to BBC convertion

Here is my proposed memory map..... (for a single load game if I stick to this)

So.. I've got 11K for all Game Code, Levels and Graphics.... Fair Enough....

Any comments appreciated please......

;########### MEMORY MAP #########
; 0400 > 07FF = Tile Graphics (1K) - C64 Format - Used for the Level Graphics Tiles
; 0800 > 0FFF = sprites (2K) - C64 Format - culled from 8k worth !!
; 1000 > 17FF = Level Data (2K) - ONLY 8 Levels in Native c64 format !!!
; 1800 > 2dFF = GAME CODE ( 5.5k )
; 2E00 > 2EFF = 'unpacked' Level to display (and we will use for colisions maybe ?? !!)
; 2F00 > 2FFF = WORKSPACE for SPRITEs ?? (Copy of old screen memory)
; 3000 > 7FFF = Screen Data (and 'Initial Data' Load Space prior to being copied/formatted etc)

Cheers, Colin

Author:  RichTW [ Sun Nov 08, 2009 10:42 am ]
Post subject:  Re: C64 Sprites to BBC convertion

Sounds good! and great to see the demo... can't believe how fast you work :D

Just to remind you that you still have the option to free a little more RAM by shrinking the screen to 25 lines and starting it at $4000...

Author:  ColinD [ Thu Nov 12, 2009 11:45 pm ]
Post subject:  Re: C64 Sprites to BBC convertion

Not much to report really... I've been a little busy with other things.....However I tweaked the sprite code back, so that it no longer does masks.... and used a sneaky (Beebem Debugger) memory dump for the 'logo' so it now loads a native BBC bitmap at the top of the screen at $3000 > $3FFF , so saves a bit of code converting the data...It just loads the pre-converted Logo in to screen memory now.....(Bit of a sprite artefact on the top right, but no problem) - I can have whatever I want at the top of the screen (or loose it to save memory - sounds hard though to tweak the graphics chip registers !! - Lets see)

Oh..I found a bug in the 'Big Fish' code too.... When I added the second big fish to the enemy display list, things went wrong badly.... was a sillly mistake, lol... fixed now !!!

It takes just about 1 screen of time, to plot 3 C64 sprites, complete with flip and user defined colours.... Yes this IS slow, but WILL work for me well in this application, as I've lost quite a few animation frames, but it still looks quite nice !! - There are 32 'Reasonably sized' sprites in the 2k I've allocated, plus with the Horizontal Flip, this increases the count somewhat and saves quite a few frames of anination (especially the diver and he's getting culled soon too !!) - All the enemies only use 2 sprites so far.... So only 128 bytes per enemy !!! (I've forgotten to write the code for the Turtle, but he's in there too !!) - I think I can live with this ;) - Sorry to repeat some of this from other posts... Blame the StrongBow !!!

My mate (who drew all the graphics) nearly fell of his chair when I sent him the demo, and asked how the hell did I manage to convert the graphics over to the Beeb !!! - He was supprised when I said, I didn't have to and it was all native C64 data !!!!

The main loop is synced to 4 frames of refresh now as desired... (it runs in about 2 and 2/3rds frames at the moment with 8 sprites - but I need some more time to do some other work) - SO I have about 1 and 1/3rd Screens of CPU time left.... That should be enough to move the diver around, and run the extra game logic and stuff.... Background Colisions will be tough to do based on the level data (probably easier than I think, but I've been putting this off for now, lol), and I will be blanking tiles off as I pick up objects...

I re-ordered some of the sprites in the 'animation display list' (and added an extra one just for fun), so that the horizontal moving ones are plotted 'off' their display axis... so they no longer flicker..... The ones going up and down will still prove to be an issue..... Octopus on the right is the worse case.....

Sprites will also NOT Overlap, so no flickers due to that.....most fliker is due to overlapping at the moment....

It would be possible to do a sort routine, and 'zone' the sprites as best as possible, so that they no longer flicker at all... thats a long way off yet !!!

8 enemy sprites in my chunky levels will be more than enough.....

Anyway... Heres the disk image... as I say... not much progress really, just a couple of nice tweaks...

Attachment:
col_lessfliker.zip [5.72 KiB]
Downloaded 21 times

Cheers, Colin

PS... We were kind of talking about trying to convert this game over to the beeb at the Retro-Reunited Show (We were talking about it too at Console Combat, but I didn't envisage me even considering doing any BBC coding at the time!!) , along with my mates C64 shoot-em-up.... (the guys were busy doing last minute disk label's,packaging, and stuff for the release game at the show and the beer was talking too at my end, lol) - So I'm really pleasantly supprised that I've made this much progress so far... I DID REALLY have doubts if it was possible to squeeze it all in, so I've supprised myself with my progress !!! - Thanks must go to Dave M for his positive input, which has kind of driven me to have a pop at this in the first place.....

Page 6 of 6 All times are UTC [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/