aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* readmeHEADmasterJesse Luehrs2014-10-131-0/+4
|
* use nestopia for runningJesse Luehrs2014-10-131-1/+1
|
* make it look slightly more like an appleJesse Luehrs2014-10-131-0/+0
|
* don't need a two-byte address hereJesse Luehrs2014-10-131-1/+1
| | | | | | i think that's how this works? the goal is to enforce zero-page addressing for these vars, but not sure if that happens automatically or what
* hide score sprites on the main screenJesse Luehrs2014-10-121-14/+17
|
* handle pausing the gameJesse Luehrs2014-10-121-2/+30
|
* start the ppu dma at the beginning of nmi, not the endJesse Luehrs2014-10-121-6/+5
| | | | | just to ensure that it has enough time (probably not an issue, but why not)
* draw the scoreJesse Luehrs2014-10-122-0/+67
|
* frame skip should be reset on every new gameJesse Luehrs2014-10-111-2/+3
|
* oops, this isn't necessary anymoreJesse Luehrs2014-10-111-5/+1
|
* simplify a bit moreJesse Luehrs2014-10-111-16/+15
|
* move all game logic out of the nmi interruptJesse Luehrs2014-10-111-25/+57
| | | | | | drawing is now done in the main game code, by writing into the $07 page, and the nmi interrupt now just steps through that page and does the drawing actions described there
* this indirection is no longer necessaryJesse Luehrs2014-10-111-3/+1
|
* move apple drawing out of the nmi interruptJesse Luehrs2014-10-111-16/+18
|
* use a more gradual ramp up for speedJesse Luehrs2014-10-101-4/+15
| | | | geometric instead of arithmetic progression, via a lookup table
* don't place an apple on the snake bodyJesse Luehrs2014-10-101-0/+8
|
* implement collisions with the snake bodyJesse Luehrs2014-10-101-2/+70
|
* refactor the snake body memory to fix a bunch of bugsJesse Luehrs2014-10-101-42/+45
| | | | | | | use two separate 256-byte ring buffers (one for x and one for y) instead of one big 512-byte ring buffer where coordinates are stored next to each other. this allows wraparound arithmetic to actually do the right thing rather than requiring a bunch of special handling
* speed up the snake as the game goes onJesse Luehrs2014-10-091-2/+7
|
* need to handle carrying hereJesse Luehrs2014-10-091-0/+8
|
* dma, not dmiJesse Luehrs2014-10-091-2/+2
|
* also erase old sprites from the tailJesse Luehrs2014-10-091-51/+72
| | | | this breaks startup somehow, but only sometimes
* move snake drawing to the background layerJesse Luehrs2014-10-091-9/+52
| | | | | | since we can only have 8 sprites per scanline and 64 sprites total this implementation doesn't erase old tiles yet
* better random number generationJesse Luehrs2014-10-091-35/+38
|
* make sure the rng state doesn't go to 0Jesse Luehrs2014-10-091-1/+2
|
* if the length is 256, you winJesse Luehrs2014-10-091-0/+2
|
* let the snake eat the appleJesse Luehrs2014-10-091-18/+41
|
* start making the snake use a ring bufferJesse Luehrs2014-10-091-0/+11
|
* add an apple in a random locationJesse Luehrs2014-10-092-2/+27
|
* simple rngJesse Luehrs2014-10-091-0/+38
|
* these are alrady initialized to 0 just beforeJesse Luehrs2014-10-081-6/+0
|
* start refactoring to allow storing the entire snake in memoryJesse Luehrs2014-10-081-12/+19
|
* use a smaller screenJesse Luehrs2014-10-081-9/+9
| | | | this will fit into ram more easily
* make a struct for screen locationsJesse Luehrs2014-10-081-22/+25
|
* adjust the y offset for the snake spriteJesse Luehrs2014-10-081-2/+3
| | | | | apparently the background sprites don't align on 8 pixel boundaries in the y axis? not sure why
* reset the snake position on game startJesse Luehrs2014-10-081-0/+4
|
* don't draw the snake when on the title screenJesse Luehrs2014-10-081-1/+12
|
* draw the game screenJesse Luehrs2014-10-082-3/+75
|
* draw the background for the main screenJesse Luehrs2014-10-081-5/+57
|
* add some character glyphs to the chr romJesse Luehrs2014-10-081-0/+0
|
* start using folds to try to keep things under controlJesse Luehrs2014-10-061-69/+78
| | | | | eventually i should figure out how to split things out into different files, but not today
* refactorJesse Luehrs2014-10-061-4/+12
|
* check for collisions against the (currently invisible) wallJesse Luehrs2014-10-061-0/+19
|
* add a (blank) start screenJesse Luehrs2014-10-061-3/+29
|
* stop using named labels for short loopsJesse Luehrs2014-10-061-9/+8
|
* remove inaccurate commentJesse Luehrs2014-10-061-3/+1
|
* restructure code to move things out of the nmi interruptJesse Luehrs2014-10-061-30/+50
|
* oops, copied too muchJesse Luehrs2014-10-061-20/+0
|
* copy over some changes from the project skeletonJesse Luehrs2014-10-064-32/+67
|
* optimize snake movement a bitJesse Luehrs2014-10-051-29/+19
| | | | do some bit fiddling rather than a case statement