STORAGE MANAGEMENT: LOADING ON VARIABLES

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

SOURCE CODE ()

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

    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

How to compile and run the example

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.

Amstrad CPC 464, Amstrad CPC 6128, Amstrad CPC 664

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.

Atari 1200XL, Atari 130XE, Atari 600XL, Atari 65XE, Atari 800XE, Atari 800XL, Atari XEGS

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.

Atari 400, Atari 800

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.

Commodore 128 (CPU 8502)

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.

Commodore 64, Commodore Executive 64

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.

TRS-80 Color Computer, TRS-80 Color Computer 2

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.

TRS-80 Color Computer 3

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.

VIC-20

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.

Any problem?

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