Commit Graph

55 Commits

Author SHA1 Message Date
Colin McMillen
bac214a95b Fix subtraction / two's complement bug. 2015-05-31 11:36:14 -04:00
Colin McMillen
e39f802bd5 Loop through shots array to find an empty spot. 2015-05-31 11:31:18 -04:00
Colin McMillen
7d0140d233 Alternate up-shots and down-shots. 2015-05-31 11:05:04 -04:00
Colin McMillen
5ace3844dc Shots can now have negative y-velocity. 2015-05-31 10:45:29 -04:00
Colin McMillen
611b4d20f2 Update world & sprites in separate loops.
Also give shots a y-velocity.
2015-05-30 22:43:27 -04:00
Colin McMillen
25a2fb20ab Change bit-format of scratch sprite table.
Now each sprite's bits count as: "1 = large" and "1 = enabled", which is
more intuitive.
2015-05-30 12:02:25 -04:00
Colin McMillen
48db4aca58 Don't bother storing zeroes to joypad registers. 2015-05-30 11:32:35 -04:00
Colin McMillen
116d591c60 Update shot speed and cooldown timer. 2015-05-30 11:08:26 -04:00
Colin McMillen
510aca6ed3 More register documentation. 2015-05-30 11:04:22 -04:00
Colin McMillen
49abebc211 Allow more than 4 shots. 2015-05-30 10:53:31 -04:00
Colin McMillen
0e7d46c46f Don't read joysticks during auto-joypad read. 2015-05-30 09:28:07 -04:00
Colin McMillen
5c45dfa834 Make macros for setting 16bit/8bit registers.
Also disable NMI while processing, and start refactoring joypad handler.
2015-05-30 09:03:55 -04:00
Colin McMillen
8c5b4232c1 Add a period. 2015-05-29 08:04:38 -04:00
Colin McMillen
36b54692c1 Simplify handling of secondary sprite table.
We now keep a buffer that has one byte per sprite, and later pack it
into the bitfield format wanted by OAM, instead of calculating the
bitfield manually during UpdateWorld
2015-05-29 08:03:20 -04:00
Colin McMillen
7a04a359fa Tighten up vBlankCounter code. 2015-05-28 08:44:38 -04:00
Colin McMillen
325006664b and+cmp -> bit where possible 2015-05-28 07:17:09 -04:00
Colin McMillen
7b637436b8 Define a constant for shot array length. 2015-05-27 07:51:51 -04:00
Colin McMillen
c94ac75c45 Remove trailing whitespace. 2015-05-27 07:09:44 -04:00
Colin McMillen
f324413101 Use symbolic constant for backgroundBlue. 2015-05-27 06:56:42 -04:00
Colin McMillen
292cb079a5 Allow for multiple shots at once. 2015-05-25 15:35:22 -04:00
Colin McMillen
2bf56bb422 Change addresses back, to match the comment. 2015-05-25 14:32:07 -04:00
Colin McMillen
a0532f0429 Refactor to use .defines for many memory locations. 2015-05-25 14:28:00 -04:00
Colin McMillen
7b6cd3f583 Reformat main file.
Mostly moved stuff around so that it's in a more sensible order.
2015-05-25 12:52:38 -04:00
Colin McMillen
1319e4f52d Add the ability to shoot with the B button.
Forgot to update the main file.
2015-05-25 12:07:08 -04:00
Colin McMillen
782db84d48 Add the ability to shoot with the B button.
For now, only one shot can be in-flight at a time.
2015-05-25 12:01:42 -04:00
Colin McMillen
a7fec6d4be Remove unused PCX file. 2015-05-25 10:00:14 -04:00
Colin McMillen
025d0ea3ec Use 32x32 sprites for ship.
Also use neviksti's pcx2snes rather than eKid's.
2015-05-25 09:42:54 -04:00
Colin McMillen
e8d57e5cbe Add *.pic and *.clr to gitignore. 2015-05-25 09:40:26 -04:00
Colin McMillen
55fdf055fe Initialize BG3 tilemap with random numbers.
Fill bank 2 with random bytes for things that want randomness.

Move all the graphics data to bank 1.
2015-05-25 08:04:15 -04:00
Colin McMillen
e2a51abc7b Use new ship sprite.
Taken from:
http://opengameart.org/content/spaceships-1
and shrunk down a bit.
2015-05-24 20:32:41 -04:00
Colin McMillen
476495574f Change main file (forgot in previous commit.) 2015-05-24 19:50:10 -04:00
Colin McMillen
6fc775a411 Animate player sprite. Use BG3 instead of BG2.
Also deleted some dead code with coordinate-conversion for scrolling the
backgrounds based on player input.
2015-05-24 19:49:04 -04:00
Colin McMillen
fe0ae0d008 More realistic background. 2015-05-24 14:44:26 -04:00
Colin McMillen
ffd584c19e Re-enable the background, and scroll it. 2015-05-24 13:22:42 -04:00
Colin McMillen
dceedf64ba Use proper sprites. 2015-05-24 10:43:25 -04:00
Colin McMillen
77ee989fb0 Add pcx2snes to build script. 2015-05-23 18:13:38 -04:00
Colin McMillen
788d4a884b Add an airplane tile. 2015-05-23 18:00:49 -04:00
Colin McMillen
41155fadec Add a happy-face tile. 2015-05-23 17:17:39 -04:00
Colin McMillen
83e0e26e29 Add .wla5692a to gitignore. 2015-05-23 17:10:22 -04:00
Colin McMillen
e6a3fd7578 Actually delete InitSNES.asm. 2015-05-23 17:09:49 -04:00
Colin McMillen
ace9287755 Rename InitSNES.asm -> init.asm 2015-05-23 15:42:47 -04:00
Colin McMillen
abd636a93e Add more DMA registers. Add links to docs. 2015-05-23 15:38:27 -04:00
Colin McMillen
2da42f1eb1 Add a "ship" and let the player move around.
This includes some tile / palette data in a separate file and some code
for DMA'ing that data into VRAM. This is used to render a "ship" (white
circle) that the player can move around with the D-Pad.

Added a whole bunch of named registers (& documentation for them) to
registers.asm.
2015-05-23 14:00:43 -04:00
Colin McMillen
1925869fb6 Add registers.asm file. Refer to registers by name. 2015-05-22 19:39:43 -04:00
Colin McMillen
6d94f5d032 echo off in build script. 2015-05-22 15:11:55 -04:00
Colin McMillen
1ab6ee37f3 Set background color on every frame.
Make some comments more clear.
2015-05-22 15:09:14 -04:00
Colin McMillen
f6ef82180d Add build.bat and wlalink config file. 2015-05-22 14:37:52 -04:00
Colin McMillen
48e14f8c94 Create README.md 2015-05-22 14:35:51 -04:00
Colin McMillen
8a646c4266 Tweak comments in header.asm. 2015-05-22 14:24:25 -04:00
Colin McMillen
61b82e2d6f mv header.inc -> header.asm 2015-05-22 14:08:57 -04:00