Jump to content

SpiceWare

+AtariAge Subscriber
  • Content Count

    16,479
  • Joined

  • Last visited

  • Days Won

    10

SpiceWare last won the day on October 10 2017

SpiceWare had the most liked content!

Community Reputation

5,989 Excellent

About SpiceWare

  • Rank
    Draconian
  • Birthday 11/09/1966

Contact / Social Media

Profile Information

  • Custom Status
    Medieval Mayhem
  • Gender
    Male
  • Location
    Planet Houston

Recent Profile Visitors

86,268 profile views
  1. As revealed on tonight's Zero Page Homebrew, Frantic has been reboot using CDFJ and now features speech using the AtariVox. Thanks to @Nathan Strum for his quick work on creating the AtariVox data for me, and thanks to @sramirez2008 for helping to playtest. Console Switches: TV Type = B&W, score display shows time remaining for Vertical Blank and Overscan. Time remaining has been significantly improved over the DPC+ version, which would jitter/roll the screen when there was lots of action. Left Difficulty A = Max Robot Stress Test. Score will be red and player does not lose a life (so can play forever). Right Difficulty A = Frenzy Special Room Test. Every room will be a special room. GAME RESET + GAME SELECT = Sound Tool. Frenzy Special Rooms are: Big Otto - will launch a swarm of Ottos if you shoot Otto Power Plant - shot it and robots stop moving. They can still shoot Central Computer - shoot it and the robots stop shooting, plus they'll move in random directions Factory - creates additional tank robots. Sound Tool: Phrase 0 is AtariVox "reset", so is silent Words 0, 23, and 24 are silent (0 = reset, 23 and 24 are different pause lengths) Pitch - adjusts pitch of both Phrase and Word Speed - adjust speed of both Phrase and Word. NOTE: some of the words are at, or close to, the max speed. Due to how the AtariVox works, if the speed is increased too much it wraps to a slower speed. Note: we missed a bug with Stealth mode that I'll fix next week. frantic_20200812.bin
  2. You'll need the source, kaboom_deluxe.asm, found in reply 94. You'll also need dasm, as well as vcs.h which is included with dasm. Check out Club DASM for them.
  3. Everyone's going to be blown away by Chris' latest project, it's awesome!
  4. I've other things in the pipe line, tune in Friday to learn more, so I'm not planning on making any more changes to Kaboom! Deluxe! That said, anyone is more than welcome to use Kaboom! Deluxe! as a starting point for additional revisions - that's why I added support for animation even though I didn't make use of it myself.
  5. You're welcome! Now that I think about it, they were probably never in the official macro.h file. A quick search turned up this comment in a blog with @supercat's macro for SBPL - I most likely thought it was a great idea, dropped it into my macro.h, and cloned it for all the branch instructions.
  6. My macro.h has macros written by @supercat that help with this, looks like they're not in the latest macro.h file: ;------------------------------------------------------- ; SAME PAGE BRANCH CHECK ; Original author: John Payson ; ; Usage: sbeq, sbne, etc just like a normal beq, bne, etc. ; A message will be output if the target of the branch ; is not on the same page. ; mac sbcc bcc {1} if (* ^ {1}) & $FF00 echo "PAGE CROSSING","WARNING ",{1}," at ",* err endif endm mac sbcs bcs {1} if (* ^ {1}) & $FF00 echo "PAGE CROSSING","WARNING ",{1}," at ",* err endif endm mac sbeq beq {1} if (* ^ {1}) & $FF00 echo "PAGE CROSSING","WARNING ",{1}," at ",* err endif endm mac sbmi bmi {1} if (* ^ {1}) & $FF00 echo "PAGE CROSSING","WARNING ",{1}," at ",* err endif endm mac sbne bne {1} if (* ^ {1}) & $FF00 echo "PAGE CROSSING","WARNING ",{1}," at ",* err endif endm mac sbpl bpl {1} if (* ^ {1}) & $FF00 echo "PAGE CROSSING","WARNING ",{1}," at ",* err endif endm mac sbvc bvc {1} if (* ^ {1}) & $FF00 echo "PAGE CROSSING","WARNING ",{1}," at ",* err endif endm mac sbvs bvs {1} if (* ^ {1}) & $FF00 echo "PAGE CROSSING","WARNING ",{1}," at ",* err endif endm Here's the time critical routine for sending data to the AtariVox, a bit must be sent every 62 cycles: sec ; start bit .byteout_loop ; put carry flag into bit 0 of SWACNT, perserving other bits lda SWACNT ; 4 and #$fe ; 2 6 adc #$00 ; 2 8 sta SWACNT ; 4 12 ; 10 bits sent? (1 start bit, 8 data bits, 1 stop bit) cpy #$09 ; 2 14 beq .speech_done ; 2 16 iny ; 2 18 ; waste some cycles ldx #$07 .delay_loop dex bne .delay_loop ; 36 54 ; shift next data bit into carry lsr {1} ; 5 59 ; and loop (branch always taken) bpl .byteout_loop ; 3 62 cycles for loop To make sure a branch stays on the same page just prefix it with an s: sec ; start bit .byteout_loop ; put carry flag into bit 0 of SWACNT, perserving other bits lda SWACNT ; 4 and #$fe ; 2 6 adc #$00 ; 2 8 sta SWACNT ; 4 12 ; 10 bits sent? (1 start bit, 8 data bits, 1 stop bit) cpy #$09 ; 2 14 beq .speech_done ; 2 16 iny ; 2 18 ; waste some cycles ldx #$07 .delay_loop dex sbne .delay_loop ; 36 54 <----- time critical loop, must be on same page ; shift next data bit into carry lsr {1} ; 5 59 ; and loop (branch always taken) sbpl .byteout_loop ; 3 62 cycles for loop <----- time critical loop, must be on same page
  7. For some minor graphics variation, set REFP0 after every other group of holes. That'll give you this: From Stella Programmer's Guide, found at MiniDig:
  8. Found a couple of the new Matchbox Convoys Tesla Semi: Also spotted another semi who's trailer I felt better belonged with the Tesla semi, so picked it up on the hopes the trailers were interchangeable: They were! Still looking for the new Hot Wheels' blue Model 3
  9. only difference I see with mine is the product_description is set to AtariVox instead of AtariVox+ SW_AV.xml
  10. Thanks! I've already ordered the new mSATA SSD, should arrive on the 6th, so will go the 20.04 route. Had planned to pick one up locally from MicroCenter, but they longer longer carry them.
  11. Thanks, that would be it: $ gcc --version gcc (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609 The laptop's running Ubuntu 16.04.3 LTS, I see the the current version is 20.04 LTS so it's behind by quite a bit. My SSD only has a couple GB free, so I think my best plan of action will be to get a larger SSD then do a clean install.
  12. no luck building Stella on my Linux machine: In file included from src/gui/ComboDialog.cxx:19:0: src/emucore/Control.hxx:384:71: error: array must be initialized with a brace-enclosed initializer std::array<bool, 5> myDigitalPinState{true, true, true, true, true}; ^ src/emucore/Control.hxx:384:71: error: too many initializers for ‘std::array<bool, 5ul>’ src/emucore/Control.hxx:387:73: error: array must be initialized with a brace-enclosed initializer std::array<Int32, 2> myAnalogPinValue{MAX_RESISTANCE, MAX_RESISTANCE}; ^ src/emucore/Control.hxx:387:73: error: too many initializers for ‘std::array<int, 2ul>’ In file included from src/gui/ComboDialog.cxx:27:0: src/gui/ComboDialog.hxx:47:49: error: array must be initialized with a brace-enclosed initializer std::array<PopUpWidget*, 8> myEvents{nullptr};
×
×
  • Create New...