Jump to content

Photo

D.K. VCS


853 replies to this topic

#226 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash, THREE·S, Star Castle

  • 22,570 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Wed Apr 24, 2013 7:46 AM

I would add another floor to the playfield if I could, but that would require another 19 bytes of ZP RAM and 10 bytes of SARA RAM, which I don't have. Even if it would be possible to free that much RAM, one would have to change a huge amount of code.

Looks like that's a a limitation which cannot be overcome. :(

What is eating up so much RAM?

#227 Joe Musashi OFFLINE  

Joe Musashi

    Moonsweeper

  • Topic Starter
  • 305 posts

Posted Wed Apr 24, 2013 5:53 PM

This latest versions looks great. Animation is very well done. My only suggestion would be to implement some kind of bounding box collision detection. It's gets frustrating quickly when getting nicked by one pixel kills you. The arcade version is actually very forgiving when it comes to collision detection and allows quite a bit of overlap between Mario and the enemies.

Great work so far! :)


Thanks! There is actually a bounds check, but it's simplified: collision detection is omitted when Mario is higher than 10 pixels in the air. Obviously, this might cause problems with enemies comming from above, so this needs to be more accurate.

#228 tep392 OFFLINE  

tep392

    River Patroller

  • 2,690 posts
  • Location:Peoria, IL

Posted Wed Apr 24, 2013 6:04 PM

I was on a ladder at it seemed that the very top pixel of the fireball got me. I'll post some of the boundry's I've documented from the arcade code. I havn't looked at them in a while but I think they are all less than 10 pixels in the y axis.

#229 Joe Musashi OFFLINE  

Joe Musashi

    Moonsweeper

  • Topic Starter
  • 305 posts

Posted Wed Apr 24, 2013 6:07 PM

Looks like that's a a limitation which cannot be overcome. :(

What is eating up so much RAM?


The SARA RAM would be another enemy state. The more difficult part is the ZP RAM, which is mosty pointers. A floor consists of two bands (girder+corridor) each having its own set of pointers and indices. I would probably try to unify the bands into one, but as said, this would result in a whole load of problems.

Anyway, if this is to be tried it should be one of last things to be done, because I want to save room for optimization for potential new features, such as the hammer or elevator rails.

#230 Joe Musashi OFFLINE  

Joe Musashi

    Moonsweeper

  • Topic Starter
  • 305 posts

Posted Wed Apr 24, 2013 6:13 PM

I was on a ladder at it seemed that the very top pixel of the fireball got me. I'll post some of the boundry's I've documented from the arcade code. I havn't looked at them in a while but I think they are all less than 10 pixels in the y axis.


Ah yes. The climbing state is an exception. There it's only HW collision, otherwise the barrels going down the ladders would not hit if Mario is too high.

#231 tep392 OFFLINE  

tep392

    River Patroller

  • 2,690 posts
  • Location:Peoria, IL

Posted Wed Apr 24, 2013 6:52 PM

Ah yes. The climbing state is an exception. There it's only HW collision, otherwise the barrels going down the ladders would not hit if Mario is too high.


The boundry height for the enemies in the arcade code is 8-9 pixels. You might want to make it a little less than that even to compensate for the HW collision detection. Is there enough time to check if the object is above Mario in your collision code?

#232 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash, THREE·S, Star Castle

  • 22,570 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Thu Apr 25, 2013 1:50 AM

Anyway, if this is to be tried it should be one of last things to be done...

I hope your code is using a lot of constants (instead of e.g. magic numbers) here. Else it will become quite impossible to change such fundamental stuff that late. :)

#233 Joe Musashi OFFLINE  

Joe Musashi

    Moonsweeper

  • Topic Starter
  • 305 posts

Posted Thu Apr 25, 2013 1:08 PM

The boundry height for the enemies in the arcade code is 8-9 pixels. You might want to make it a little less than that even to compensate for the HW collision detection. Is there enough time to check if the object is above Mario in your collision code?


Yes, I can do a full box check. I thought of something like a 6x8 box for the fireball.

#234 Joe Musashi OFFLINE  

Joe Musashi

    Moonsweeper

  • Topic Starter
  • 305 posts

Posted Thu Apr 25, 2013 1:23 PM

I hope your code is using a lot of constants (instead of e.g. magic numbers) here. Else it will become quite impossible to change such fundamental stuff that late. :)


Of course :)

NUM_FLOORS = 4

      ldx #NUM_FLOORS
.loop      jsr DrawFloors
      dex
      bpl .loop


#235 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash, THREE·S, Star Castle

  • 22,570 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Thu Apr 25, 2013 1:33 PM

NUM_FLOORS = 4

ldx #NUM_FLOORS
.loop jsr DrawFloors
dex
bpl .loop

Perfect! :thumbsup: :D

#236 kaz321123 OFFLINE  

kaz321123

    Star Raider

  • 89 posts

Posted Thu Apr 25, 2013 1:57 PM

Just a random thought...would the 'starpath supercharger' help any with making this game (to allow for more ram or whatever)?

or another thought. What if you had 'disk 1, disk 2, disk 3, etc'...

So that the first level of donkey kong=disk 1
Disk 2=second level

Disk=cartridge of course

Would that allow for better programming of donkey kong (if space is an issue)?

Just brainstorming randomly.

Edited by kaz321123, Thu Apr 25, 2013 1:57 PM.


#237 kaz321123 OFFLINE  

kaz321123

    Star Raider

  • 89 posts

Posted Thu Apr 25, 2013 2:00 PM

Scrolling donkey kong is a very unique and cool solution that you found also! :)

#238 Joe Musashi OFFLINE  

Joe Musashi

    Moonsweeper

  • Topic Starter
  • 305 posts

Posted Thu Apr 25, 2013 4:14 PM

Just a random thought...would the 'starpath supercharger' help any with making this game (to allow for more ram or whatever)?

or another thought. What if you had 'disk 1, disk 2, disk 3, etc'...


I think the supercharger only has 6KB memory. That would not be enough for a single level. I have to jump across 6 different banks to draw a single in-game frame.

Of course, you could dedicate a whole 32KB cartridge to a single level, but then you would have to swap carts all the time. You would also lose your score count.

#239 kaz321123 OFFLINE  

kaz321123

    Star Raider

  • 89 posts

Posted Thu Apr 25, 2013 5:41 PM

If it came down to 'emulation/arcade accuracy' vs. 'keeping track of my score', I personally would choose accuracy.

If even just to see if it helped improve the gameplay. Gameplay should come first, scorekeeping second.

I have often played Donkey Kong, for example, just for the fun of it, with no interest in how high my score was.

#240 Kiwi ONLINE  

Kiwi

    Stargunner

  • 1,360 posts

Posted Thu Apr 25, 2013 6:34 PM

If you're using a SARA chip, would you have 384 byte of RAM including the Atari 2600. I only see 2 page of RAM when I use the debugger, one for Atari 2600 and the other page for 128 byte of RAM. I'm thinking of SARA chip, I think additional 256 bytes. I'm not 100% sure. Or SARA chip comes in different size. Sorry, I was a little confused. :?

When I saw the first screen shot of this game. I was like, this isn't possible for the 2600. I loaded up the ROM for the first time, it blew my mind. I was looking at the girder title screen and wonder how did he do that. This game looks and plays awesome. I really dig the scrolling. I really impressed by the sprite blending technique and it really doesn't look like a Atari 2600 game. It would fool someone if you told them it an Atari 5200(800XL) game. The possibility is almost endless with this wonderful machine. Really awesome job!

#241 raindog OFFLINE  

raindog

    Stargunner

  • 1,717 posts
  • Location:upstate NY, USA

Posted Thu Apr 25, 2013 6:49 PM

Of course, you could dedicate a whole 32KB cartridge to a single level, but then you would have to swap carts all the time. You would also lose your score count.


Looking forward to Super Donkey Kong: Harmony Edition ;) ...for the hundred or so of us who actually have a Harmony.

#242 Omegamatrix OFFLINE  

Omegamatrix

    Quadrunner

  • 6,116 posts
  • Location:Canada

Posted Thu Apr 25, 2013 6:50 PM

If you're using a SARA chip, would you have 384 byte of RAM including the Atari 2600. I only see 2 page of RAM when I use the debugger, one for Atari 2600 and the other page for 128 byte of RAM. I'm thinking of SARA chip, I think additional 256 bytes. I'm not 100% sure. Or SARA chip comes in different size. Sorry, I was a little confused. :?


Yeah, you only get 128 more bytes of ram with the SARA, and not 256. Bit 7 is used as a read/write line for the extra ram, so that's why you lose the other 128 bytes of ram, because half your addresses are lost.

Superchip example:
LDA $FF80 ; read from super chip ram location 0
STA $FF00 ; store to super chip ram location 0

#243 Kiwi ONLINE  

Kiwi

    Stargunner

  • 1,360 posts

Posted Thu Apr 25, 2013 8:49 PM

Yeah, you only get 128 more bytes of ram with the SARA, and not 256. Bit 7 is used as a read/write line for the extra ram, so that's why you lose the other 128 bytes of ram, because half your addresses are lost.

Superchip example:
LDA $FF80 ; read from super chip ram location 0
STA $FF00 ; store to super chip ram location 0


If he used the RAMplus 256 byte of RAM, does he loses the address 512 bytes of ROM space with 3584 byte available for ROM for each bank? Just curious how the extra RAM works. Thanks.

#244 Csonicgo OFFLINE  

Csonicgo

    River Patroller

  • 2,777 posts
  • Think Responsibly, Do responsively
  • Location:Birmingham

Posted Fri Apr 26, 2013 12:43 AM

Looking forward to Super Donkey Kong: Harmony Edition ;) ...for the hundred or so of us who actually have a Harmony.


Games like this would sell harmony carts like hotcakes. Arent they already selling like hotcakes? :P

#245 stephena OFFLINE  

stephena

    River Patroller

  • 2,895 posts
  • Stella maintainer
  • Location:Newfoundland, Canada

Posted Fri Apr 26, 2013 4:22 AM

Yeah, you only get 128 more bytes of ram with the SARA, and not 256. Bit 7 is used as a read/write line for the extra ram, so that's why you lose the other 128 bytes of ram, because half your addresses are lost.

Superchip example:
LDA $FF80 ; read from super chip ram location 0
STA $FF00 ; store to super chip ram location 0


Also (assuming that Kiwi was using Stella), you only see 1 extra RAM page in the debugger since that's really all you have. Even though there are two RAM ports (read and write), the debugger only exposes the read port, and when you make changes it uses the write port.

#246 Greg2600 OFFLINE  

Greg2600

    River Patroller

  • 2,753 posts
  • Location:NJ

Posted Fri Apr 26, 2013 9:17 AM

WOWZERS! I cannot simply accept that this is a 2600 game. Not possible. I just tried it on the harmony and cannot believe my eyes! The music, graphics, and control! It's controls like an NES game. Probably said already, but one problem on real hardware is that things like DK himself or the ladders in the animated sequence have a LOT of flicker not present when tried on emulator. Also, not sure yet how to beat level 3. All in all, shocked I've missed this one!

#247 Joe Musashi OFFLINE  

Joe Musashi

    Moonsweeper

  • Topic Starter
  • 305 posts

Posted Fri Apr 26, 2013 2:48 PM

Looking forward to Super Donkey Kong: Harmony Edition ;) ...for the hundred or so of us who actually have a Harmony.


You sure can make a lot of cool levels if you do not have to follow the arcade.

dk.bin.png

#248 Joe Musashi OFFLINE  

Joe Musashi

    Moonsweeper

  • Topic Starter
  • 305 posts

Posted Fri Apr 26, 2013 2:50 PM

WOWZERS! I cannot simply accept that this is a 2600 game. Not possible. I just tried it on the harmony and cannot believe my eyes! The music, graphics, and control! It's controls like an NES game. Probably said already, but one problem on real hardware is that things like DK himself or the ladders in the animated sequence have a LOT of flicker not present when tried on emulator. Also, not sure yet how to beat level 3. All in all, shocked I've missed this one!


Thanks. Is there any specific problem with stage 3? Mario jumps pretty far. You can even jump backwards over most gaps.

#249 raindog OFFLINE  

raindog

    Stargunner

  • 1,717 posts
  • Location:upstate NY, USA

Posted Fri Apr 26, 2013 2:53 PM

You sure can make a lot of cool levels if you do not have to follow the arcade.

dk.bin.png

Yes, you can.... the Super Game Boy port and D2K are proof of that.

You could always call it Congorilla Deluxe ;)

#250 Greg2600 OFFLINE  

Greg2600

    River Patroller

  • 2,753 posts
  • Location:NJ

Posted Fri Apr 26, 2013 4:29 PM

Thanks. Is there any specific problem with stage 3? Mario jumps pretty far. You can even jump backwards over most gaps.

No I just kept thinking there was a spring board on the bottom that I'm supposed to land on.




0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users