Jump to content

SpiceWare

+AtariAge Subscriber
  • Content Count

    16,912
  • Joined

  • Last visited

  • Days Won

    10

Everything posted by SpiceWare

  1. yes, Nathan mapped them out back in 2014. Alpha Quadrant = Midway levels, Beta Quadrant = Namco levels. Additional question: do all pods shoot, or only those 3 (or 4) that can "see" the player?
  2. In order to finish writing Draconian, I need to figure out the Rules of the Game. Information gathered from StrategyWiki, Gaming History and by playing in MAME. Sometimes StrategyWiki differs from what I see in MAME, most likely due to how the dip switches are set. If you spot something that's incorrect, can fill in any blank spots, or answer any questions, please do so in the comments below! Anything in green has been implemented in Draconian. Anything in strikeout will not be done in Draconian. Star Fighter Information At the start of a new game there's an opening tune played. After it concludes the phrase "Blast Off" is heard. When the phrase ends the Star Fighter will gradually ramp up to full speed shoots fore and aft simultaneously can have 4 shots onscreen at once Enemy Base Information The Enemy Base is a green station comprised of 6 Cannons around the outside Core in the center Intact cannons can fire at player. Destroying all 6 cannons destroys the station. Station core can open/close. If player shoots an open core, even if partially open, the station is destroyed. In later levels an open core will contain & launch an E-Type missile. The E-Type missile will face towards the side of the station the player was on when the core opened. It will not change direction. Destroy all stations to advance to next level. When last station is destroyed the player's ship will freeze, all onscreen enemy & shots will disappear, and a tune will play. Station shots will destroy asteroids, mines, and even the various missiles - and the player earns points. Station shots are always slower than the player's ship at full-speed. Station will not shoot through itself, so it will not shoot at the player if all pods have been destroyed on the side facing the player Station shots are aimed at the player (as opposed to being randomly directed) If player collides with station, both are destroyed Round(level) Progression 1 - cores are always open 2 - cores open/close 3 - cores open/close 4 - cores open, launch an E-Type, then close 5+ - ??? Note: Progression is for Difficulty = Normal, others will be different Missiles I-Type (right image as Formation Leader) Shows up individually or in formations. Appears to be more aggressive than P-Type ship. Appears to always go towards player's ship* - can think of them as being an Interceptor. P-Type (right image as Formation Leader) Shows up individually or in formations Appears to fly around without regard to Star Fighter's location* - can think of them as being on Patrol. E-Type (right image as Formation Leader) Launched from stations or shows up in formations When launched, faster than player's ship Information Missiles can pass through stations but are destroyed if they collide with an asteroid, mine, player shot, or station shot. If the player moves in such a way that a missile ends up offscreen, the missile is removed from play (no points are earned). If a station's showing an E-Type missile that gets moved just offscreen, the energy field will be shown instead if the player changes direction and moves the core back onscreen. Note: The offscreen removal does not occur for missiles in formation with an intact leader. Missile explosions maintain the trajectory of the destroyed missile * further testing revealed that the I-Type and P-Type are randomly assigned to both Intercept and Patrol duty. I've decided to keep the division of labor as is as the Interceptor and Patrol names jive so well with I-Type and P-Type. Questions How many can attack at once during normal gameplay? How many can attack at once during a red-alert scenario? Round(level) Progression 1 - I-Type slightly slower than player(on normal difficulty level), ?? 2 - I-Type slightly faster than player(on normal difficulty level), ?? 3 - I-Type speed increases, ?? 4 - I-Type speed increases, ?? 5+ - I-Type speed increases, ?? Formations Information Enemy Formations launch from a randomly selected offscreen station. As such, if there's 1+ stations left and the player flies back & forth with all those stations onscreen then no formations will be launched. Formations will fly towards the player's ship. Formations take on 1 of 4 arrangements Arrow Diamond Line X The position of the Formation Leader does not change based on direction of flight - ie: in the line formation the leader is at the top even if the formation is flying downward. If Formation Leader is destroyed, remaining ships of the formation will scatter in different directions. If all formation ships are destroyed the player earns bonus points. Round(level) Progression 1 - ?? 2 - ?? 3 - ?? 4 - ?? 5+ - ?? Questions Do the different formation arrangements attack different? Do the different formation ships attack differently? Spy Ship Information Will make a number of passes at player, if it gets away a Red-Alert Scenario will be triggered. For first pass the Spy Ship starts at one side of the screen and exits another. For second pass the Spy Ship enters from side it just exited from, then exits another. Number of passes is determined by the selected difficulty level: Kids - 4 passes before Red Alert Easy - 3 passes Normal - 2 passes Hard - 1 pass Scoring is random Round(level) Progression 1 - ?? 2 - ?? 3 - ?? 4 - ?? 5+ - ?? Questions Are a Spy Ship & a Formation ever onscreen at same time? - YES Red-Alert Scenario Information Triggered if Spy Ship gets away. During Red-Alert Scenario I-Type and P-Type missiles will come onscreen from side of screen player's ship is pointing at (directly in front of ship with a random +/- offset) Up to 4 P/I types will attack at a time Questions 4 of each (so 8 total), or 2 of each? Do the P-Type still patrol during a Red-Alert, or do they target the Star Fighter like the I-Type does? Formation can attack during Red-Alert Speech Information Blast Off! - Launch of ship (new round as well as new life) Alert! Alert! - Enemy missile in vicinity. Battle Stations! - Formation has left a station Spy Ship Sighted! - Spy ship in view Condition Red! - Red-Alert Scenario Note: Current samples are just placeholders. We need to finish the rest of the program so we'll know how much space we'll have for them. Questions Unclear on when Alert! Alert should be said. Inert Objects (asteroids) (cosmo-mine) Information The player's ship, Spy Ships, and Missiles will be destroyed if they collide with an Asteroid or Cosmo-Mine. The debris from an Asteroid is safe to pass through. The debris from a Cosmo-Mine is deadly to both player and enemy missiles. Condition Information There are 3 conditions: Green - No Enemy threats in your vicinity Yellow - you are near enemy base and it's firing at you Red - Spy Ship got away, or you've been in the sector for too long Condition is visually indicated by the horizontal line above the score, and the ticks that make up the corners of the radar. Scoring Information Points 10 Asteroid 20 Cosmo-mine 50 I-Type 100 formation leader 60 P-Type 120 formation leader 70 E-Type 140 formation leader 200/400/800 Spy Ship 200 Destroy Station Cannon 1500 Destroy Station 500 Destroy all ships in I-Type formation 1000 Destroy all ships in P-Type formation 1500 Destroy all ships in E-Type formation Player earns points regardless of how object is destroyed Formation points and Spy Ship points are briefly displayed after the explosion finishes. highest score for taking out station is 2700 points (hitting all 6 pods, 6*200 + 1500) Bonus for no-miss clear - if arcade unit is configured for difficulty level of "auto", the player will earn bonus points at the end of each round the player does not lose a life on. Extra Lives to be determined
  3. Yep, no shifting required. All 128 pixels are drawn using only the players in triplicate with RESPx tricks.
  4. I took my 7800 apart once when I was going to attempt an AV mod. Decided not to do it, and closed it back up. When I get a chance I'll open it back up and take some photos. The colors for NTSC are 0x36 and 0x96. For PAL and SECAM I use color conversion functions. For PAL I use this: const unsigned char NTSCtoPAL[16] = { // SeaGtGruff's conversion values from this post at AtariAge: // http://atariage.com/forums/topic/165424-modify-colour-palette/?p=2043124 0x00, 0x20, 0x20, 0x40, 0x60, 0x80, 0xa0, 0xc0, 0xd0, 0xb0, 0x90, 0x70, 0x50, 0x30, 0x30, 0x20 }; int ColorPAL(int color) { return NTSCtoPAL[color>>4] + // chroma value (color & 0x0f); // luma value } For SECAM I use: const unsigned char NTSCtoSECAM[16] = { 0x0e, // 0 = white e = white 0x0c, // 1 = yellow c = yellow 0x0c, // 2 = yellowish orange c = yellow 0x04, // 3 = reddish orange 4 = red 0x04, // 4 = red 4 = red 0x06, // 5 = reddish purple 6 = purple 0x06, // 6 = purple 6 = purple 0x06, // 7 = bluish purple 6 = purple 0x02, // 8 = blue 2 = blue 0x02, // 9 = blue 2 = blue 0x0a, // a = bluish cyan a = cyan 0x0a, // b = cyan a = cyan 0x08, // c = green 8 = green 0x08, // d = green 8 = green 0x08, // e = olive green 8 = green 0x0c // f = brown c = yellow }; int ColorSECAM(int color) { if (color < 2) return 0; // return black for 0 or 1 else return NTSCtoSECAM[color>>4]; } Hmm, reminiscent of the Enterprise - wonder if that's what the player's ship looked like in early versions.
  5. cd-w figured out an arrangement where we no longer need to shift characters, and thus can output 128 discrete pixels per scanline. See replies 133 onward.
  6. I've a few pages on my site, like Homebrews Online, that use JStella; though it hasn't worked in a while (probably due to browser changes and /or security settings). When it worked it was pretty slick - all the buttons on Artie the Atari were functional. When it was powered off you could change the game, at which point the game the instructions below Artie would also be changed. It'd be nice to get that working again
  7. AtariAge logo in place, though blink and you'll miss it fixed the screen roll issue in Quadrant B, Level 8 fixed the graphic glitch at bottom-right of gameplay area fixed a problem where the right half of the new mine explosions were not deadly added support for "tunes" (basically a 2-channel sound effect) iesposta's finished the sound effects for Player Shoots, Missile Spy Ship Hit, and Cannon Hit as well as the tune Round Clear. All are in place, though Missile Spy Ship Hit isn't used yet as that part of the game has not been written. Revised end-of-round to match the arcade (freeze player's ship, remove enemy ships and station shots, play the Round Clear tune). For Harmony or Stella (requires Stella 5.0.0-pre8 or newer) draconian_20170611.bin
  8. Got quite a bit done the past few days! AtariAge logo in place. Not tune yet, so it's blink and you'll miss it fixed the screen roll issue on B-8. It was due to left over code from this build, which took 6+ scanlines of time to set the positions of the objects during vertical blank. This was no longer needed as object positions are now set during the first 5 scanlines of the game screen. fixed the graphic glitch at bottom-right of gameplay area. The repositioning of the players to draw the radar was occuring 1 scanline too soon. Fixed a problem where the new mine explosions were not deadly on the right half of the explosion. Problem was caused by the collision detection routines only supporting line-by-line shifting of the station sprites. Added support for "tunes" - basically 2 sound effects that play concurrently on both channels. iesposta's finished the sound effects for Player Shoots, Missile Spy Ship Hit, and Cannon Hit. All are in place, though Missile Spy Ship Hit isn't used yet as that part of the game has yet to be written. iesposta's finished the tune for Round Clear Revised end-of-round logic to freeze the player's ship, remove all enemy ships, remove all station shots, and play the Round Clear tune. NTSC PAL SECAM I've been doing more play testing in MAME to get a handle on how the game plays (it's difficult to write game code when you don't know the rules!). I plan to post a blog entry in the next day or two which documents what I've figured out so far. I would appreciate feedback on anything I get wrong or haven't yet figured out. Additionally cd-w's been working on the driver trying to fix the boot problem with the Evil 7800s like mine. It's possible the final solution will require an update to Stella as well. For Harmony or Stella (requires Stella 5.0.0-pre8 or newer) draconian_20170611.bin
  9. Could always do a call for testing like we did for Bus Stuffing. For that we saw 5 failures out of 78,which was enough for me to cancel plans of using BUS Stuffing for Draconian. That turned out OK though, the creation of CDF with FastJump* meant I was able to pull off everything I thought I'd need BUS for. I didn't do a call for testing for console detection because I felt the menu option as a fallback was good enough. In contrast, for BUS there's no fallback if it doesn't work. * Fastjump is basically JMP $0000 where the CDF driver replaces $0000 with the address of the next single-scanline-kernel to run.
  10. I didn't calculate error margins, but you can see test results from various people in the post Thomas linked to. Basically what we saw were timer values (in hex): 11D3xx = NTSC 11FDxx = PAL 11E8xx = SECAM I also have the TV-Type as a menu option so the player can override it if it was detected incorrectly.
  11. I was tracking down that link so missed your reply. That link talks about the clock rate differences between the systems. We had a number of people test it and while there were some variations the results the type of console was consistently detected. This is the routine that runs during the "splash screen" for Draconian. The console detection test runs for 1 frame. void SplashVerticalBlank() { MODE++; if (MODE == 0x81) { T1TC = 0; // make sure timer starts at 0 T1TCR = 1; // turn on timer } else if (MODE == 0x82) { T1TCR = 0; // turn off timer if (T1TC < (0x11e8ff + 0x11d329)/2) MM_TV_TYPE = NTSC; else if (T1TC > (0x11fd2b + 0x11e8ff)/2) MM_TV_TYPE = PAL; else MM_TV_TYPE = SECAM; } else // if (MODE == (0x80 + 60)) // 1 second delay for testing splash screen line count { // eventually this will be the time the AtariAge splash screen is displayed MODE = 1; // menu } } MODE is the game mode variable. If bit 7 is on it's in Splash Screen mode. If MODE = 0 then the game is active. If MODE = 1 the menu screen's active. Additional modes could be 2 for high score list, 3 for easter egg, etc. though I don't think I'll have space for those this time around as the digital samples will take up a lot of room. From the manual for the ARM processor used in the Harmony: T1TCR = Timer 1's Timer Control Register. The TCR is used to control the Timer Counter functions. The Timer Counter can be disabled or reset through the TCR. T1TC = Timer 1's Timer Counter. The 32-bit TC is incremented every PR+1 cycles of PCLK. The TC is controlled through the TCR.
  12. As Thomas says, not true anymore. We can even detect if it's a SECAM 2600.
  13. It's in the Homebrew forum, since you have a Harmony cart you might to check it out periodically: New pacman for atari 2600 Scramble - 2600 Hunt The Wumpus (Atari 2600) Aardvark for Atari VCS/2600 Draconian (2600)
  14. Problems like this can be very difficult to diagnose without access to the hardware in question. Perhaps you could donate one of those adaptors to the Stella project?
  15. SpiceWare

    it exploded

    Yikes, major screen rolls on the 2600 for B-8!
  16. Thank you! Since you have a Harmony you might like to playtest my latest project, Draconian. I'm planning to release it at PRGE in October.
  17. new station core open/close sequence revised destroyed station pod graphics all explosion sequences are new revised player shots cd-w's updated the CDF Driver to fix a few issues A number of routines have been rewritten, so let me know if you spot something odd! For Harmony or Stella (requires Stella 5.0.0-pre8 or newer) draconian_20170607.bin
  18. SpiceWare

    it exploded

    https://www.youtube.com/watch?v=k9JihWhN4zk Quite a few updates in this one! There's all new graphics and color sequences for the explosions. To support this the existing explosion routine had to be rewritten from scratch. In fact, a number of routines have undergone revisions so let me know if you spot something odd. While play testing I discovered something about the destroyed station pods that we didn't get quite right for the vertical station. For the horizontal station, after destroying this pod it's not possible to shoot the one just below it. This matches the arcade: However, for the vertical station, after destroying this pod you have a clear shot at the pod to the left. That makes it much easier to take out a station. At the same time Nathan was play testing, and he discovered it was possible to hit the core with a diagonal shot between two destroyed pods: So destroyed pod graphics have been updated to prevent both issues: Even with that change the diagonal shot was still sometimes attainable, so we fattened up the player's shots a touch. Lastly cd-w's made some updates to the CDF driver. He fixed fix a noisy audio issue when using IRQ Audio mode (I hadn't been using that mode until now because the noise was so bad!), resolved a compatibility issue with the 7800, and changed it to zero out C Variable storage upon boot to fix a problem with static variables. We are aware of one remaining issue with the CDF driver - if you flash the Harmony with a CDF game it will boot up OK on a 2600, but might not boot on a 7800. For Harmony or Stella (requires Stella 5.0.0-pre8 or newer) draconian_20170607.bin
  19. I know saves were figured it, it was done for Chetiry : However that's for standalone games, not for games loaded via the SD card. Harmony is a Melody + daughterboard containing an SD slot & USB port, though you can flash games on it for standalone use just like the Melody. The Encore is a variation of the Harmony with extra Flash ROM and RAM. I've not used the high score save feature in any of my games as it requires you to set aside 4K of the cartridge.
  20. The proper question to ask is "is there a 2600 version of this game?" over in the Atari 2600 forum. Work was done on a port years ago, but I don't think it was ever finished.
  21. Updated explosions coming later today!
  22. No, the Savekey plugs into a joystick port (the ports are bidirectional). The Harmony Encore doesn't even see communication meant for the SaveKey, so it can't implement support for it. Get the AtariVox+. The Savekey just implements the AtariVox' high score save feature without including the speech synthesizer.
  23. SpiceWare

    Minor revision

    Yep - looks like you flagged all those 1 line functions as inline in defines_cdf.h
×
×
  • Create New...