Jump to content
  • entries
    657
  • comments
    2,692
  • views
    898,045

About this blog

Atari projects, Mac mini DVR, and other things

Entries in this blog

Big Otto

New look for diagonal shots. Robot explosions back in place, utilizing the new 2x sprite feature. Doors are back in place. Special room objects for Frenzy (Left Difficulty = A) in place. Only Big Otto does anything at the moment. Evil Otto can be killed in Frenzy variation. Still some work to be done on this feature. Sleeping until something happens   Happy the humanoid was neutralized   mad that little otto was destroyed, so launc

SpiceWare

SpiceWare in Frantic

Special Room updates

Moved routines from Vertical Blank to Overscan to fix screen roll problem Special object animation in place Big Otto's face will update, launches extra Evil Ottos with very primitive movement logic Hit the Power Plant and robots can't move, but can still shoot Hit the Central Computer and robots can't shoot and will randomly move (even into walls) Factory doesn't do anything yet, but if you hit it the animation stops Big Otto   Power Plant

SpiceWare

SpiceWare in Frantic

big otto

Was trying to figure out how to show the special objects* in the Frenzy variation when I realized a 2x player would just about fill the width of the smaller room sections. I checked the kernel and discovered I had enough time to change the size of Player 1 during it's reposition routines. I also had an unused color data stream value, due to Player 1's reposition routine taking 1 scanline longer than player 0's routine, where I could store the NUSIZ1 value. So I've updated the kernel and the spri

SpiceWare

SpiceWare in Frantic

Frantic reboot?!?

I was reviewing the source for Frantic this weekend and while I was going over the time-critical kernel loop: KernelLoop: ; 70 lda #<DS_COLUP0 ; 2 72 sta WSYNC KernelLoopNoWSYNC: beq RepositionP0 ; 2 2 sta COLUP0 ; 3 5 - before 25 lda #<DS_COLUP1 ; 2 7 beq RepositionP1 ; 2 9 sta COLUP1 ; 3 12 - before 25 stx ENAM0 ; 3 15 - before 25 lda #<DS_GRP0 ; 2 17 sta GRP0 ; 3 20 - before 25 sty ENAM1 ; 3 23 - before 25 lda #<DS_PF2L ; 2 25 sta PF2 ; 3 28 - before 38 ld

SpiceWare

SpiceWare in Frantic

Sprite driver rewritten

Sprite driver has been rewritten to work with the new kernel. I've also written an alternative sprite driver that improves performance, though there is a minor tradeoff when using it. I've set OPTIMIZE to 1, which causes some extra 6507 code to come into play. The extra code extends the display by 10 scanlines in order to show what's left in TIM64T for Vertical Blank and Over Scan. Some TVs may not like displaying a 272 scanline image, so it's possible this ROM will roll for some people. My C=10

SpiceWare

SpiceWare in Frantic

Alex tests

Just for grins, did some builds using the Alex voice at 3 different rates: 2000, 3000 and 4000 Hz. Sample space used for the 12 words:   2000 Hz = 7575 bytes 3000 Hz = 11365 bytes 4000 Hz = 15153 bytes   Edit: added Berzerk samples at 2000 and 3000 Hz 2000 Hz = 8743 bytes 3000 Hz = 13117 bytes   Edit 2: added Victoria samples at 2000, 3000 and 4000 Hz. 2000 Hz = 7537 bytes 3000 Hz = 11304 bytes 4000 Hz = 15072 bytes  

SpiceWare

SpiceWare in Frantic

humanoid

I did some testing for sample playback. I used 2 different samples for the word "humanoid", one from the Berzerk samples used in older versions of MAME, the other uses the Mac's built in speech synthesis with the Zarvox voice (with speaking rate set half way between Normal and Fast). I chose the humanoid sample as it was the longest in duration of the Bezerk samples.   The Berzerk sample seems a bit noisy which is why I decided to try the Mac's built in Zarvox voice. Also I would like

SpiceWare

SpiceWare in Frantic

Homing in on you

Tanks now launch Homing Missiles changeable wall color menu is back lots of ROM savings Menu's back in place. All options should be functional, so let me know if something doesn't work as expected.   A couple Tanks launched Homing Missiles. They're shaped differently than the normal shots. The menu option sets the number of redirects each Homing Missile can make. Values range from 0-3 (0=no redirect). The "remove brick" routine needs to be updated to cop

SpiceWare

SpiceWare in Frantic

Playable

Animation routines aren't in place yet, but we now have a playable build.   I always liked the Stealth Mode, so I've added that back in. It's currently controlled by the Right Difficulty switch. When enabled, all robots will initially be visible for 1 second. After that any robot that shoots will be visible for 1/2 second. If a robot is destroyed, all remaining robots will be visible for 1/2 second.   In the Frenzy version you can shoot out the solid walls - this can be handy

SpiceWare

SpiceWare in Frantic

Robot and Tank animation

Changes Robot and Tank animation sequences are in place Robot and Tank "cool down" logic implemented, should prevent "rapid fire" Controls RESET = start game SELECT = return to menu Left Difficulty, Frenzy Special Room Test1: B = Off, A = On Right Difficulty, Stress Test Mode2: B = Off, A = On 1Frenzy Special Room Test will always put a special object in the room. Currently only Big Otto does anything, and it's the same experimental code as befor

SpiceWare

SpiceWare in Frantic

pixel perfect collision detection

The routines now report a collision only when sprite pixels overlap.   I've modified the joystick routines to use the right joystick to move Evil Otto. When he's moved the score will turn green to denote that his collisions are the ones being displayed.     Not touching (technically this should be touching - but the revolving eye is not stored as part of the sprite image).   Touching   Evil Otto collides with humanoid   Evi

SpiceWare

SpiceWare in Frantic

Some love for Frantic

Been about a month since the last update for Frantic so I thought I'd spend some time on it. Tryed out Maze Type as the default selected option. Not a fan, already changed back to Start for next build. Added Diagnostic support like in Draconian, no longer need to create special diagnostic builds. Noticed that the ARM routines were not using the audio interrupt routine (which will be needed when voice samples are added back in). It's been turned on - and I'm now seeing screen

SpiceWare

SpiceWare in Frantic

There be Walls

Initial wall routines.   The way this works is you are in a room denoted by X, Y coordinates. Exiting left/right will change the X coordinate while exiting up/down will change the Y coordinate. Each coordinate is an 8 bit value, so it wraps at 0/255.   Starting with a room with 8 posts:   Draw a single wall from each post, going either up/down/left/right. To control the drawing, I'm currently* using the X coordinate for the top 4 posts and the Y coordinate for

SpiceWare

SpiceWare in Frantic

LumaBoost

LumaBoost in place, flickering objects will increase in brightness to compensate for the flicker Special Room Object appears in the same location for a give X-Y room so that it doesnt change location if the humanoid dies and room is reinitialized wall types (destructive vs reflective) surrounding Special Room Objects are now drawn based on the object. Priority increased for Hit Special Object sound effect halved the speed of Homing Missiles Forced X position of

SpiceWare

SpiceWare in Frantic

more voice tests

An empty buffer is filled with an 8 for the waveform data as using 0 causes a noticeable click between words. The Display Data after the sample buffer is filled with 0, so if the program went past the end of the buffer the waveform on the screen wouldn't show anything. On the chance that just the ARM code stopped working and the 6507 was using data from after the sample buffer, I added a bit to the 6507 code to toggle the background color based on the right difficulty switch. However, the proble

SpiceWare

SpiceWare in Frantic

Shot revisions

missile/wall logic now checks all corners of the missile when testing for brick removal, fixes issues with Tank's Homing Missiles missiles now reflect off flickering walls in Frenzy variation ROM frantic20140218.bin   Source Frantic20140218.zip

SpiceWare

SpiceWare in Frantic

the humanoid must not escape

I found SoX and used it for the frequency conversion w/low pass filtering.   I created a bunch of test ROMs that utilize the original MAME Berzerk samples as well as the various built in voices on the Mac. To create the samples for the Mac voices I used the Speech System Preference panel, selected each voice and ran the script create.sh (in the samples folder of the attached source code), which creates audio files for each word.   I then ran convert.sh, which runs sox to conv

SpiceWare

SpiceWare in Frantic

Missile driver rewritten

The missile routines have been added back. I also changed Otto to be a 2X sprite for testing purposes. It'll be changed back to a 1X sprite for the next build, which should be playable   I removed the original flicker logic routine and renamed the new one DisplaySprites. It uses DataStream0 and DataStream1 to populate the graphic and color datastreams for player0 and player1. Since the datastream usage is the same, I was able to merge those two functions into DataStream. The new

SpiceWare

SpiceWare in Frantic

menu is finished

though I might end up redoing it in 6507 code as I think it'll take less ROM space and processing time is not an issue when displaying the menu. Up/Down to select option to change. Left/Right/Fire to change an option. Only Fire works on the Start option, and it starts the game when Fire is released.   The options are: Maze Type (berzerk style on the left, frenzy style on the right) Homing - tank robots shoot homing missiles (frenzy only) Wa

SpiceWare

SpiceWare in Frantic

Speech prep finished

I've freed up enough RAM so I'll be able to add back in the speech routines. Part of it was freed up by changing the sprite variables from INT (4 bytes) to UNSIGNED CHAR (1 byte). The routines can handle 24 sprites, and there are 9 different values stored for each sprite (such as X, Y, Image ID, Animation Frame, etc), so the original RAM usage was 864 bytes. After the change that only took 216 bytes. The rest was freed up by moving variables from the Display Data area into the Frequency table ar

SpiceWare

SpiceWare in Frantic

For those without a Harmony

Not sure how clearly this comes across via YouTube as I'm so used to hearing & understanding the phrases (even down to 2000 Hz) from all the testing I've done. The demo is at 4000 Hz and the phrases are: "The Humanoid Must Not Escape" "Intruder Alert, Intruder Alert" "Chicken, Fight like a Robot" "The Chicken Must Not Escape"   Followed by the Intruder Alert message played back at a variety of rates.   http://www.youtube.com/watch?v=NEDP0Ch0j8M  

SpiceWare

SpiceWare in Frantic

Feature parity with the final build of the prior reboot

I'm now at the point where I've implemented everything that was in the final build of the prior reboot the RAM usage has been changed so there's space for the 2K speech buffer preliminary animation sprite clipping etc On top of that, the Stealth feature is in place, which wasn't last go around.   The new routines have saved almost 2K! Before there was 7372 bytes free (see the comments), now there's 9218 bytes free. Like before, the 9218 doesn't consider

SpiceWare

SpiceWare in Frantic

Game Title & SpiceWare Logo in place

I was able to get a 2 color 48 pixel routine going while working on Chun Li last year. I decided to use it for displaying the game title in Frantic as I thought it would be cool if the humanoid was used for the I. This is a rough logo I threw together this afternoon, if anybody cares to contribute something else I would not be offended in the least, though please maintain the humanoid I aspect of it (there's no need to keep this specific humanoid image). The humanoid could even be taller and fac

SpiceWare

SpiceWare in Frantic

walk robot walk

Robot animation frames are in place. They have thrown off the wall avoidance routines though, so no need to let me know that the robots are walking into walls more frequently than they should!   Also no need to let me know the Frenzy variation doesn't look right! That's because the Tank robots aren't in place yet.   Speaking of Tanks, which do you prefer? Traditional Tank   Scorpion Tank   Both Tanks look cool. The main tradeof

SpiceWare

SpiceWare in Frantic

×
×
  • Create New...