Jump to content
  • entries
    658
  • comments
    2,707
  • views
    906,957

About this blog

Atari projects, Mac mini DVR, and other things

Entries in this blog

New toy

I've wanted a Vectrex ever since they came out - 30 years later I finally got one. I won it yesterday on eBay and was surprised when it arrived today via UPS! Turns out the seller is located in Beaumont, a mere 84 miles to the east of Houston.   The unit came with Fortress of Narzod and it's overlay, but not the overlay for the built in game Mine Storm. It also has 2 controllers though one of them auto-centers horizontally, but not vertically, and rattles a bit when moved (this was not

SpiceWare

SpiceWare in Vectrex

release candidate 3

fixed the synchronized rotation issue with large asteroids When I first started coding Space Rocks, I set it up to support an arbitrary number of styles for each size of asteroid as I didn't know how many would end up in the game. So I wrote the original InitWave routine like this to select a random asteroid style, rotation and speed: gSpriteAnimSeqID[i] = LARGE_ASTEROID_SEQ_ID + ((LARGE_VARIATIONS * (Random32() & 0xff)) >> ; gSpriteAnimControl[i] = RandomRotation();   L

SpiceWare

SpiceWare

release candidate 2

Attract mode has been fixed update to the second easter egg added third easter egg, No Man's Land, which will start every wave with 12 large asteroids The problem with Attract mode was caused by moving InitSpriteShotDatastreams() from Vertical Blank to Overscan. When the attract mode was triggered, that function wasn't called so the display kernel datastreams were not initialized. Part of the content of the data streams is indirect jump addresses that are used to to select the play

SpiceWare

SpiceWare

release candidate 1

I believe my last two issues have been resolved.   1) On the collision problem, the original collision logic for wrap-around sprites was handled this way: hitsomething = Collision(item, x, y) if (hitsomething == 0 && x < 18) // 18 because the double-wide asteroids hmove left & right hitsomething = Collision(item, x+160,y) if (hitsomething) handle collision ...   The +160 code was in place for the shots, but not the ship or UFO which is why they had the coll

SpiceWare

SpiceWare

stress test

Well, this might be an easy fix. VerticalBlank used to look like this: void VerticalBlank() { InitSpriteShotDatastreams(); DisplayShots(); DisplaySprites(); PrepScoreDatastream(); }   it now looks like this void VerticalBlank() { DisplayShots(); DisplaySprites(); }   I built a special Stress Test ROM that starts out every wave with 12 asteroids. Initially I was seeing a few screen rolls at the start of each wave while destroying asteroids. Once enough had been shot the r

SpiceWare

SpiceWare

almost a release candidate

fixed a problem where shots on the left side of screen would pass thru asteroids if they were wrapped around the left & right border. Noticeable with large asteroids, but affected smaller asteroids as well fixed a "burnt out" bottom segment of player 2's lives display fixed a bug where using hyperspace would make the Magna-Mines leave the screen 2 players 1 gamepad now works correctly if the controls is set to Left=gamepad, Right=joystick updated easter egg Manga-Mines and sa

SpiceWare

SpiceWare

revised heartbeat

I'm heading out for dinner with some friends, but got quite a bit done that I wanted to get online for feedback (plus to have my "offsite source code backup"!). heartbeat timer - changed to use fractional decrement w/9 entry table so that each wave (4-12 asteroids) starts and ends at the same speed. could start shields and hyperspace after getting killed, fixed saucer targeted an empty spot at end of round, fixed Magna-Mine speeds revised, level now taken into account fixed bug wit

SpiceWare

SpiceWare

new menu options

Magna-Mines are no longer tied to the level, there's now a menu option to control them. Gamepad option. The Magna-Mines need to have some tweaks to their speed, for one they're much too fast for the Kids level. I also had to modify the launch condition for the Magna-Mines, originally they appeared when 3 asteroids were onscreen, but that meant Kids and Easy levels started right away with a Magna-Mine because they began with 2 and 3 asteroids respectively. I changed it so the launch co

SpiceWare

SpiceWare

new enemy, phase three

freed up enough ROM to add the two-section Magna Mines fixed a problem in collision detection that could make the Magna Mine destroy the ship when it was still a pixel away from it fixed a problem where "split" Magna Mine could appear revised shot processing so that a single shot cannot take out multiple targets. This is to prevent the player from herding the Magna Mines together to more easily take care of them.     after hit   ROMs spacerocks20120926_NTSC.bin spaceroc

SpiceWare

SpiceWare

build for PRGE

updates to sound effects new menu sound effect updated Magna Mine graphics Magna Mine breakup changed to match new graphics Magna Mine "leave screen" logic revised (should fix the glitch Omegamatrix encountered) additional space savings (most of which was used by the changes listed above) 54 bytes by replacing SLEEP # with JSR WasteTime# 19 bytes by replacing SLEEP 5 with DEC SLEEP5 183 bytes by making easter egg uppercase only, 3x5 font instead of 3x6, and only having grap

SpiceWare

SpiceWare

do you hear what I hear?

Sound effects by Bob DeCrescenzo! Added a hyperspace cool-down timer to eliminate infinite-hyperspace. Before you could hold down and continually warp out/warp in w/out risk of collision and only let go of the joystick once you warped into a safe spot. Cool-down time is currently 5 seconds. A couple of the small killer satellites could explode in the wrong color in monochrome games. This has been fixed. Fixed a couple minor issues in the menu - the kids down option wasn't always forc

SpiceWare

SpiceWare

new enemy, phase two

I've fixed it so that the new enemy works in 2-player games. I've also revised the speed as well as fixed a number of minor issues.   All that freed up ROM is almost gone, so I'll have to see what I can do to free up even more space. If successful I'll be able to add the double-section intermediary step.   ARM free = $10(16 bytes) Bank 5 free = $6b (107 bytes) Display Data free = $db (219 bytes)     The Display Data free really isn't - Nathan's working on the "XOR data" for the on-the

SpiceWare

SpiceWare

new enemy, phase one

Phase one of the new enemy. He moves fairly slowly at the moment. The routines are not 2-player aware, so odd things may happen if you play a 2 player game.   Originally I was trying to use unique graphics for the new enemy, and I had some test graphics in place, but there was only room for 16 rotations and it look really chunky compared to the rest of the game. So I decided to reuse the ship graphics with an on-the-fly revision to it so we would have 32 rotations. For now it's just a sma

SpiceWare

SpiceWare

freed up some more ROM

ARM free increased to $4a0 (1184) Bank 5 free now at $19c (412) Display Data free increased to $9b (155) That's 410 bytes freed up since the last post.   Please let me know if you spot anything odd, and that including messed up graphics as I've been overlapping graphic data to save space.   ROMs spacerocks20120830_NTSC.bin spacerocks20120830_PAL.bin   Source spacerocks20120830.zip     new enemy test

SpiceWare

SpiceWare

freed up some ROM

I rewrote PrepScoreDatastream(), BreakAsteroids() and made some other changes (thanks cd-w!). The ARM free has increased to $41C (1042) while Display Data decreased to $14 (20). Much better than the $30 (48)and $30 of a few days ago, and there's still more optimizing to be done.   If anybody else spots anything that can be optimized, don't hesitate to post it Also I'd appreciate any play testing of the latest build in case any of the optimizations broke something.   ROMs spacerocks20120

SpiceWare

SpiceWare

two toned

heartbeat now alternates between 2 "samples" fixed heartbeat for alternating 2 player games stopped the UFO from respawning during the 2 second delay between waves init the ship merged image buffers to 0. The ship images and thrust flames are stored separately and merged when needed into the image buffers.   ARM and Display Data are both down to just $30 (48) bytes free, so I'm going to work on freeing up some ROM space. As such, the next update may be in a week or so.   ROMs

SpiceWare

SpiceWare

heartbeat

heartbeat sound (sound itself is a placeholder) turn off saucer shots when swapping players saucer respawn time now tied to LEVEL setting maxed out time of invisible frame during ship explosion for a slightly longer delay before changing players.   ROMs spacerocks20120821_NTSC.bin spacerocks20120821_PAL.bin   Source spacerocks20120821.zip

SpiceWare

SpiceWare

menu revisions

Menu changed so only option name is highlighted. This was done so it's easier to see the color values when you're changing them. highlight is now a white gradient, START changed to a red gradient so you can tell when it's selected fixed a bug where an extra grey selection would show up before multicolor when using joystick-right on the color option. luma value changed to 8 for monochrome asteroids. Previously it was 14. This should make flicker less noticeable. Ship explosion slow

SpiceWare

SpiceWare

2 players 1 joystick

For 2 player alternating games you can now select from 1 or 2 joysticks Select-a-color for monochrome games. Select from the 16 base colors for NTSC (13 base colors for PAL). respawn window size shrinks every 45 frames instead of every 60 frames. Fixed a bug introduced in the last update that allowed the players to respawn on top of each other. Fixed shield luma-cycling for monochrome games. Changing the PLAYERS menu option caused a lot of code to be changed, so let me know if

SpiceWare

SpiceWare

revamped respawn

revised the respawn logic. ship can once again respawn while saucer is on screen. respawn zone shrinks every 60 frames (once per second). in 1 and 2-player-alternating games, respawn now always occurs in the middle of the screen. [*]fixed warp-in offset problem [*]ship explosion back to displaying each image in the animation sequence for 4 frames. Other explosions still display for 3 frames per image.   For fun I uploaded "debugging builds" so y'all could like to see what I

SpiceWare

SpiceWare

colorful explosions

the ship & saucer explosions now color-cycle when playing with colored asteroids. They luma-cycle for the monochrome game variations as the color cycling looked out of place. In alternating 2 player games, if you die when UFO is onscreen the UFO is turned off so the next player doesn't have to wait. The moving-UFO-fragments were deadly, they are no longer When ships appear on screen, they now "warp-in". ROMs spacerocks20120809_NTSC.bin spacerocks20120809_PAL.bin   Source

SpiceWare

SpiceWare

bug fixes

fixed explosion bug in FIGHT mode fixed bug were player 1's HMOVE shift data (for large asteroids) was getting wiped out, causing the large asteroids to occasionally be drawn "chunky style" sped up the explosion sequences ROMs spacerocks20120806b_NTSC.bin spacerocks20120806b_PAL.bin   Source spacerocks20120806.zip     respawn window:

SpiceWare

SpiceWare

explosions

new explosion graphics explosions now continue moving along the object's original trajectory new small asteroid graphics fixed a bug with the sprite driver1 fixed a bug where temporary immunity would last longer than it should if the UFO appeared while immunity was in effect updated respawn location table score lines and the score itself follow the selected color2   1 the sprite driver was confused with the new explosions and their large sections of "nothing" in the midd

SpiceWare

SpiceWare

×
×
  • Create New...