The BasiEgaXorz
Frequently Asked Questions
- 1) I can't get the program to start! It tells me some activex is broken or whatever
- 2) The compiler tells me that i'm missing snasm68k.exe! I don't know where to get his! help k thnx!
- 3) When compiling a program, I get a major error, and a log that give me my 486 registers etc etc
- 4) Okay, the example programs work for me, but when I try to make my own program, I get major errors
- 5) I'm using an 80386 cpu with windows 3.11, will BasiEgaXorz work for me? I can also install Windows 95, will this help?
- 6) On real hardware, reading the joypad gets all fuxored up. I've followed the examples, so is this a bug?
- 7) When I declare an array, and by mistake, access it by doing myvar=12, shouldn't it give an error?
- 8) Hey, will BasiEgaXorz ever become open source?
- 9) Xorz... WHAT THE HECK IS A XORZ?
- 10) I wanna make something more than a "Hello World!" program
- I don't see my question here, how can I get a question added to this FAQ?
Q: I can't get the program to start! It tells me some activex is broken or whatever
A:
Sometimes your os may require you to register the editor activex file manually before running the program. To do this, go into your Start menu -> Run, and run REGSVR32.EXE <Insert BasiegaXorz Path here>\cmcs21.ocx. For example, on my machine, I would run: REGSVR32.EXE c:\basiegaxorz019\cmcs21.ocx.
If you don't want to do this, Tom Maniero has released an installer for BasiEgaXorz, so ocx registering is done for you, and may fix other problems, like not having the correct snasm68k.exe assembler version. You can get the installer at bex_suite_019.exe for version 0.19 of the compiler.
Back to List of Questions
Q: The compiler tells me that i'm missing snasm68k.exe! I don't know where to get his! help k thnx!
A:
Snasm68k.exe is now available from Eidolon's Inn. Find snasm68k in File Management -> Genesis Dev.
Note: You need to get the appropriate version of snasm68k.exe to work on your machine. Version 2.02d is a larger executable, and will work with windows 98 and up, but won't work for 95. Version 2.01ex will work for windows 95 and 98, but not XP.
Alternatively, If you don't want to do this, Tom Maniero has released an installer for BasiEgaXorz with the correct snasm68k versions for your machine. You can get the installer at bex_suite_019.exe for version 0.19 of the compiler.
Back to List of Questions
Q: When compiling a program, I get a major error, and a log that give me my 486 registers etc etc
A:
The snasm68k.exe version of the assembler you have may not be compatible with your OS. For a brief rundown, version 2.01ex of the assembler is for Windows 95, and 98 machine, and version 2.02d is for Windows 2000 and up. To get the correct versions, visit Eidolon's Inn and find snasm68k in File Management -> Genesis Dev.
Alternatively, If you don't want to do this, Tom Maniero has released an installer for BasiEgaXorz with the correct snasm68k versions for your machine. You can get the installer at bex_suite_019.exe for version 0.19 of the compiler.
Back to List of Questions
Q: Okay, the example programs work for me, but when I try to make my own program, I get major errors
A:
Rules of thumb you should abid by:
- ALL statements must have a white-space in front (ie: a space, or tab)
- ALL labels must not have a white-space in front (you should see this pattern when looking at the example programs =P)
- By default, variables and labels are case sensitive
- If a variable does not end in its appropriate data type identifier symbol (these are: $ for byte/string, % for integer, & for long), then it is assumed that the data type is an integer. This does not apply to the DIM command, since the symbol is ignored, and the keyword identifier is used.
- If an entity in an expression (these are numbers or variables) does not begin with a numeral, constant identifier, or hexidecimal identifier, then it is assumed to be a variable! Even if your number starts with $, it will think it is a variable, and will name your variable like $12345.
- Expressions are evaluated from left to right. The "Order of Operations" everyone has learned in 5th grade does not apply =D! There are exceptions to this though, like using parenthesis ( ), or comparator operators (>, <, >=, <=, =, !=, <>), or logical operators ([and], [or], [xor])
- All hexadecimal values begin with &h, not $
- BasiEgaXorz does not support multi-dimmensional arrays, so if doing myvar(78,90)=23 doesn't give an error, it's still wrong
- Using ; to add on strings to strings does not work when using the storing operator (ie: mystring$="hello "; "world"). This will only work for the PRINT and PUTS command. Alternatively, use the addition + operator
- There are no range checks for arrays. This is so that evaluating arrays can be as fast as possible.
Back to List of Questions
Q: I'm using an 80386 cpu with windows 3.11, will BasiEgaXorz work for me? I can also install Windows 95, will this help?
A:
Nope, BasiEgaXorz will not work on windows 3.11, or Windows 95. Older versions prior to v0.08 will work with Windows 95, but the compiler has evolved so much that these versions can't do beans.
I dunno about a 386 processor and installing Windows 98. Just go tell your boss to get you a new computer ;D.
Back to List of Questions
Q: On real hardware, reading the joypad gets all fuxored up. I've followed the examples, so is this a bug?
A:
You should have no problems when using 3 button joypads, except getting garbage values for bits 8 and up (these are the buttons for X, Y, Z, Mode). Using joypads with 6 buttons can be problematic for the BasiEgaXorz coder. 6 button joypads need to be "reset", and the only way to do this is to not keep polling the joypad without a delay. To fix this, either insert a SLEEP command to act as a delay (SLEEP 1 will do) after checking the joypad, use loops that act as a delay, or restrict reading the joypad to only in verticle blank.
Also, doing this:
while 1
if joypad().0 then goto up
if joypad().1 then goto down
if joypad().2 then goto left
if joypad().3 then goto right
wend
is bad because you keep polling the joypad without using a delay. Inserting a delay between each IF statement is bad also, so what to do? It'd be best if you store the joypad in a variable, and then check the variable for keypresses (this solves 99% of all problems). For example, good code:
dim JoyPadTemp as integer
while 1
JoyPadTemp=joypad()
if JoyPadTemp.0 then goto up
if JoyPadTemp.1 then goto down
if JoyPadTemp.2 then goto left
if JoyPadTemp.3 then goto right
sleep 1
wend
Back to List of Questions
Q: When I declare an array, and by mistake, access it by doing myvar=12, shouldn't it give an error?
A:
Accessing an array without using the parenthesis, or specifying an element will still work, and this was on purpose, and was very easy to implement. Without specifying an element, you are accessing element 0 of the array. This is a very fast way to access element 0 without having to resort to PRINT myarray(0) since it takes out all the overhead.
This may be sloppy programming, but get use to the sloppy ways of BasiEgaXorz =P
Back to List of Questions
Q: Hey, will BasiEgaXorz ever become open source?
A:
No. The compiler+IDE was first made in visual basic, and the source is so sloppy that it'd be a disgrace to open source =P. My excuses x.x
Back to List of Questions
Q: Xorz... WHAT THE HECK IS A XORZ?
A:
A xorz is Scottish that means "clogged toilet".
Some have tried to pick apart the name BasiEgaXorz, and tried to determine where it has originated from. Some found out that Basi is the first 4 letters in BASIC, and Ega is the last 3 letters of SEGA. The Xorz part is trickier, and i'm not giving out that secret yet =P, but it does have to do with the way it is pronounced.
Back to List of Questions
Q: I wanna make something more than a "Hello World!" program
A:
Sure! Try the tutorials at http://devster.monkeeh.com/sega/basiegaxorz/tutorials
Back to List of Questions
Q: I don't see my question here, how can I get a question added to this FAQ?
A:
Try visiting the forums at http://devster.proboards22.com and post your question as a guest in the BasiEgaXorz help forum. I answer most questions myself whenever i'm bored, and there are many other users that can answer your question for you too.
Back to List of Questions