Table of Contents

ugBASIC User Manual

USER-DEFINED PROCEDURES CALL A PROCEDURE (ALL WAYS)

PURPOSE

This example will show how to define an user-defined procedure and the various way you can call it. You can call it by using directly its name, or by using the keywords PROC or CALL'. All the way are somewhat equivalent. ==== SOURCE CODE ==== CLS PROCEDURE hello PRINT “HEY!” END PROC PROC hello hello[] CALL hello ==== SOURCE FILE ==== * procedures_hello_03.bas ==== HOW TO COMPILE AND RUN ==== 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 compile the example with just one click.=== ATARI 400/800 family === In order to compile and run the example, you need to have the Altirra emulator, and in particular that the altirra executable is accessible. Then, type this command on the command line: # Linux ugbc.atari procedures_hello_03.bas -o example.xex altirra example.xex # Windows ugbc.atari.exe procedures_hello_03.bas -o example.xex altirra example.xex === ATARI 600XL/800XL/1200XL/XG(SE) family === In order to compile and run the example, you need to have the Altirra emulator, and in particular that the altirra executable is accessible. Then, type this command on the command line: # Linux ugbc.atarixl procedures_hello_03.bas -o example.xex altirra example.xex # Windows ugbc.atarixl.exe procedures_hello_03.bas -o example.xex altirra example.xex === Commodore 64 === In order to compile and run the example, you need to have the VICE emulator, and in particular that the x64sc executable is accessible. Then, type this command on the command line: # Linux ugbc.c64 procedures_hello_03.bas -o example.prg x64sc example.prg # Windows ugbc.c64.exe procedures_hello_03.bas -o example.prg x64sc example.prg === Commodore 64+REU === In order to compile and run the example, you need to have the VICE emulator, and in particular that the x64sc executable is accessible. Then, type this command on the command line: # Linux ugbc.c64reu procedures_hello_03.bas -o example.prg x64sc -reu example.prg # Windows ugbc.c64reu.exe procedures_hello_03.bas -o example.prg x64sc -reu example.prg === Commodore PLUS/4 === == Using YAPE == In order to run the example, you need to have the YAPE emulator. In particular that the yape executable is accessible. Then, type this command on the command line: # Linux ugbc.plus4 procedures_hello_03.bas -o example.prg yape example.prg # Windows ugbc.plus4.exe procedures_hello_03.bas -o example.prg yape example.prg == Using VICE == In order to run the example, you need to have the VICE emulator. In particular that the xplus4 executable is accessible. Then, type this command on the command line: # Linux ugbc.plus4 procedures_hello_03.bas -o example.prg xplus4 example.prg # Windows ugbc.plus4.exe procedures_hello_03.bas -o example.prg xplus4 example.prg === Dragon 32 === In order to compile and run the example, you need to have the XROAR emulator, and in particular that the xroar executable is accessible. Then, type this command on the command line: # Linux ugbc.d32 procedures_hello_03.bas -o example.bin xroar -rompath (your rom path) example.bin # Windows ugbc.d32.exe procedures_hello_03.bas -o example.bin xroar.exe -rompath (your rom path) example.bin === Dragon 64 === In order to compile and run the example, you need to have the XROAR emulator, and in particular that the xroar executable is accessible. Then, type this command on the command line: # Linux ugbc.d64 procedures_hello_03.bas -o example.bin xroar -rompath (your rom path) example.bin # Windows ugbc.d64.exe procedures_hello_03.bas -o example.bin xroar.exe -rompath (your rom path) example.bin === PC128 Olivetti Prodest === In order to compile and run the example, you need to have the DCMOTO emulator, and in particular that the dcmoto executable is accessible. Then, type this command on the command line and on the emulator: # Linux ugbc.pc128op procedures_hello_03.bas -o example.k7 dcmoto (choose BASIC 128) CLEAR,&H2FFF: LOADM“CASS:”,R: EXEC # Windows ugbc.pc128op.exe procedures_hello_03.bas -o example.k7 dcmoto (choose example.k7) (choose BASIC 128) CLEAR,&H2FFF: LOADM“CASS:”,R: EXEC === Thomson MO5 === In order to compile and run the example, you need to have the DCMOTO emulator, and in particular that the dcmoto executable is accessible. Then, type this command on the command line and on the emulator: # Linux ugbc.pc128op procedures_hello_03.bas -o example.k7 dcmoto (choose BASIC 128) CLEAR,&H2FFF: LOADM“CASS:”,R: EXEC # Windows ugbc.pc128op.exe procedures_hello_03.bas -o example.k7 dcmoto (choose example.k7) (choose BASIC 128) CLEAR,&H2FFF: LOADM“CASS:”,R: EXEC === Commodore VIC-20 === In order to compile and run the example, you need to have the VICE emulator, and in particular that the xvic executable is accessible. Then, type this command on the command line: # Linux ugbc.vic20 procedures_hello_03.bas -o example.prg xvic –memory 24k example.prg # Windows ugbc.vic20.exe procedures_hello_03.bas -o example.prg xvic –memory 24k example.prg === ZX Spectrum === In order to compile and run the example, you need to have the Speccy emulator, and in particular that the speccy'' executable is accessible.

Then, type this command on the command line:

 # Linux 
 ugbc.zx procedures_hello_03.bas -o example.tap
 Speccy example.tap
 
 # Windows 
 ugbc.zx.exe procedures_hello_03.bas -o example.tap
 Speccy example.tap

MSX

In order to compile and run the example, you need to have the openMsx or the BlueMSX emulator, and in particular that its executable is accessible.

Then, type this command on the command line:

openMSX
 # Linux 
 ugbc.msx1 procedures_hello_03.bas -o example.rom
 openmsx -cart example.rom
 
 # Windows 
 ugbc.msx1.exe procedures_hello_03.bas -o example.rom
 openmsx -cart example.rom
blueMSX
 # Linux 
 ugbc.msx1 procedures_hello_03.bas -o example.rom
 bluemsx example.rom
 
 # Windows 
 ugbc.msx1.exe procedures_hello_03.bas -o example.rom
 bluemsx example.rom

ColecoVision

In order to compile and run the example, you need to have the openMsx or the BlueMSX emulator, and in particular that its executable is accessible.

Then, type this command on the command line:

openMSX
 # Linux 
 ugbc.coleco procedures_hello_03.bas -o example.rom
 openmsx -machine \"COL - ColecoVision\" -cart example.rom
 
 # Windows 
 ugbc.coleco.exe procedures_hello_03.bas -o example.rom
 bluemsx -machine \"COL - ColecoVision\" example.rom
blueMSX
 # Linux 
 ugbc.coleco procedures_hello_03.bas -o example.rom
 bluemsx /machine \"COL - ColecoVision\" /rom1 example.rom
 
 # Windows 
 ugbc.coleco.exe procedures_hello_03.bas -o example.rom
 bluemsx  /machine \"COL - ColecoVision\" /rom1 example.rom

SEGA SC-3000

In order to compile and run the example, you need to have the BlueMSX emulator, and in particular that its executable is accessible.

Then, type this command on the command line:

 # Linux 
 ugbc.sc3000 procedures_hello_03.bas -o example.rom
 bluemsx /machine \"SEGA - SC-3000\" /rom1 example.rom
 
 # Windows 
 ugbc.sc3000.exe procedures_hello_03.bas -o example.rom
 bluemsx  /machine \"SEGA - SC-3000\" /rom1 example.rom

SEGA SG-1000

In order to compile and run the example, you need to have the BlueMSX emulator, and in particular that its executable is accessible.

Then, type this command on the command line:

 # Linux 
 ugbc.sg1000 procedures_hello_03.bas -o example.rom
 bluemsx /machine \"SEGA - SG-1000\" /rom1 example.rom
 
 # Windows 
 ugbc.sg1000.exe procedures_hello_03.bas -o example.rom
 bluemsx  /machine \"SEGA - SG-1000\" /rom1 example.rom

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!

POWERED BY