Jump to content
IGNORED

Too boldly go where I haven't gone before . . .


Retro Lord

Recommended Posts

I've been making games for the Atari 2600 for a while and I feel pretty competent with that system, but it has some limitations and I feel like moving up for a new challenge. And did I ever get it, I can't even start the compiler, it closes when I try to run the application intyBASIC.exe. Anyone want to help a poor schmuck out? =)

  • Like 1
Link to comment
Share on other sites

The manual that comes with intyBASIC have instruction how to compile your program.

 

You can make your program with any text editor you want. To compile your program. Type RUN from Window 7 search box and select 'run'. I have mine pinned on the task bar. Select a sample program, like game1.bas for example.

type:C:\IntyStuf\Inty9\IntyBASIC.exe game1.bas game1.asm

 

You'll need to get the latest version of as1600.exe to complete the compiling process. Get the SDK 1600 kit from http://sdk-1600.spatula-city.org I think it comes with as1600.exe. It does come with the emulator, tons of documentation. Very interesting read.

 

To compile with as1600.exe

type:C:\IntyStuf\Inty9\as1600.exe -o game1.bin -l game1.lst game1.asm

 

wiki.intellivision.us/index.php?title=Main_Page

has a lot of good documentation on the Intellivision that would help with programming. Good luck and enjoy.

Edited by Kiwi
  • Like 1
Link to comment
Share on other sites

I suspect you'll get many offers of help and guidance as there are many top notch programmers here who seem to spend a lot of their posting time helping other folks out. Happy to see someone else take interest in programming for the inty, which now has the most robust homebrew community here on AA I'd say.

Link to comment
Share on other sites

I've been making games for the Atari 2600 for a while and I feel pretty competent with that system, but it has some limitations and I feel like moving up for a new challenge. And did I ever get it, I can't even start the compiler, it closes when I try to run the application intyBASIC.exe. Anyone want to help a poor schmuck out? =)

 

OK, this is either going to be helpful, or I'm going to come off like a pompous ass (or maybe both). So my apologies if I'm talking down to you a little bit:

 

Are you just clicking on intybasic.exe? That won't work. It's a command-line program. You need to open a command prompt first, then type in the command with the appropriate parameters (input and output file names, essentially).

 

Kiwi describes an alternative method to do this which basically does the same thing. You'll also need as1600 as he mentions (compiling an IntyBASIC game is a 2-part process).

 

Again, I apologize if I'm way off the mark. Outline step-by-step what you're doing, and we'll get you sorted out :)

Edited by freeweed
Link to comment
Share on other sites

The manual that comes with intyBASIC have instruction how to compile your program.

 

You can make your program with any text editor you want. To compile your program. Type RUN from Window 7 search box and select 'run'. I have mine pinned on the task bar. Select a sample program, like game1.bas for example.

type:C:\IntyStuf\Inty9\IntyBASIC.exe game1.bas game1.asm

 

You'll need to get the latest version of as1600.exe to complete the compiling process. Get the SDK 1600 kit from http://sdk-1600.spatula-city.org I think it comes with as1600.exe. It does come with the emulator, tons of documentation. Very interesting read.

 

To compile with as1600.exe

type:C:\IntyStuf\Inty9\as1600.exe -o game1.bin -l game1.lst game1.asm

 

wiki.intellivision.us/index.php?title=Main_Page

has a lot of good documentation on the Intellivision that would help with programming. Good luck and enjoy.

 

 

BTW, make sure to follow the advice at the top of the SDK-1600 page, and download the latest jzIntv build instead. :) It contains the most up-to-date version of AS1600 and all the other little utilities. Since I use these tools myself, I'm continually refining them.

 

As far as developing your game: If you're more comfortable in the GUI environment than the command line, you might set up a small batch file to compile your game. That way, you can just click on that to recompile everything.

 

Here's a stab at a batch file that you can customize to your own project. I'm "coding live" here, so I apologize in advance for any mistakes.

EDIT: I've made some notable improvements after testing it. Also, it's pretty much impossible to determine if IntyBASIC reported a compilation error, so I added a pause statement after the IntyBASIC call.

.

@echo off
REM Set these paths to wherever you've unpacked jzIntv and IntyBASIC
set SDK1600="C:\jzintv\bin"
set INTYBASIC="C:\IntyBASIC_Compiler_v1.0.2"
set PATH=%INTYBASIC%;%SDK1600%;%PATH%

REM Set this to the name of your game's source file, w/out .BAS on the end.
REM Include quotes around this if the name has spaces.
set GAME="MyGame"

REM Set this to the title of your game, as you want it to appear in emulators
REM ... and LTO Flash! 
set TITLE="My Game Title"


@echo on
del /q /f %GAME%.asm
del /q /f %GAME%.bin
del /q /f %GAME%.cfg
del /q /f %GAME%.lst
del /q /f %GAME%.rom
del /q /f %GAME%.sym
del /q /f %GAME%.smap
intybasic --title %TITLE% %GAME%.bas %GAME%.asm %INTYBASIC%
@if ERRORLEVEL 1 goto fail
@if NOT EXIST %GAME%.asm goto fail

@echo Press Ctrl-C to terminate build now if IntyBASIC reported an error
@pause

as1600 -o %GAME% -l %GAME%.lst -j %GAME%.smap -s %GAME%.sym %GAME%.asm
@if ERRORLEVEL 1 goto fail
@if NOT EXIST %GAME%.bin goto fail
@if NOT EXIST %GAME%.cfg goto fail

:pass
@echo Build succeeded!
@goto end

:fail
@echo Build failed!
@pause

:end
@REM move the @pause above to here if you want the window to always remain open

.

The following batch file may be useful for launching jzIntv in jzIntv's debugger, with your BASIC code shown alongside the disassembly in the debugger.

.

@echo off
REM Set these paths to wherever you've unpacked jzIntv and IntyBASIC
set SDK1600="C:\jzintv\bin"
set INTYBASIC="C:\IntyBASIC-1.0.2"
set PATH=%INTYBASIC%;%SDK1600%;%PATH%

REM Set this to the name of your game's source file, w/out .BAS on the end.
REM Do NOT include quotes around this if the name has spaces.
set GAME=mygame

REM Set up a little debugger script to run to the first line of the BASIC program
REM The first line sets the display window width to 180 so you can see source code next to disassembly.
echo ^>180 > debug_script
echo h >> debug_script
echo f_MAIN3 >> debug_script
echo t8 >> debug_script

REM Set the flags on jzIntv as you see fit here
echo on
jzintv -z1 --script=debug_script "--src-map=%GAME%.smap" "--sym-file=%GAME%.sym" "%GAME%" -d
if ERRORLEVEL 1 pause

.

EDIT 2: Make the 'debug.bat' file work for filenames with spaces. Windows really is a fargin' pain in the arse joy to work with.

EDIT 3: Added some debugger scripting magic to run forward to the first line of the BASIC program. The 't8' is specific to the current version of intybasic_prologue.asm. If nanochess can add a label to the end of the initialization, then you can change the 'f_MAIN3' to 'fLABEL' (where LABEL is whatever name he gives that label), and get rid of the 't8'.

 

 

Good luck!

Edited by intvnut
  • Like 2
Link to comment
Share on other sites

EDIT: I've made some notable improvements after testing it. Also, it's pretty much impossible to determine if IntyBASIC reported a compilation error, so I added a pause statement after the IntyBASIC call.

.

Now finally I've made something about this in IntyBASIC v1.0.3 :) it returns error codes.

 

EDIT 3: Added some debugger scripting magic to run forward to the first line of the BASIC program. The 't8' is specific to the current version of intybasic_prologue.asm. If nanochess can add a label to the end of the initialization, then you can change the 'f_MAIN3' to 'fLABEL' (where LABEL is whatever name he gives that label), and get rid of the 't8'.

I was going to add something about this, but I forgot it in the last minute. Well, always I can keep the 't8' ;)

  • Like 3
Link to comment
Share on other sites

I was going to add something about this, but I forgot it in the last minute. Well, always I can keep the 't8' ;)

 

Does IntyBASIC always output a label at the start of the compiled game, or only at the first instance of a label in the compiled game?

 

In the example I looked at from 1.0.2, it appeared that IntyBASIC would output a label Q1 near the start of the compiled game, but only at the first instance of a label in the source. Maybe I'm misremembering.

 

I am curious if anyone's tried out my batch files other than me on Windows. I could easily make scripts for Mac and Windows also that do the same thing.

 

 

Now finally I've made something about this in IntyBASIC v1.0.3 :) it returns error codes.

 

 

Ooooh... now even the hardcore folks who use Makefiles should be happy!

Link to comment
Share on other sites

Does IntyBASIC always output a label at the start of the compiled game, or only at the first instance of a label in the compiled game?

 

In the example I looked at from 1.0.2, it appeared that IntyBASIC would output a label Q1 near the start of the compiled game, but only at the first instance of a label in the source. Maybe I'm misremembering.

 

Only until you use a label :)

 

 

I am curious if anyone's tried out my batch files other than me on Windows. I could easily make scripts for Mac and Windows also that do the same thing.

 

I'm still going to test the debugging script :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...