Jump to content
IGNORED

IntyBASIC Rough Song - Star Spangled


Recommended Posts

A little bit of music, without using MUSIC statements.

 

starspang.bas

starspang.rom


	Include "Constants.bas"
	Wait

	Mode 0 , 0,0,0,0
	Wait
	Wait
	CLS
	LoopMain:
		Print At 20 Color CS_WHITE,  "Stars"
		#seekAddr = 40960
		#valTemp = 1
		#sndCounter = 0
		#soundVol = Peek(#seekAddr)
		#seekAddr = #seekAddr + 1
		While PEEK(#seekAddr) <> $FFFF
			Wait
			If PEEK(#seekAddr) = $1000 Then
				Wait
			ElseIf PEEK(#seekAddr) = $0 Then
				Sound 2  ,  $0    ,  0
				Wait
			Else
					Sound 2  ,  PEEK(#seekAddr)    ,  #soundVol    'Regular
			End If
			#seekAddr = #seekAddr + 1
		Wend
		For #spinWait = 0 to 90
			Wait
		Next #spinWait
		GoSub SoundResetAll
		CLS
	Goto LoopMain

	SoundResetAll:	Procedure
		SOUND 0,1,0
		SOUND 1,1,0
		SOUND 2,1,0
		SOUND 4,,$38
		RETURN
		END

ASM ORG $A000

	StarSpangledBit:
	Data $0F , $11a , $1000 , $118 , $1000 , $1000 , $1000 , $11a , $1000 , $1000 , $11c , $11e , $120 , $11e , $11c , $11a , $118 , $11a , $11c , $11e , $120 , $11e , $11c , $14f , $14d , $14f , $151 , $153 , $155 , $153 , $151 , $1aa , $1a8 , $1aa , $1ac , $1ae , $1b0 , $1ae , $1ac , $1aa , $1a8 , $1aa , $1ac , $1ae , $1b0 , $1ae , $1ac , $1aa , $1a8 , $1aa , $1ac , $1ae , $1b0 , $1ae , $1ac , $14f , $14d , $14f , $151 , $153 , $155 , $153 , $151 , $14f , $14d , $14f , $151 , $153 , $155 , $153 , $151 , $14f , $14d , $14f , $151 , $153 , $155 , $153 , $151 , $11a , $118 , $11a , $11c , $11e , $120 , $11e , $11c , $11a , $118 , $11a , $11c , $11e , $120 , $11e , $11c , $11a , $118 , $11a , $11c , $11e , $120 , $11e , $11c , $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6 , $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6 , $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6 , $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6 , $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6 , $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6 , $0a6 , $0a4 , $0a6 , $0a8 , $0aa , $0ac , $0aa , $0a8 , $0a6 , $0a4 , $0a6 , $0a8 , $0aa , $0ac , $0aa , $0a8 , $0bb , $0b9 , $0bb , $0bd , $0bf , $0c1 , $0bf , $0bd , $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6 , $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6 , $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6 , $14f , $14d , $14f , $151 , $153 , $155 , $153 , $151 , $14f , $14d , $14f , $151 , $153 , $155 , $153 , $151 , $14f , $14d , $14f , $151 , $153 , $155 , $153 , $151 , $12a , $128 , $12a , $12c , $12e , $130 , $12e , $12c , $12a , $128 , $12a , $12c , $12e , $130 , $12e , $12c , $12a , $128 , $12a , $12c , $12e , $130 , $12e , $12c , $11a , $118 , $11a , $11c , $11e , $120 , $11e , $11c , $11a , $118 , $11a , $11c , $11e , $120 , $11e , $11c , $11a , $118 , $11a , $11c , $11e , $120 , $11e , $11c , $11a , $118 , $11a , $11c , $11e , $120 , $11e , $11c , $11a , $118 , $11a , $11c , $11e , $120 , $11e , $11c , $11a , $118 , $11a , $11c , $11e , $120 , $11e , $11c , $11a , $118 , $11a , $11c , $11e , $120 , $11e , $11c , $11a , $118 , $11a , $11c , $11e , $120 , $11e , $11c , $11a , $118 , $11a , $11c , $11e , $120 , $11e , $11c , $0a6 , $0a4 , $0a6 , $0a8 , $0aa , $0ac , $0aa , $0a8 , $0a6 , $0a4 , $0a6 , $0a8 , $0aa , $0ac , $0aa , $0a8 , $0a6 , $0a4 , $0a6 , $0a8 , $0aa , $0ac , $0aa , $0a8 , $0a6 , $0a4 , $0a6 , $0a8 , $0aa , $0ac , $0aa , $0a8 , $0a6 , $0a4 , $0a6 , $0a8 , $0aa , $0ac , $0aa , $0a8 , $0bb , $0b9 , $0bb , $0bd , $0bf , $0c1 , $0bf , $0bd , $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6 , $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6 , $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6 , $0df , $0dd , $0df , $0e1 , $0e3 , $0e5 , $0e3 , $0e1 , $0df , $0dd , $0df , $0e1 , $0e3 , $0e5 , $0e3 , $0e1 , $0df , $0dd , $0df , $0e1 , $0e3 , $0e5 , $0e3 , $0e1 , $0df , $0dd , $0df , $0e1 , $0e3 , $0e5 , $0e3 , $0e1 , $0df , $0dd , $0df , $0e1 , $0e3 , $0e5 , $0e3 , $0e1 , $0df , $0dd , $0df , $0e1 , $0e3 , $0e5 , $0e3 , $0e1 , $0fa , $0f8 , $0fa , $0fc , $0fe , $100 , $0fe , $0fc , $0fa , $0f8 , $0fa , $0fc , $0fe , $100 , $0fe , $0fc , $0df , $0dd , $0df , $0e1 , $0e3 , $0e5 , $0e3 , $0e1 , $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6 , $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6 , $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6 , $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6 , $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6 , $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6 , $11a , $118 , $11a , $11c , $11e , $120 , $11e , $11c , $11a , $118 , $11a , $11c , $11e , $120 , $11e , $11c , $11a , $118 , $11a , $11c , $11e , $120 , $11e , $11c , $14f , $14d , $14f , $151 , $153 , $155 , $153 , $151 , $14f , $14d , $14f , $151 , $153 , $155 , $153 , $151 , $14f , $14d , $14f , $151 , $153 , $155 , $153 , $151 , $1aa , $1a8 , $1aa , $1ac , $1ae , $1b0 , $1ae , $1ac , $1aa , $1a8 , $1aa , $1ac , $1ae , $1b0 , $1ae , $1ac , $1aa , $1a8 , $1aa , $1ac , $1ae , $1b0 , $1ae , $1ac , $1000 , $1000 , $1000 , $1000 , $1000 , $1000 , $000 , $FFFF

It's been a while since I put anything up here. Someone please take this, tweak it as needed, and put it in their next game, no strings attached. Sharing is caring.

 

 

  • Like 2
Link to comment
Share on other sites

I ran the ROM and nothing happened. It clears the screen, painted black, and writes "Stars" at the top, but no sound.

 

UPDATE: I built from source and was able to hear the music (well done!). However, the posted ROM does not seem to work. Attached is the one I just built, with no modifications.

 

starspang.rom

 

-dZ.

Edited by DZ-Jay
  • Like 2
Link to comment
Share on other sites

Its now no longer reliant on an "asm org" statement and I broke the huge data line into manageable chunks.

 

 

    Include "Constants.bas"
    Wait

    Mode 0 , 0,0,0,0
    Wait
    Wait
    CLS
    LoopMain:
        Print At 20 Color CS_WHITE,  "Stars"
        #seekAddr = varptr StarSpangledBit(0)
        '#valTemp = 1
        '#sndCounter = 0
        #soundVol = Peek(#seekAddr)
        #seekAddr = #seekAddr + 1
        While PEEK(#seekAddr) <> $FFFF
            Wait
            If PEEK(#seekAddr) = $1000 Then
                Wait
            ElseIf PEEK(#seekAddr) = $0 Then
                Sound 2  ,  $0    ,  0
                Wait
            Else
                    Sound 2  ,  PEEK(#seekAddr)    ,  #soundVol    'Regular
            End If
            #seekAddr = #seekAddr + 1
        Wend
        For #spinWait = 0 to 90
            Wait
        Next #spinWait
        GoSub SoundResetAll
        CLS
    Goto LoopMain

    SoundResetAll:    Procedure
        SOUND 0,1,0
        SOUND 1,1,0
        SOUND 2,1,0
        SOUND 4,,$38
        RETURN
        END

rem ASM ORG $A000

StarSpangledBit:
    Data $0F , $11a , $1000 , $118 , $1000 , $1000 , $1000 , $11a , $1000 , $1000 , $11c , $11e , $120
    Data $11e , $11c , $11a , $118 , $11a , $11c , $11e , $120 , $11e , $11c , $14f , $14d , $14f , $151
    Data $153 , $155 , $153 , $151 , $1aa , $1a8 , $1aa , $1ac , $1ae , $1b0 , $1ae , $1ac , $1aa , $1a8
    Data $1aa , $1ac , $1ae , $1b0 , $1ae , $1ac , $1aa , $1a8 , $1aa , $1ac , $1ae , $1b0 , $1ae , $1ac
    Data $14f , $14d , $14f , $151 , $153 , $155 , $153 , $151 , $14f , $14d , $14f , $151 , $153 , $155
    Data $153 , $151 , $14f , $14d , $14f , $151 , $153 , $155 , $153 , $151 , $11a , $118 , $11a , $11c
    Data $11e , $120 , $11e , $11c , $11a , $118 , $11a , $11c , $11e , $120 , $11e , $11c , $11a , $118
    Data $11a , $11c , $11e , $120 , $11e , $11c , $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6
    Data $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6 , $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da
    Data $0d8 , $0d6 , $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6 , $0d4 , $0d2 , $0d4 , $0d6
    Data $0d8 , $0da , $0d8 , $0d6 , $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6 , $0a6 , $0a4
    Data $0a6 , $0a8 , $0aa , $0ac , $0aa , $0a8 , $0a6 , $0a4 , $0a6 , $0a8 , $0aa , $0ac , $0aa , $0a8
    Data $0bb , $0b9 , $0bb , $0bd , $0bf , $0c1 , $0bf , $0bd , $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da
    Data $0d8 , $0d6 , $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6 , $0d4 , $0d2 , $0d4 , $0d6
    Data $0d8 , $0da , $0d8 , $0d6 , $14f , $14d , $14f , $151 , $153 , $155 , $153 , $151 , $14f , $14d
    Data $14f , $151 , $153 , $155 , $153 , $151 , $14f , $14d , $14f , $151 , $153 , $155 , $153 , $151
    Data $12a , $128 , $12a , $12c , $12e , $130 , $12e , $12c , $12a , $128 , $12a , $12c , $12e , $130
    Data $12e , $12c , $12a , $128 , $12a , $12c , $12e , $130 , $12e , $12c , $11a , $118 , $11a , $11c
    Data $11e , $120 , $11e , $11c , $11a , $118 , $11a , $11c , $11e , $120 , $11e , $11c , $11a , $118
    Data $11a , $11c , $11e , $120 , $11e , $11c , $11a , $118 , $11a , $11c , $11e , $120 , $11e , $11c
    Data $11a , $118 , $11a , $11c , $11e , $120 , $11e , $11c , $11a , $118 , $11a , $11c , $11e , $120
    Data $11e , $11c , $11a , $118 , $11a , $11c , $11e , $120 , $11e , $11c , $11a , $118 , $11a , $11c
    Data $11e , $120 , $11e , $11c , $11a , $118 , $11a , $11c , $11e , $120 , $11e , $11c , $0a6 , $0a4
    Data $0a6 , $0a8 , $0aa , $0ac , $0aa , $0a8 , $0a6 , $0a4 , $0a6 , $0a8 , $0aa , $0ac , $0aa , $0a8
    Data $0a6 , $0a4 , $0a6 , $0a8 , $0aa , $0ac , $0aa , $0a8 , $0a6 , $0a4 , $0a6 , $0a8 , $0aa , $0ac
    Data $0aa , $0a8 , $0a6 , $0a4 , $0a6 , $0a8 , $0aa , $0ac , $0aa , $0a8 , $0bb , $0b9 , $0bb , $0bd
    Data $0bf , $0c1 , $0bf , $0bd , $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6 , $0d4 , $0d2
    Data $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6 , $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6
    Data $0df , $0dd , $0df , $0e1 , $0e3 , $0e5 , $0e3 , $0e1 , $0df , $0dd , $0df , $0e1 , $0e3 , $0e5
    Data $0e3 , $0e1 , $0df , $0dd , $0df , $0e1 , $0e3 , $0e5 , $0e3 , $0e1 , $0df , $0dd , $0df , $0e1
    Data $0e3 , $0e5 , $0e3 , $0e1 , $0df , $0dd , $0df , $0e1 , $0e3 , $0e5 , $0e3 , $0e1 , $0df , $0dd
    Data $0df , $0e1 , $0e3 , $0e5 , $0e3 , $0e1 , $0fa , $0f8 , $0fa , $0fc , $0fe , $100 , $0fe , $0fc
    Data $0fa , $0f8 , $0fa , $0fc , $0fe , $100 , $0fe , $0fc , $0df , $0dd , $0df , $0e1 , $0e3 , $0e5
    Data $0e3 , $0e1 , $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6 , $0d4 , $0d2 , $0d4 , $0d6
    Data $0d8 , $0da , $0d8 , $0d6 , $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6 , $0d4 , $0d2
    Data $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6 , $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6
    Data $0d4 , $0d2 , $0d4 , $0d6 , $0d8 , $0da , $0d8 , $0d6 , $11a , $118 , $11a , $11c , $11e , $120
    Data $11e , $11c , $11a , $118 , $11a , $11c , $11e , $120 , $11e , $11c , $11a , $118 , $11a , $11c
    Data $11e , $120 , $11e , $11c , $14f , $14d , $14f , $151 , $153 , $155 , $153 , $151 , $14f , $14d
    Data $14f , $151 , $153 , $155 , $153 , $151 , $14f , $14d , $14f , $151 , $153 , $155 , $153 , $151
    Data $1aa , $1a8 , $1aa , $1ac , $1ae , $1b0 , $1ae , $1ac , $1aa , $1a8 , $1aa , $1ac , $1ae , $1b0
    Data $1ae , $1ac , $1aa , $1a8 , $1aa , $1ac , $1ae , $1b0 , $1ae , $1ac , $1000 , $1000 , $1000
    Data $1000 , $1000 , $1000 , $000 , $FFFF

 

starspang.bas

  • Like 2
Link to comment
Share on other sites

If jzintv plays music at the correct pitches, it sounds like you implemented the national anthem in C major. According to the Code for the National Anthem from 1942, the recommended key is Ab major, alternatively Bb major for treble voices (and military bands, it seems). Contrary to what I previously thought, the US government though has never officially adopted this code as legislation, unlike the regulations for the US flag.

 

Some people even go a semitone lower and sing it in G major, which then is outside the committee's recommendations but acceptable as it isn't regulated by law - although some states have wanted.

 

As you know, many professional singers have issues with this song, in particular hitting the high F on "free" when sung in Bb major. I thought they chose that key because they had to, but perhaps they stick to it because that is what people are used to and also to compare themselves to other famous artists who made takes on the national anthem. Otherwise they might try G major, or perhaps D major or even Eb major depending on what their singing ranges are. At the same time, it doesn't seem uncommon to treat the song in 4/4 (like Whitney Houston once did) instead of 3/4 which to me would be a bigger change than changing the key.

  • Like 1
Link to comment
Share on other sites

If jzintv plays music at the correct pitches, it sounds like you implemented the national anthem in C major. According to the Code for the National Anthem from 1942, the recommended key is Ab major, alternatively Bb major for treble voices (and military bands, it seems). Contrary to what I previously thought, the US government though has never officially adopted this code as legislation, unlike the regulations for the US flag.

 

Some people even go a semitone lower and sing it in G major, which then is outside the committee's recommendations but acceptable as it isn't regulated by law - although some states have wanted.

 

As you know, many professional singers have issues with this song, in particular hitting the high F on "free" when sung in Bb major. I thought they chose that key because they had to, but perhaps they stick to it because that is what people are used to and also to compare themselves to other famous artists who made takes on the national anthem. Otherwise they might try G major, or perhaps D major or even Eb major depending on what their singing ranges are. At the same time, it doesn't seem uncommon to treat the song in 4/4 (like Whitney Houston once did) instead of 3/4 which to me would be a bigger change than changing the key.

 

You seem to know too much about the United States National Anthem, you must be an immigrant or foreigner. :lol:

Link to comment
Share on other sites

.. or a musician who also is a bit of a trivia nerd who sometimes shows obsessive tendencies. Perhaps the committee in the 1940's had members who sang exceptionally well, otherwise they would have played around with various keys until they found one that everyone in the committee felt comfortable in. The opposite could be the case too, that they all were tone deaf and couldn't tell if they sang out of tune or not.

Edited by carlsson
  • Like 3
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...