This example shows how to make ugBASIC understand the memory needed for the various elements in the storage, without defining them.  
                                                
                        source
                        compile
                        sandbox
                        issues?
                        back to examples
                        
GLOBAL track
STORAGE "disco" AS "disk1"
	MUSIC "example.mid" AS "track1" TO track
    MUSIC "what_a_wonderful_world.mid" AS "track2" TO track
ENDSTORAGE
PROCEDURE example ON ALL BUT COCO, COCO3, PC128OP, TO8
    DIM song AS STRING
    DIM songName AS STRING
    DO
        CLS
        PRINT "SELECT A SONG"
        PRINT
        PRINT "1. Example of song"
        PRINT "2. What a wonderful world"
        INPUT song
        SELECT CASE song
            CASE "1"
                songName = "track1"
            CASE "2"
                songName = "track2"
            CASE ELSE
                songName = ""
        ENDSELECT
        IF songName <> "" THEN
            DLOAD songName TO VARPTR(track)
            MUSIC LOOP track
            PRINT "... press any key to stop ..."
            WAIT KEY
        ENDIF
    LOOP        
END PROC
    example[] ON ALL BUT COCO, COCO3, PC128OP, TO8
                    
                        The instructions here refer to compiling the example from the command line. For Microsoft Windows 
                        users we suggest using UGBASIC-IDE, which allows 
                        you to download and compile each single example with just one click.
                        
                                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
        
  
  Are instructions for your specific home computer / console missing? First of all, check if your computer
  is supported by clicking here. If so, since ugBASIC is a language which does not provide abstractions, it is possible 
  that this example will not work on your target. If you think this is an issue, please click here.
                        
                            In order to compile the example, type this command on the command line:
                        
                        Linux
                        ugbc.cpc -O dsk -o storage_example_07.dsk storage_example_07.bas
                        
                        Windows
                        ugbc.cpc.exe -O dsk -o storage_example_07.dsk storage_example_07.bas
                        
                        For Microsoft Windows users we suggest using UGBASIC-IDE, which allows 
                        you to download and compile this example with just one click.
                        
                            In order to compile the example, type this command on the command line:
                        
                        Linux
                        ugbc.atarixl -O xex -o storage_example_07.xex storage_example_07.bas
                        
                        Windows
                        ugbc.atarixl.exe -O xex -o storage_example_07.xex storage_example_07.bas
                        
                        For Microsoft Windows users we suggest using UGBASIC-IDE, which allows 
                        you to download and compile this example with just one click.
                        
                            In order to compile the example, type this command on the command line:
                        
                        Linux
                        ugbc.atari -O xex -o storage_example_07.xex storage_example_07.bas
                        
                        Windows
                        ugbc.atari.exe -O xex -o storage_example_07.xex storage_example_07.bas
                        
                        For Microsoft Windows users we suggest using UGBASIC-IDE, which allows 
                        you to download and compile this example with just one click.
                        
                            In order to compile the example, type this command on the command line:
                        
                        Linux
                        ugbc.coco -O bin -o storage_example_07.bin storage_example_07.bas
                        
                        Windows
                        ugbc.coco.exe -O bin -o storage_example_07.bin storage_example_07.bas
                        
                        For Microsoft Windows users we suggest using UGBASIC-IDE, which allows 
                        you to download and compile this example with just one click.
                        
                            In order to compile the example, type this command on the command line:
                        
                        Linux
                        ugbc.coco3 -O bin -o storage_example_07.bin storage_example_07.bas
                        
                        Windows
                        ugbc.coco3.exe -O bin -o storage_example_07.bin storage_example_07.bas
                        
                        For Microsoft Windows users we suggest using UGBASIC-IDE, which allows 
                        you to download and compile this example with just one click.
                        
                            In order to compile the example, type this command on the command line:
                        
                        Linux
                        ugbc.c128 -O prg -o storage_example_07.prg storage_example_07.bas
                        
                        Windows
                        ugbc.c128.exe -O prg -o storage_example_07.prg storage_example_07.bas
                        
                        For Microsoft Windows users we suggest using UGBASIC-IDE, which allows 
                        you to download and compile this example with just one click.
                        
                            In order to compile the example, type this command on the command line:
                        
                        Linux
                        ugbc.c64 -O prg -o storage_example_07.prg storage_example_07.bas
                        
                        Windows
                        ugbc.c64.exe -O prg -o storage_example_07.prg storage_example_07.bas
                        
                        For Microsoft Windows users we suggest using UGBASIC-IDE, which allows 
                        you to download and compile this example with just one click.
                        
                            In order to compile the example, type this command on the command line:
                        
                        Linux
                        ugbc.vic20 -O prg -o storage_example_07.prg storage_example_07.bas
                        
                        Windows
                        ugbc.vic20.exe -O prg -o storage_example_07.prg storage_example_07.bas
                        
                        For Microsoft Windows users we suggest using UGBASIC-IDE, which allows 
                        you to download and compile this example with just one click.
                        
                        If you have found a problem trying to run this example, if you think there is a bug or, more 
                        simply, you would like it to be improved, open an issue for this example on GitHub. 
                        Thank you!
                        
                        open an issue
                        BACK TO EXAMPLES