8th May 2014
Well, well, well. Not much news on the Honey Bee front, as I am still waiting for some more updated graphics for it. Good news however is that I received some new game graphics for one of the screens. Bad news however - it was done in char pad as 1x1 tiles. However good news is that since the game consists of 1x1 tiles. The map screen size is one screen (40 chars across x 25 down).
I extracted the character set tile data, map data and attributes data and imported it into an ACME cross assembler source. Where single screens can be drawn through a map - then colour attributes get extracted according to the screen. I had some silly results at first, but after a third attempt - the overall result worked out quite nicely.
Now here's the source code which does this job ...
;--------------------------------------------------
;1x1 tile + colour Map extractor
;--------------------------------------------------
!to "extractor.prg",cbm
*=$2000 ;Import character set
!binary "hb_charset_v2.prg",,2
*=$3000 ;Import map data (the screen matrix)
!binary "hb_map_v2.prg",,2
*=$3800 ;Import tiles data
!binary "hb_tiles_v2.prg",,2
*=$3c00 ;Import attributes (colour data)
!binary "hb_attribs_v2.prg",,2
*=$c000 ;SYS49152 to execute
ldx #$00
loop0 lda $3000,x ;Read map data from $3000
sta $0400,x ;Place on screen RAM $0400 - 256 chars
lda $3100,x ;Same again for next segment
sta $0500,x
lda $3200,x ;and again
sta $0600,x
lda $32e8,x ;and again
sta $06e8,x
inx
bne loop0
ldx #$00
loop1 ldy $0400,x ;Read the map on screen
lda $3c00,y ;Read the tile colour / attributes table
sta $d800,x ;Store to the C64 hardware char Colour RAM 256 times
ldy $0500,x ;Do the same with the next 256 chars
lda $3c00,y
sta $d900,x ;Store again ...
ldy $0600,x ;and again
lda $3c00,y
sta $da00,x
ldy $06e8,x ;and again
lda $3c00,y
sta $dae8,x
inx
bne loop1
lda #$18
sta $d018
sta $d016
lda #$0e
sta $d020
sta $d021
lda #$08
sta $d022
lda #$09
sta $d023
jmp *
Showing posts with label 6502. Show all posts
Showing posts with label 6502. Show all posts
Thursday, 8 May 2014
Thursday, 4 October 2012
Here come the critters
October 4th 2012
Still working on Amazon Tales, and so far although it is the early stages. It feels quite promising. Today I worked on ways to animated the enemies and also change their animation per every object offset. I created a small table to test for EIGHT alterations of the enemy object per reset. Result turned out pretty good. After an enemy left the screen, it appeared as a different object. More work to be done this Saturday. Here's a video of the result so far :)
Still working on Amazon Tales, and so far although it is the early stages. It feels quite promising. Today I worked on ways to animated the enemies and also change their animation per every object offset. I created a small table to test for EIGHT alterations of the enemy object per reset. Result turned out pretty good. After an enemy left the screen, it appeared as a different object. More work to be done this Saturday. Here's a video of the result so far :)
Monday, 1 October 2012
Enter the natives
30th September 2012
More productivity at work today, but before I go on my 12-8 shift, I decided to spend this morning (Since 8:45pm) working a bit more on the Amazon Tales project. The deadline is looming closer, but I still manage to spare some of my free time on C64 activities. So what's been happening today? First of all last week, I got the player on screen, move around and shoot. Now it's time to insert some enemies, in which the player will have to shoot at.
First of all, I wanted to test the game sprites to ensure that they all appear on the screen okay, without any movement. I built a test in which shows four natives a dart (which the natives will shoot, and also an aztec coin). Nothing on the enemy front is supposed to move anywhere on screen. Well, it worked out pretty well. Pretty much happy with this so far.
My next job was to get those enemies moving across the screen (or downwards). The plan for the coins will be for those to drop down on to the ground, prompting the player to pick them up. The coins purpose will be to give the player a better ability to shoot at the baddies or move faster - but that will be revealed later on in the blog. If a life gets lost, he loses all abilities. The bullet sprite will be indestructible. More on that later in the blog, when I get round to working on collision.
I got the enemy and bullet sprites moving in a straight line at the same speed - but that wasn't the end of it. I need to add speed table pointers. This is so that the enemies can move at various different speed values. So I added value X + Y tables, according to the speed and direction of the enemy's movement. I also put that into a loop as well. It worked out quite nicely.
Not much time for any more work on this, so I'll be doing more on this game project later on this week.
More productivity at work today, but before I go on my 12-8 shift, I decided to spend this morning (Since 8:45pm) working a bit more on the Amazon Tales project. The deadline is looming closer, but I still manage to spare some of my free time on C64 activities. So what's been happening today? First of all last week, I got the player on screen, move around and shoot. Now it's time to insert some enemies, in which the player will have to shoot at.
First of all, I wanted to test the game sprites to ensure that they all appear on the screen okay, without any movement. I built a test in which shows four natives a dart (which the natives will shoot, and also an aztec coin). Nothing on the enemy front is supposed to move anywhere on screen. Well, it worked out pretty well. Pretty much happy with this so far.
My next job was to get those enemies moving across the screen (or downwards). The plan for the coins will be for those to drop down on to the ground, prompting the player to pick them up. The coins purpose will be to give the player a better ability to shoot at the baddies or move faster - but that will be revealed later on in the blog. If a life gets lost, he loses all abilities. The bullet sprite will be indestructible. More on that later in the blog, when I get round to working on collision.
I got the enemy and bullet sprites moving in a straight line at the same speed - but that wasn't the end of it. I need to add speed table pointers. This is so that the enemies can move at various different speed values. So I added value X + Y tables, according to the speed and direction of the enemy's movement. I also put that into a loop as well. It worked out quite nicely.
Not much time for any more work on this, so I'll be doing more on this game project later on this week.
Subscribe to:
Posts (Atom)
Fredrik the Ball is Back: Spider Maze 2 in progress
11th January 2026 First of all, a belated Happy New Year to all C64 and retro kind. At last, a new blog update and a new C64 project is ...
-
14th March 2020 Great news. Cruiser-X 79 continues this month. Today has been quite a long session. You might probably notice that the ga...
-
31st August 2011 Wow, quite a stroke of luck I had today. Winning 1st prize in a quiz at the work place (6 bottles of wine) and also getti...
-
Saturday 11th October 2014 (Work still in Progress) Poor old Wayne . He designs a new game, creates loads of graphics for it and then awa...

