Jump to content

First Spear

Members
  • Content Count

    1,676
  • Joined

  • Last visited

Posts posted by First Spear


  1. Why isn't noise on Channel A "111011" instead of "110001" ? The demo clearly works but why doesn't "111011" mean enable noise channel A only?

     

    I have music playing so A&B are unavailable anyway, so I played with the bits to get noise/tone on Channel C only and made a mess.

     

    Thanks.

     

     

     

     

     

    There isn't much to this demo. Just spent 10 minutes whipping it up.

    [snip]
    '       Bit 0       Tone enable for channel A.   0 enables, 1 disables
    '       Bit 1       Tone enable for channel B.   0 enables, 1 disables
    '       Bit 2       Tone enable for channel C.   0 enables, 1 disables
    '       Bit 3       Noise enable for channel A.  0 enables, 1 disables
    '       Bit 4       Noise enable for channel B.  0 enables, 1 disables
    '       Bit 5       Noise enable for channel C.  0 enables, 1 disables
    [snip]
    
    

  2. Can anyone post a working sample of how to "play noise" using IntyBASIC? I have got the basics of sound effect generation but SOUND 4 is still a bit of a mystery. In the end I want to play the sound of things splashing in the water (think a salvo missing a ship in Sea Battle) but to get started I would be great to learn how to play a moment of white noise... I did see "SOUND 4" used in the gosub source (thanks!) but its usage is interwoven into other stuff.

     

     

    Thanks.


  3. So awesome.

    I wish there was more than one "like" button for posts.

    Thank you!

     

     

     

    And yes, I realize GetDigit is a bit superfluous. I should have nuked it. I initially thought more might need to go in there, but it wasn't really necessary. Here's a more concise but functionally equivalent version.

    .

    ' Number Input Demo
    ' J. Zbiciak, Mar 2015
    [snip]
    

    post-31694-0-16710100-1425756307_thumb.jpg

     


  4. Thanks. My unstated issue is that I want to input 4 digit numbers for #myvar, and I have 8 actual variables to fill. I started down the path you suggested but if I want to enter "45" and I first accept a 4 and then a 5 I will end up storing a 9.

     

    Thanks.

     

     

    Keep in mind that INPUT handles the .. well, input for you. The keyboard. In IntyBASIC you have to handle it yourself. So the answer is, CONT(1/2).

     

    PRINT AT 20,"Value?"

    loop:

    c=CONT

    if c = 0 THEN GOTO loop ELSE myVar=c

     

    Or similar. Obviously you'll want to do a lot of processing on myVar depending on what you're aiming for. And you'll want a lot of logic to avoid specious input (say the direction disc, etc).


  5. Thanks to Kiwi for straightentening me out. Here is working code. Many issues addressed. Thanks sir!

     

    ' http://www.sean.co.uk/books/amstrad/amstrad6.shtm
    Mode 1
    #soundTemp = 0
    
    
    LoopMain:
    Wait
    If CONT.B0 Then GoSub TonePlay01 
    If CONT.B1 Then GoSub TonePlay02 
    Goto LoopMain
    
    
    TonePlay01: Procedure
    Print At 13 Color 0 , "  "
    Print At 1 Color 5 , "01"
    Restore DataSound01
    #soundTemp = 0
    While #soundTemp <> 65535
    Sound 2,#soundTemp,12
    Read #soundTemp
    Wait
    Wend
    Restore DataNullState
    Sound 2,,0
    Return
    End
    
    
    TonePlay02: Procedure
    Print At 13 Color 3 , "02" 
    Print At 1 Color 0 , "  "
    Restore DataSound02
    #soundTemp = 0
    While #soundTemp <> 65535
    Sound 2,#soundTemp,12
    Read #soundTemp
    Wait
    Wend
    Restore DataNullState
    Sound 2,,0
    Return
    End
    
    
    DataNullState:
    
    
    DataSound01: 
    Data 900,900,800,500,300,150,120,100,900,500,100,65535
    
    
    DataSound02: 
    Data 800,800,900,600,400,250,220,200,800,600,200,65535
    

     

    Can anyone using IntyBASIC share successful techniques to make sound?

    I can make dinky tones as shown in the example code, but there appears to be a large gap between that and the sound of an arrow firing and subsequently vaporizing a monster in Cloudy Mountain.

     

     

     

     

    I found what I think is a workable note/frequency table at http://www.armory.com/~rstevew/Public/SoundSynth/Novelty/AY3-8910/start.html

     

     

    Thanks.

     

    • Like 1

  6. Can anyone using IntyBASIC share successful techniques to make sound?

    I can make dinky tones as shown in the example code, but there appears to be a large gap between that and the sound of an arrow firing and subsequently vaporizing a monster in Cloudy Mountain.

     

    
    
    ' Sound experiment program
    Mode 1
    #contTemp = 9
    #freqCurrent = 370
    #wasPlayed = 0
    
    
    loop:
    'Is this the most performant way to read the controller?
    Wait
    If CONT1.BUTTON Then Sound 2,,0 : Wait
    #contTemp = CONT1.KEY
    Wait
    If #contTemp = 12 Then Gosub ContDirectionHandle
    If #contTemp < 12 Then Gosub ContKeypadHandle
    If #wasPlayed = 0 Then GoSub PlayNow
    Goto loop
    
    
    ContKeypadHandle: Procedure
    If #contTemp = 0 Then #freqCurrent = 220  : #wasPlayed = 0
    If #contTemp = 1 Then #freqCurrent = 233  : #wasPlayed = 0
    If #contTemp = 2 Then #freqCurrent = 246  : #wasPlayed = 0
    If #contTemp = 3 Then #freqCurrent = 261  : #wasPlayed = 0
    If #contTemp = 4 Then #freqCurrent = 277  : #wasPlayed = 0
    If #contTemp = 5 Then #freqCurrent = 293  : #wasPlayed = 0
    If #contTemp = 6 Then #freqCurrent = 311  : #wasPlayed = 0
    If #contTemp = 7 Then #freqCurrent = 329  : #wasPlayed = 0
    If #contTemp = 8 Then #freqCurrent = 349  : #wasPlayed = 0
    If #contTemp = 9 Then #freqCurrent = 370  : #wasPlayed = 0
    If #contTemp = 10 Then #freqCurrent = 392 : #wasPlayed = 0
    If #contTemp = 11 Then #freqCurrent = 415 : #wasPlayed = 0
    Print At  1 Color 11 , <6>#contTemp
    Print At 21 Color 5 , "000000"
    Wait
    End
    
    
    ContDirectionHandle: Procedure
    If Cont1.Up > 0 Then #freqCurrent = #freqCurrent + 1  : #wasPlayed = 0
    If Cont1.Down > 0 Then #freqCurrent = #freqCurrent -1  : #wasPlayed = 0
    Print At  1 Color 11 , "000000"
    Print At 21 Color 5 , <6>#contTemp
    Wait
    End
    
    
    PlayNow: Procedure
    Sound 2 , #freqCurrent , 12
    For #spinWait = 0 to 15
    Wait
    Next #spinWait
    Print At 41 Color 7  , <6>#freqCurrent
    Sound 2,,0
    #wasPlayed = 1
    End

     

     

     

    I found what I think is a workable note/frequency table at http://www.armory.com/~rstevew/Public/SoundSynth/Novelty/AY3-8910/start.html

     

     

    Thanks.

    post-31694-0-63871500-1425574472_thumb.jpg


  7. I was thinking of the normal RF output path. The 8-bit Apple II had "40 column graphics" and 280 pixels horizontal display, but adding additional hardware and software calls made the display 80 columns of text and 560 pixels wide by interleaving two banks of 40 column display. I thought that through the cartridge port the Intellivision could be "tricked" into doing the same thing somehow.

     

    But the answer is no.

     

    I just learned a ton in the process.

     

    Thanks!

     

     

     

    The answer to your question depends on the answer to this question: Do you want the video output to go out the normal RF output path (or A/V port if suitably modified), or have a video connector on the cartridge?

    [snip]

     

    Other than that, there's no way to really upgrade the STIC's output from the cartridge port. You bypass / overlay with something separate of what the STIC outputs.

     

    [snip]

    • Like 1

  8. I was asking about cartridge-based expansion was for the single reason of having an upgrade basically available to "everyone" (that wanted to pay for it). Pure fantasy, but I thought I'd ask (and love Joe's answer) since I don't know the hardware well enough and looking at the Wiki didn't increase my clue count. :)

     

    I agree that letting games now use up to 42k is like having "super graphics" in that the storage allows for more expansive games than ever.

     

    Creative with tiles? Just wait.... :)

     

     

     

    But mostly I'm of the opinion to enjoy something for what it is. Once you start down the franken-console path, it takes all of a couple of solder joints before you're not really using the original console anyway. The guys on AA that are hacking the hell out of the Aquarius to make it less of a piece of shit - sure, it's an impressive technical achievement, but why not just use a computer that isn't a piece of shit to begin with? What exactly does the Aquarius bring to the table that demands expanded capabilities?

     

    [snip]

    Unfortunately the INTV isn't really "expandable" via the cart port, not in the way people are thinking. That being said - holy crap can you do a lot more with it given the near-unlimited ROM space we have today. So to me, it already has the capability to do much enhanced graphics compared to 1981. It's still gonna be tile-based, it's still gonna be low resolution, and it still has a small sprite count. So get creative with your tiles :)

    • Like 1

  9. I thought this was discussed a bit on the AA forums, but my searching is not turning up anything.

     

    How plausible would it be for a cartridge to add electronics to aid or circumvent the STIC to increase background tile counts (improve resolution) or increase flickerless MOB count (improve action)?

     

    On the 8-bit Apple II line, graphics resolution can be doubled by increasing memory and bank-switching with add-on hardware (http://nerdlypleasures.blogspot.com/2013/09/the-overlooked-artifact-color.html). I was wondering if the same could be done on the Inty.

     

    Of course it would break compatibility with everything else on the Intellivision, just curious....

     


  10. Something that fell out of my head this morning.

     

    The game "Mr. Driller" was a favorite of mine on the Dreamcast, and I think a game that resembled it would play really well on the Intellivision. Hopefully it would not cross-over too much with Boulder Dash. I think it might require Pujals/Mueller-class talent to get the characters right, but would be fun and within the MOB capabilities. And it could work on the Flashback2! (ducks)

     

     

     

     

    post-31694-0-25001600-1425396256_thumb.jpg


  11. If I wanted to use as much space as possible (breaking compatibility with the ECS), what statements would I add to an IntyBASIC program, and where? I was under the impression that the IntyBASIC compiler already took care of that, but if there is an edit to the prologue file or something I need to do, I'll do it (or anything else).

     

    I read http://atariage.com/forums/topic/231165-goat-game/page-3 , got some great info there.

     

    Thanks.

     

     

     

    If you push past 16K, add this "somewhere" in your code (you can check the assembler listings to see where you're going over):

     

    ASM ORG $C100

     

    I usually end up stuffing the graphics/sound/other data after this point as that's the bulk of the ROM size after a while.


  12. +1 on the collaborative atmosphere. "It takes a village", and all that. :)

     

    I'm getting help from everyone, in the forum and PM. Thankfully no one is showing annoyance with my questions (yet). Really appreciated!

     

    The STIC is an obstinate beast. Without IntyBASIC, I doubt I would be even this far with my game concept.

     

     

    At any rate, I think there is some nuance to CS mode that I am missing, because my image appears to be legitimate to my eye (but not even IntyColor 1.0.3). Maybe I should draw my image with a single foreground color like white and then use background colors, instead of only drawing with the background colors?

     

    Thanks.

     

     

     

     

    Ah, gotcha. It sounds like freeweed's been helping you map things to CSTK mode. Hopefully getting through the tool issues isn't too much of a drag.

     

    I've written at least two converter tools now myself, and it's not exactly trivial to map a bitmap to the Intellivision display. The color stack rules are a challenge all their own, on top of restrictions such as 'GROM characters can only use primary (0-7) foreground colors, while GRAM characters can use primary or secondary (0-15) foreground colors', and so on.

     

    It's amazing that we can get as much as we can out of the STIC.

     

     

    I really do love the collaborative atmosphere here. :)

    • Like 1

  13. I can't use FGBG mode in my case because I need to use the GROM shape characters. Otherwise I might have gone for it.

     

    Thanks.

     

     

     

    Since three of the four colors you mention come from the primary color set (blue, light green, dark green), would Foreground/Background be a better choice for this screen? You might have to draw the orange areas in 'reverse video' (make orange the foreground color), but it's something to consider.

     

    Downside: you lose lowercase lettering if you try to overlay text on the scene, and you can't use the graphic tiles in GROM to help construct the scene.


  14. I lodged a PayPal complaint 2 days ago since I have not received anything other than a message "coming soon" in December.

     

    post-31694-0-13231000-1424235060_thumb.jpg

     

     

     

    And then, lo and behold, my overlay set came today.

     

     

     

    I don't think IP is malicious. I think they got into a bind with underestimated demand and are not great business people. Great creative people are usually not great business people. Plus their website tech is pretty junky...

     

    It would be cool if Keith Robinson requested, on his own, 2 minutes on the next Intellivisionaries episode and made a post on his website to state what happened with this minor mess and what he could've done better. That would probably smooth things over a bit. But only if he recognizes some of the ill will he's generated over what in the scheme of things is a pretty minor thing.

    • Like 1

  15. Unfortunately a Windows Update + reboot occurred and this is no longer a problem. I say "unfortunately" because I can't now reliably reproduce the issue or give you more to go on. If it occurs again I'll do more to get you something concrete. Thanks for jumping on this so quickly in the first place.

     

     

    Can you run it from a cmd prompt without the -q flag and see what jzIntv report for sound buffering? It would be good to know whether it's dropping sound buffers for some reason.

     

    You should see a line like this:

    Rate: [100.37% 100.75%]  Drop Gfx:[  0.16%      3] Snd:[  0.07%  1  2.960]

    Here's a breakdown of what that line shows:

    • Execution rate as %age of real time. 100% is perfect. First number is long-term average, second number is short-term average. These should hover around 100%.
    • Dropped graphics frames, both as a %age and an absolute count. A small number of dropped frames is typical, especially if you're switching between windows.
    • Dropped audio frames, both as a %age and an absolute count, and also the current audio buffering depth. Again, a small number of dropped audio frames is typical, especially if you're switching between windows.

     

    There are some flags to control audio sample rate and buffering, but first let's see if it's dropping audio or if something else is up.

     

    Have any other Windows users run into problems with this build? I only have WinXP and Win7 to try running on, and my WinXP box has no speakers.

     

     

    EDIT: I'm running it on my aging Dell Win7 laptop, and no audio issues here. Does Win 8.1 have a 'mixer' that allows setting per-app volumes? Maybe that's the culprit. I've never used Windows 8 or 8.1 so I'll have to rely on the rest of you in the peanut gallery for this one.

×
×
  • Create New...