Commit 3ac8e40c by kollo

initial release from working dir

parent f76bdf55
Guide to contributing to X11-Basic
Things left to do:
- Optimize a bit more
- The WIndows-Version needs more work
- Fix the bugs
- work on the sound system
- work on the SDL-Graphics implementation (fill styles etc...)
- documentation needs more work
- find someone who can port it to apple mac/ipad/iphone
(etc. etc.)
Release notes for Version 1.24 (Sept 2015 -- )
- Improved USB-Support
- added source box to PUT
- fixed SPEAK (Android)
- fixed crash (Android) on load while program is still running
- Improved USB-Support (linux+WINDOWS)
- New Setup for WINDOWS version (by InnoSetup)
- Added spanish voice in SPEAK (Android)
- new feature: screen focus for Android
- fixed INKEY$ and INP(-2) (Windows)
- fixed PUT_BITMAP (Android + Windows)
- fixed bug in PUT (Android)
; File f"ur Inno-Setup fuer X11-basic
; Innosetup kann mit wine benutzt werden.
; TODO. .bas extension registrieren
; Manual vom Startmenu aus aufrufen
; xbasic.exe im consolenfenster starten.
AppVerName=X11-Basic V1.24
; Since no icons will be created in "{group}", we don't need the wizard
; to ask for a Start Menu folder name:
AppCopyright=Copyright (C) 1991-2015 Markus Hoffmann
Source: "xbasic.exe"; DestDir: "{app}"
Source: "xbc.exe"; DestDir: "{app}"
Source: "xb2c.exe"; DestDir: "{app}"
Source: "xbvm.exe"; DestDir: "{app}"
Source: "xbbc.exe"; DestDir: "{app}"
Source: "Windows.extension/lib/SDL.dll"; DestDir: "{sys}"; Flags: sharedfile regserver 32bit
Source: "Windows-Installer/demo.bas"; DestDir: "{app}/examples"
Source: "Windows-Installer/readme.txt"; DestDir: "{app}"; Flags: isreadme
Source: "Windows.extension/lib/libusb0.dll"; DestDir: "{sys}"; Flags: sharedfile regserver 32bit
Source: "Windows.extension/lib/README-libusb.txt"; DestDir: "{app}/contrib"; Flags: isreadme
Source: "Windows-Installer/x11basic.ico"; DestDir: "{app}"
Source: "Windows-Installer/X11-Basic.pdf"; DestDir: "{app}/doc"
Source: "Windows-Installer/bas.ico"; DestDir: "{app}"
Source: "Windows.extension/lib/README-SDL.txt"; DestDir: "{app}/contrib" ; Flags: isreadme
Source: "Windows.extension/lib/README-GMP.txt"; DestDir: "{app}/contrib" ; Flags: isreadme
Source: "Windows.extension/lib/README-LAPACK.txt"; DestDir: "{app}/contrib" ; Flags: isreadme
Name: "{commonprograms}\X11-Basic"; Filename: "{app}\xbasic.exe" ; IconFilename: "{app}\x11basic.ico"
Name: "{commonprograms}\X11-Basic compiler"; Filename: "{app}\xbc.exe" ; IconFilename: "{app}\x11basic.ico"
Name: "{commondesktop}\X11-Basic"; Filename: "{app}\xbasic.exe" ; IconFilename: "{app}\x11basic.ico"
; Filename: "{app}\xbc.exe"; Description: "Launch X11-Basic compiler";
--- virtual-machine.c-orig 2013-01-06 21:46:39.169082284 +0100
+++ virtual-machine.c 2013-01-06 21:46:27.043082554 +0100
@@ -1167,7 +1167,8 @@
double f;
int i;
PARAMETER *opstack=*sp;
- va_list arguments=*arg;
+ va_list arguments;
+ va_copy(arguments,*arg);
switch(typ) {
case 'a': a=va_arg ( arguments, ARRAY ); *((ARRAY *)(opstack->integer))=double_array(&a); opstack->typ=PL_ARRAY; opstack++; break;
case 's': s=va_arg ( arguments, STRING ); *((STRING *)(opstack->integer))=double_string(&s); opstack->typ=PL_STRING; opstack++; break;
@@ -1180,7 +1181,7 @@
- *arg=arguments;
+ va_copy(*arg,arguments);
4. FAQ frequently asked questions
Q: Why can't I compile X11Basic on my Computer with Zintorola 86060 processor
and Sluggix 0.8 Beta O.S.?
A: If you have GNU-C and X11R5/6 for this system, and X11Basic still won't
compile, please let me know as soon as possible, I will try to fix it.
Q: How do I leave the interpreter `gently'?
A: type quit or press ctrl-c (twice)
Q: What do all the warnings mean?
A: Well, isn't proper ported to your (any?) system.
Q: Why do the graphics look funny?
A: Some X-Servers do not clean newly allocated Pixmaps. So rubbish is displayed
if the window is maped. Please do a clearw 1 as a first command.
Q: Is there a GUI-Designer for the graphical user unterface functions
of X11Basic ?
A: Well, so far nobody has made a real efford to write a real graphical
GUI_designer. But the program gui2bas may help creating GUI forms. The input
is a very siple ASCII-File (*.gui) which defines the interface. So far
many GEM object types are supportet (and even Atart ST *.rsc-files may
be converted to *.gui files with the rsc2gui program.) but support for
listboxes, popup-menues and Tooltips may be included in future.
Q: My old ANSI Basic Programs (with line-Numbers) produce lots of errors in the
interpreter. How can I run classic (ANSI) Basic programs?
A: Classic Basic programs have to be converted before they can be run with
X11-Basic. With the bas2x11basic converter program most of this convertion
will be done automatically.
F: Kann ich meine alten Atari Programme "einfach" rüberziehen oder müssen
die noch irgendwie ( speziell Gem Programme ) angepasst werden?
A: Die müssen noch angepasst werden. Es gibt kleinere Unterschiede in der
Syntax, Systemaufrufe (XBIOS,BIOS,VDISYS etc), Inline-Blöcke gehen
natürlich nicht, short int
Variablen gibt es nicht etc. Also man muss nochmal mit der Hand
drübergehen. Aber es gibt nichts, was nicht irgendwie auch geht.
Bei kleinen Programmen (ca. 100 Zeilen) ist es ein Kinderspiel. Bei
größeren (mehere 1000 Zeilen) ist es schon was arbeit. 10000-Zeilen
Programme habe ich noch nicht portiert. Es lohnt wahrscheinlich nicht.
Für Programme, an denen man nichts mehr machen will, empfehle ich dann
doch lieber STonX oder sowas.
Q: Program XXX doesn't run, what should I do?
A: Well this question is too difficult to answer.
Q: Can I use X11-Basic as a shell ?
A: Yes, simply copy the xbasic executable to /usr/bin .
The basic programs then should have in their first line
Q: Can I use X11-Basic as an internet daemon ?
A: Yes, start xbasic with the option -daemon .
This feature is still experimental. So use it on your own risk since this
opens several security holes to your system.
Q: Can X11-Basic generate stand-alone programs, which may run
without the xbasic executable ?
A: Yes and No. X11-Basic does not translate its input into assembly, you
always need the xbasic executable. On the other hand: the xbasic
executable is rather small (< 200 kB), so you might spread it around
with your X11-Basic programs. If you really need stand alone programs
try the pseudo-compiler (xbc). It can link the x11basic-library to your
programs. The result is a stand alone binary.
Q: May I charge for my X11-Basic programs ?
A: Yes, you may. But you should state clearly, that xbasic itself is available
free of charge. Refer to the File COPYING for details.
Q: Where can I get the newest version of X11-Basic?
A: Probably at
Don't bet on it though! :-)
Q: What can I do to speed up the development of X11-Basic?
A: You can try to bribe me with any amount of money, any type of hardware or
software (no pirated stuff please).
A nice postcard might suffice too. :-)
If you like to implement some new features and/or commands to x11basic,
please send me your new sources with description. But I only will implement
this stuff if I like it .-)
Readme for the X11-Basic files at sourceforge:
* X11-Basic-debian: debian package (for UBUNTU linux and others) of the current version.
* X11-Basic-WIN: MS WINDOWS package of the current version.
* X11-Basic-src: The sources
* X11-Basic-programs: the collection of example programs written in X11-Basic
* X11-Basic-TomTom: A special compile for TomTom devices (ARM-linux+framebuffer)
* X11-Basic-Android: package for Android. Also available in the Android Market.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment