Jump to content

Jan Hermanns

Members
  • Content Count

    93
  • Joined

  • Last visited

Community Reputation

76 Excellent

1 Follower

About Jan Hermanns

  • Rank
    Star Raider

Contact / Social Media

Profile Information

  • Gender
    Male

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Are you using batari Basic? If so, maybe you should post your question in the batari Basic forum.
  2. Truth is, most of those sprites are based on the TI-83 calculator port of Super Mario Land, because Gameboy sprites are generally to wide - remember VCS sprites are max 8 px!
  3. Not yet. But I could probably hack one, over the weekend. Anyone else interested in a PAL version?
  4. What do you mean? You like this crappy hack better than the original? That would truly be a shame!
  5. It's not that I'm gonna make cartridges or something - so it's not that subversive And regarding that other homebrew... C'mon, I mean what were they thinking!?
  6. Well, I don't have the balls to do it and I don't like disneyland anyway... But why don't you do it yourself? You could even change the "lov3machine" moniker on the titlescreen to "nintendo", to make them really angry - though be sure you want their full attention
  7. Not exactly a sequel, but at least a nice little hack: http://atariage.com/forums/topic/220678-super-mario-goes-up/
  8. Here is a late xmas present to all the nice people here at the AA community! If you like this hack, consider buying "Blinky Goes Up" - it's the original and much better than this hack! http://atariage.com/store/index.php?l=product_detail&p=1020 Have fun! Jan mario_ntsc.bin
  9. Thank you! Btw, big levels like level 3 need aprox. 160 Bytes, so a 32k ROM could easily have 150 big levels...
  10. Turns out, it's quite easy to implement a decent fighting logic... Here is an excerpt from the article "The Making Of: IK+" The development of IK+’s AI was, though prosaic by comparison, no less efficient. “It was easy, basically,” Maclean boasts. “In those days, it wasn’t even called AI – we would have called it ‘fighting logic’, or something. The whole thing was based on look-up tables of what moves to use based on how far away the opponent was. The game obviously knows which move, if it were used, would lead to a direct hit at that point in time. For the easy difficulty level, right at the start, the computer fighters would, 90 per cent of the time, look at what the best move would be and then ignore it. As the level of difficulty increased that percentage would drop, until level 25 or thereabouts where it would be 95 per cent accurate. It worked beautifully.”
  11. Yeah, my C-skills are a bit rusty - but since we're at it. Shouldn't it be "unsigned char*"
  12. Absolutely true, because this is the big idea behind C - abstract away the processor details to increase portability. One last thing, you could use the "register" keyword in C. It's a hint to the compiler to keep a variable in a processor register if possible.
  13. If you define a static data set it'll always use memory. In case of the 2600 it'll use ROM, because it's the only memory this poor device has (apart from the 128 bytes RAM) - in case of a modern computer it'll use RAM. When programming the 2600 it is often sufficient to load static data to one of the processor registers and then store it directly to some RIOT register - without using a temporary RAM variable, e.g. COLUP0 equ $46 LDA #7 STA COLUP0 But, you can do exactly the same in C (if that's what you're after): int* colup0 = (int *)0x46; *colup0 = 7; Any decent C-Compiler would optimize this to the same asm code as above.
  14. Not much going on here: - the first instruction loads the value at address "index" to the X register - the second instructions loads the value at address "DataSet" + "the value in the X register" into the accumulator. As others pointed out the "LDA DataSet,X" would normally be executed in a loop. And you probably would rather use an immediate LDX #index (the difference is the '#' which means take the value of index rather than the value at the address index is pointing to). The stack is not affected by those instructions. Don't confuse the "LDA DataSet,X" with a subroutine call - it's just the 6502 pendant to the C idiom: DataSet[index] take care!
×
×
  • Create New...