|
Post by Garlo on Jan 31, 2005 2:36:16 GMT -5
Before anything, I must say that I am a complete newbie at BasiEgaXorz.
I'm trying to do a small program to learn to use the control pad but when I try to compile it, it stays compiling for a long time and does not finish, nor does it mention an error or something. So far I have waited 30 minutes, and I think that can't be right since the examples compiled almost inmediatly. What am I doing wrong?
Thanks in advance!
option title,"Controles" TVSet 0 Cls Print "Controls" Print "Pres Start to continue..." while joypad().7=0 sleep 1 wend Print "Thanks!" Print "Press up..." while joypad().0=0 sleep 1 wend Print "Thanks!" Print "Press any button. Start to exit" while joypad().7=0 if joypad().0=1 then print "Up!" wend end if end
|
|
|
Post by haroldoop on Jan 31, 2005 4:45:38 GMT -5
I noticed something in your code that may be the cause of the problem: Look at the 3 final lines: The end if is after the wend. Shouldn't it come before it, since the if is inside the while block? (Note that I don't know BasiEgaXorz very well, so I can't be sure this is actually an error)
|
|
|
Post by Garlo on Jan 31, 2005 4:59:19 GMT -5
You are right about the order! I have corrected it. ;D Unfortunately, the same thing happens when compiling.
|
|
|
Post by Tulio Adriano on Jan 31, 2005 6:27:52 GMT -5
Your code does work but the problem still the End If.
It is not in the wrong place, it simply shouldn't exist in your code.
Remove that End If and all will be fine!
Seeya!
|
|
oompa loompa
I AM THE GOVERNATOR
"Git 'Er Dun!"
Posts: 1,301
|
Post by oompa loompa on Jan 31, 2005 16:30:14 GMT -5
ditto with tulio, you only use "endif" if you have no preceeding instructions after "then". also, the compiler is "suppose" to warn you that you made a boo boo by adding an extra endif. this is already fixed in v0.23 =)
here's the list that is in the unreleased manual showing what bugs i've found and have corrected (so you'll be informed of whatcha can't do now =P)
- Fixed bugs with <tt>LoadTiles</tt>
- Fixed a bug with <tt>Datafile</tt> with even/odd addresses
- Fixed a bug when using &h0 as a constant
- Fixed a bug with <tt>EndCode&()</tt>
- Fixed a bug with using integer addresses inside the peek functions
- Replaced the buttons on the toolbar with an "imagebox", so mscomctl.ocx is no longer required
- Fixed a bug that would crash the program intermitently if the text window is maximized
- Added an option to change the font foreground and background colors
- User can now define a custom location for variables declared with <tt>Dim</tt>
- Fixed <tt>SETSCROLLMODE<tt> and <tt>SETSCROLLPLANE</tt> to now work with lower case settings
- Fixed minor bugs with using strings inside <tt>DATA</tt>
- Added a feature to <tt>SLEEP</tt> and <tt>SLEEP2</tt> to change between ending the sleep command at the begining of the blank, or at the begining of drawing the video
- Fixed a bug with the HV Counter and running on real hardware - The M3 bit in VDP register mode #0 was set, so the counter is latched when a trigger on HL is executed. On real hardware, triggers upon reset are common.
- Fixed major problems with the heap reallocating itself during interrupters
- Fixed more major problems with the displaying characters and using interrupters
- Fixed a bug with the interrupters. If your interrupter ran for too long, the interrupter would be called back again
- The external interrupter will now latch the HV counter upon enabling the external interrupter. When its disabled, it will turn latching off
- Individual string characters can now be accessed from String arrays
- 32X Support! Read the 32X special commands, and functions
- Fixed a bug when you put <tt>ENDIF</tt> and there's no preceeding <tt>IF</tt>, the compiler would crash and burn
MARSVRAM$(OFFSET) MARSVRAM(OFFSET) MARSVRAM&(OFFSET)
MARSVRAMOW$(OFFSET) MARSVRAMOW(OFFSET) MARSVRAMOW&(OFFSET)
MARSCRAM(OFFSET)
MARSREAD(MASTER/SLAVE) MARSREADY(MASTER/SLAVE)
NOTE: Mars frame buffer and CRAM arrays are case SENSITIVE!
MARSLOADMASTER <Filename> MARSLOADSLAVE <Filename> MARSVIDREQUEST MARSVIDMODE <NTSC/PAL>,<DRAWMODE>,<PRIORITY> MARSVIDFILL <Start Address>,<Length>,<Data> MARSVIDSHIFT <ON/OFF> MARSSWAPBUFFERS MARSWAIT MASTER/SLAVE MARSTELL MASTER/SLAVE, Parameters Doc -> - Added the functions <tt>VBLANKON()</tt> and <tt>HBLANKON()</tt>
Doc -> - Added the command <tt>WAITRASTER</tt> that will resume execution when the TV starts drawing on a specified line
- Fixed a bug with the compiler not finding snasm68k if the working directory was not in basiegaxorz
Doc -> - Added a command <tt>VIDMODE</tt> to switch to either 40 cell mode (default) or 32 cell mode
Doc -> - Added the command <tt>TEXTWIDTH</tt>
Doc -> - Added <tt>FontForeEntry</tt> and <tt>FontBackEntry</tt> to the list in the <tt>OPTIONS</tt> command
Doc -> - Added <tt>OPTION Explicit</tt> to the option command, and can also be forced in the options menu
- Added the <tt>RELOADFONT</tt> command
- Added the <tt>TEXTHEIGHT</tt> and <tt>TESTSTART</tt> commands
|
|
|
Post by Garlo on Jan 31, 2005 18:37:36 GMT -5
Thank you guys!
|
|
oompa loompa
I AM THE GOVERNATOR
"Git 'Er Dun!"
Posts: 1,301
|
Post by oompa loompa on Jan 31, 2005 20:43:27 GMT -5
you may also wanna try the DevSter Speicialties 1-800 number =o
|
|
|
Post by Tulio Adriano on Feb 3, 2005 9:40:18 GMT -5
I am impressed with how many things were fixed in the new version.
Hope you never give up BEX, because it is simply fantastic! Makes me want to learn more and more about this wild horse called Mega Drive.
Seeya!
|
|
oompa loompa
I AM THE GOVERNATOR
"Git 'Er Dun!"
Posts: 1,301
|
Post by oompa loompa on Feb 3, 2005 19:04:53 GMT -5
i'm also going to make a c version of the compiler executable, instead of a visual basic one. the visual basic was to start with, and to get the structure down. with the c version, i'm also planning to make it for other consoles like the gameboy (no advanced =o), and dreamcast, so work for basiXXXxorz will continue for a long time =P
|
|
|
Post by Tulio Adriano on Feb 9, 2005 20:39:44 GMT -5
Haaaa For that I think that would be cool a language that could compile the same code for all platforms, but I know that is not possible due to so many specifics of each platform...
|
|
|
Post by haroldoop on Feb 10, 2005 5:07:39 GMT -5
Actually, the biggest problems would be the tileset data, the palette data, the sound effects, the sprite size, the background size and the screen resolution. The tileset data problem could be solved either with automatic conversion (though it could lead to some UGLY results), or with conditional compiling. The problems with palette data and sound effect data could probably only be solved with conditional compiling, unless one wanted to limit the sound effects to simple square waves. The sprite size could be solved either via emulation (Genesis' 4x4 sprites could be emulated via 16 1x1 GB sprites, although the number of available sprites would become scarce pretty fast. ), or, again, with conditional compiling. It would also be necessary to create a constant to tell how many simultaneous sprites the target system can handle on screen at once. The problem with the background size/screen resolution could be easily solved by having constants telling the bkg width/height and screen width/height. With those four constants, and some clever programming, it would be possible to have a game that worked in any background size/screen resolution. Well, those are my ideas. Comments are very welcome! ;D
|
|
|
Post by Tom Maneiro on Feb 10, 2005 10:00:40 GMT -5
In two words: conditional compiling:
Option TARGET=GB
#if TARGET=GB then ...gb specific code goes here... #else ...non-gb code goes here.... #end if
|
|
oompa loompa
I AM THE GOVERNATOR
"Git 'Er Dun!"
Posts: 1,301
|
Post by oompa loompa on Feb 10, 2005 17:19:43 GMT -5
hehe, of course you won't be able to port games that were written using a sega genesis version of basiegaxorz to a gameboy game, since much of the hardware specs are different. the point of making the language available to other platforms is so you don't need to recode an AI, or redo the user interface. most of the console commands will be available still, like print, input, locate, and what not, but screen sizes will vary from platform to platform, and will have to be adjusted manually by the programmer. a lot of the graphics commands will still be available because they're very basic, like loading tiles into vram, or changing color pallettes, or adding a sprite to the quere. things like tile sizes, number of colors, the amount of ram, bankswitching (gameboy) will have to be adjusted by the programmer
most of the older consoles/systems like the gameboy, sms, ti-82 (?) don't have a basic compiler, so that's why i'm going to make one =D
|
|