Jump to content
IGNORED

basic compiler


rocky007

Recommended Posts

Did you look around on WHTECH?

 

ftp://ftp.whtech.com/

 

Also, I think Owen has a BASIC computer he uses, so maybe he will chime in with some details.

 

yes i checked, i found the user manual of these compiler, but not the compiler itself.

( i found one basic compiler but it doesn't seems to be SST or XCOM, i will checked more deeply this evening)

 

UP : the one on whtech is the SST version. Xcom looks very interesting ( compiling unmodified Xtended basic command, sprite, etc..)

Edited by rocky007
Link to comment
Share on other sites

I use Harry Wilhelm's BASIC compiler. John Chase did a BASIC game called Bouncing Babies and compiled it to assembly recently. Walid (Vorticon) did a game called TI Puck. You can DL Wilhelm's compiler on tigameshelf.net.

 

Warning:

No SPRITEs

 

exactly, no sprite... the SST one can compile everything ( if the program is recoded with correct syntax ).

 

I'm tryging it right now, but not working :

 

- i edit correctly the basic games, through the editor, run it and save in SST output

- i start the compiler, enter the filename, output file, starting adress and calling name and then the compiler start to compile.... Compiling 274 , and then break with error "Bad Line number in 2840 "

 

I tryed everything : use editor under XE, Basic + Mini memory, Basic + E/A, changing the starting adress , using a simple program like :

 

1 let a@=5

2 print a@

3 goto 2

 

followe strictly step by step from user manual, but impossible to compile...

somebody already had this problem ?

Edited by rocky007
Link to comment
Share on other sites

update :

 

i tryed with Classic99 and Win99/4a, compiling phase don't work. i tryed on real TI99 with CF7+, and it worked, it compiled the basic program.

 

So, after i tryed the last phase, the loader, and again the program break with errors...

 

I suppose it's maybe incompatible with CF7+ ( CF7+ routine maybe taking some memory used by the compilator) ? really strange...

Edited by rocky007
Link to comment
Share on other sites

hmm.. I can't speak for Win994A, but Classic99 does use a different VRAM layout than the average console, as it doesn't create DSR buffers in VRAM (in that respect the memory layout is the same as for a cassette-only system). I just learned a few minutes ago that the CF7 also uses a few extra bytes of VDP memory.. maybe the compiler is sensitive to this?

 

It's possible to fake the memory layout in Classic99 using the debugger. When at the colorbar page, load the debugger, and type "8370=37d7" in the memory box near the bottom, and hit apply. Until you reset the emulator it should then run with the reduced VRAM of a disk system.

Link to comment
Share on other sites

hmm.. I can't speak for Win994A, but Classic99 does use a different VRAM layout than the average console, as it doesn't create DSR buffers in VRAM (in that respect the memory layout is the same as for a cassette-only system). I just learned a few minutes ago that the CF7 also uses a few extra bytes of VDP memory.. maybe the compiler is sensitive to this?

 

It's possible to fake the memory layout in Classic99 using the debugger. When at the colorbar page, load the debugger, and type "8370=37d7" in the memory box near the bottom, and hit apply. Until you reset the emulator it should then run with the reduced VRAM of a disk system.

 

thanks, but it's not working... after doing this, i have "MEMORY FULL" error message. :?

Link to comment
Share on other sites

Certainly the XCOM compiler might be interesting if someone could find it.

 

Anyhow, *HOW* do I use Wilhelm's BASIC Compiler? It's a .bin file and I do all my magic in Classic99. There appears to be zippy documentation for the compiler, so... Can you guys help me get it up and running?

 

Thanks - Howie

Link to comment
Share on other sites

Here's the zipped COMPILER diskette. enjoy

 

Haha - your unarc instructions were good enough. I'm compiling now - or so I think. This could be fun....

 

Or maybe not. When I try to run the Assembler, I get I/O ERROR 00 IN 20 - which it's trying to...

 

"RUN LD.4.1FW"

 

Which ain't right.

 

-H

Edited by unhuman
Link to comment
Share on other sites

Did some research and some testing over the last half hour or so... Wilhelm's assembler is designed to run from Funnelweb. You can just take "TEST/S" and assemble it with Classic99's built in Ed/Asm. it will assemble nicely. Just take the assembled object code and run it through "CLOADER". All you have to do is run "CLOADER" in XB, and it will take your object code and will give you an option to either:

 

A) make it an XB program

B) make it an EA5 program

 

I went ahead and did it with the White Noise program and it is MUCH faster. =) Video below.

 

http://www.youtube.com/watch?v=nezlYwu0Ykk

Link to comment
Share on other sites

While I couldn't get it to work, I started attempting to play around also with Harrison's as well... I get to the RAGASM step and then it kicks out:

2386 I/O ERR COPY FILE

2239 DSK1.BLOXSRC

ASSEMBLY COMPLETED

 

However, it doesn't give me the object file it claims to (probably the error?)

 

Getting back to Wilhelm's, using the E/A Assembler, I get *TONS* of INVALID REGISTER errors. There were other errors too, but they scrolled off screen.

 

Obviously, I have no idea what I'm doing, otherwise, but.... It don't work.

 

Even with the errors, I ran the CLOADER and it completed... The XB program just froze and EA5 turned the screen green and was done also.

 

-H

Link to comment
Share on other sites

There's a possibility you tried to compile with an unsupported BASIC command or that you used a non-integer in your program. The DOCS on disk are pretty explicit about the limitations. Try to compile this---

 

10 CALL CLEAR :: CALL SCREEN(7)
20 A=1
30 PRINT "WILHELM'S COMPILER"
40 PRINT A
50 A=A+1
60 GOTO 40

 

It should work beautifully. :)

Link to comment
Share on other sites

Hrmm... Still playing, but perhaps if I was careful with the doc, I would've gotten no errors. I needed to include OPTIONS during assembly - then I got no errors. However, the doc is unclear in that it says

 

Options?.

RC.

Space<enter> (Be sure the only option

is ""R"").

Which is it? R or RC?

 

I'm going to try just R. RC assembled just fine but when running the CLOADER, it gave UNRECOGNIZED CHARACTER IN 181.

 

Otherwise I'll break down and try something simpler....

 

-H

 

There's a possibility you tried to compile with an unsupported BASIC command or that you used a non-integer in your program. The DOCS on disk are pretty explicit about the limitations. Try to compile this---

 

10 CALL CLEAR :: CALL SCREEN(7)
20 A=1
30 PRINT "WILHELM'S COMPILER"
40 PRINT A
50 A=A+1
60 GOTO 40

 

It should work beautifully. :)

Link to comment
Share on other sites

Hey buddy... you should make up a little vid of your program running at BASIC speed and then at assembly speed. =) Kind of a before-after kind of thing... How fast is it? Unplayable? I like that kind of stuff.

 

In a series of tests I conducted on this compiler last year, some functions were more than 70 times the speed of their BASIC equivalents. Most are between 20-40 times faster....

 

I did a speed test video...

 

XB---160 seconds

compiled---8 seconds

 

***see below:

 

http://www.youtube.com/watch?v=29pyKjQS-5o

Edited by Opry99er
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...