Jump to content
IGNORED

XB Compiler v2.1


senior_falcon

Recommended Posts

Just wait 'til you see what Harry's got cooking NOW, Howie... =) Oooooooh, you're gonna see some wicked stuff in the next week or two. =)

 

Well my surgery didn't stick and the stuff I'm working on at work is coming out *THIS MONTH* so hopefully I'll have some dopey time when it's re-done (Sept)... Last time, though, I had to work through the meds.

Link to comment
Share on other sites

Well my surgery didn't stick and the stuff I'm working on at work is coming out *THIS MONTH* so hopefully I'll have some dopey time when it's re-done (Sept)... Last time, though, I had to work through the meds.

That's awful :( - I hope the they get it right next time...

 

Will look tonight and give you a definite answer. There is a file called ALXTRAS or something like that that can be put on another disk and that will probably get you small enough to fit.

Thanks man, that would be great - in the meantime I remembered I had a large disk (~1300 sectors) that was formatted on my [now gone] third disk drive - I went ahead and used that, but it would be good to know what files I could leave out so that I can use a regular 90k disk for it :).

 

Additionally, it looks like I'm going to have to tweak the Market Sim code in order to compile it: immediately in the listing is a VariableArray(X)=0.01*INT(argument) - too bad we can't have non-integer variables :P

Link to comment
Share on other sites

Hi Robert:

 

If you remove EA5MAKER, CXTRAS, and SINE255 you should end up with 358 sectors which just fits on a SSSD disk with no room to spare.

Of course, if you removed the files for the assembler you would have lots of room. They are AS, AT, FW and a few more but then you'd have to either use funnelweb on a different disk to assemble the code or else put in the E/A cartridge and use the standard TI assembler. If you only have one drive there will be a lot of disk swapping.

Link to comment
Share on other sites

Hi Robert:

 

If you remove EA5MAKER, CXTRAS, and SINE255 you should end up with 358 sectors which just fits on a SSSD disk with no room to spare.

Of course, if you removed the files for the assembler you would have lots of room. They are AS, AT, FW and a few more but then you'd have to either use funnelweb on a different disk to assemble the code or else put in the E/A cartridge and use the standard TI assembler. If you only have one drive there will be a lot of disk swapping.

Thanks for the advice Harry :).

Link to comment
Share on other sites

  • 3 months later...

Hi Harry,

 

I know you have added many fixes to the compiler. Is the 12/29/12 still the latest version?

 

For some reason, I took another look at my PACMAN game and added joystick controll to it.

 

However, I am out of memory so it fails when creating the loader.

 

Also, it tried to do 2 joysticks and during emulation, the arrow keys seem to send values to both joysticks.

 

I read the help file for how the joystick is read, but I did not see a way to map a second joystick...If possible?

 

It also seems to be easy enough to make 2 player. However, I would need a few more vars. and 2 arrays to save screen for each player.

Link to comment
Share on other sites

Hi Tursi,

 

Yes, Classic99... I don't know why I put that part with the compiler question.

 

But since we are here, I read through the emulator help and did not see joystick configuration. Just a part about after a few seconds, the arrow keys are read as joystick.

Paraphrasing.. but, I did not see joystick key mappings. I'll look again.

 

I am basically looking to have joystick 1 work as my exsd left keyboard and joystick2 as imjk right keyboard set up.

 

How pacman acts after going through a tunnel is different based on joy1 or joy2.

 

Thanks Tursi for pointing out, I was not questioning the compiler on the joystick stuff!

 

Gene

Link to comment
Share on other sites

Sadly, I looked at the options under options and saw the avi stuff and dismissed this section.

I was think of Nostalgia Emulator, it puts all the path setting on one screen.

 

however, I have Joystick 1 as Keyboard and Joystick 2 as PC Joystick 1.

Should both respond to keyboard arrow keys at the same time?

 

I guess I can plug a couple of usb joysticks in and try it out. ( where did I put those?????? )

 

Thanks for the help!

 

I have been up late watching the redsox... Hopefully that explains my brain cramps!

 

Of course, the late games is also when I play with Classic99.... So tired goes with it, I guess.

 

Gene

Link to comment
Share on other sites

  • 1 month later...

Just an FYI here. I downloaded the XB Compiler today and started reading the docs.
The first sentence of the documentation file has a mistake.
It reads:

 

The BASIC and Extended BASIC languages are arguably the most versatile of the languages available

for the TI9/4A.

The good news is I haven't seen any other errors yet.

Link to comment
Share on other sites

Hey Senior,

 

Seeing as though this thread has been bumped.... Thought I would ask a feature question.

 

I *think* I remember reading that some of the awesome stuff from XB256 was going to be made availble for XB compiled programs. Is this something that is still on the horizon?

  • Like 1
Link to comment
Share on other sites

At this point any further development of XB256 is on indefinite hold, and the reason is pretty simple. I have neither the aptitude nor the interest in developing finished programs for the TI-99. My interests lie in creating tools that others can use for writing their own programs. I don't ask anything for these. For me the payback is in seeing programs written by other programmers that stretch the limits of the 4A. Watching the development of the compiled programs Mirror Maze, Shooting Stars and Joe Morrison's programs was a lot of fun for me. XB256 is a different story. It has fallen into a blackhole in cyberspace. To my knowledge there has never been anything written for it and (with the exception of Owen Brand) there seems to be zero interest in it. And that's fine - everyone's interests are different. But to me it seems silly to spend several additional months of my evenings on further development of a utility that no one will ever use. I have too many other things that I would prefer to be doing and yet others that I really ought to be doing.

Link to comment
Share on other sites

Yeah, I was hoping to see XB256 in the compiler as well. In regular XB, it has pretty limited use, since the quality of games just isn't there.

 

Last I heard, Owen was using it or at least espousing XB256 in the compiler and I thought it was almost ready. And then, he disappeared.

 

In any event, it's something I'd love in theory. Finding time to do TI Dev, however, hasn't been at the top of my list of late (year plus).

Link to comment
Share on other sites

At this point any further development of XB256 is on indefinite hold, and the reason is pretty simple. I have neither the aptitude nor the interest in developing finished programs for the TI-99. My interests lie in creating tools that others can use for writing their own programs. I don't ask anything for these. For me the payback is in seeing programs written by other programmers that stretch the limits of the 4A. Watching the development of the compiled programs Mirror Maze, Shooting Stars and Joe Morrison's programs was a lot of fun for me. XB256 is a different story. It has fallen into a blackhole in cyberspace. To my knowledge there has never been anything written for it and (with the exception of Owen Brand) there seems to be zero interest in it. And that's fine - everyone's interests are different. But to me it seems silly to spend several additional months of my evenings on further development of a utility that no one will ever use. I have too many other things that I would prefer to be doing and yet others that I really ought to be doing.

My interest was mainly in the scroll sub programs and having these available in compiled code. But I completely understand what you are saying, especially as if a general rule XB256 hasn't been well embraced.

Link to comment
Share on other sites

I was looking forward to the scroll too.

 

I guess I should have said something earlier. I think we started seeing the other examples of scrolling games and demos and maybe forgot about this a little?

 

I don't think I will ever understand how Scramble works or how to impliment this technology into any thing I create, I do think I could grasp the XB256 functions.

 

Gene

Link to comment
Share on other sites

I am feeling more optimistic about how doable this is and will take a look over the Christmas break. It tends to be discouraging to spend 4 hours to find an extra space in a line of code and then another 4 hours to realize you have written R5 instead of R15. At that rate of debugging it could take centuries to get this done. Hopefully all will go well with this.

  • Like 2
Link to comment
Share on other sites

It is amazing how something so small can be so big....

I thought I had a new bug the other day, not re-intializing a variable, after a game over....

 

Nope, I actually never initalized it at all!!!! I don't know how it ever worked prior?

 

I started off with nice variable names.... Then need memory and they get smaller and smaller.

To the point where, I have to spend 10 minutes just to figure out what X does... It is worse when you never had the variable, so you just can't find it...

 

Enjoy your break, get refreshed for the new year. If you have a few minutes here and there, then do a little debugging.

 

Isn't it amazing how 5-10 minutes turns in to 4 hours and its 2am....

Link to comment
Share on other sites

You know you're a code addict when you find yourself sneaking out of bed at 2.00 am to do some coding until 7am before getting washed shaved and dressed and heading out to work, as happened to me a few times during the TF days!

 

Back in my single days....

It's hard enough to sneek in to bed when the "yes dear, I am just compiling, I'll be in a few minutes" turns in to 3-4 hours. Never mind trying to sneek out and back without the wife.....Well you know.

 

Oh an don't even think of saying your tired the next day! LOL

  • Like 2
Link to comment
Share on other sites

Hi Robert:

File processing - might happen in a limited way, maybe DV80, but only if I can get XB256 working with the compiler in a reasonable amount of time.

DEF - 99.9%+ chance that this will not be added.

Subprograms - probably not.

RUN can be used already if you are using the XB loader (but not the EA5 loader). When the compiled program comes to STOP or END it returns to the next statement in the XB loader program - i.e. the statement right after CALL LINK("RUN"). If this is RUN "DSK1.PROG2" then it should load and run PROG2. I'm not totally sure this will work but I think it should.

Remember that the compiler and the compiled program have only 32K of memory that can be used and that every byte added to the compiler means one less byte for your program. Of course, there are memory expansion systems that can be used in emulation or real iron. RAMBO on the Horizon ram disk is an example, but then you can't run on a simple TI system with 32K and a disk drive.

Link to comment
Share on other sites

Harry -

Too bad about the file processing - I was thinking of compiling my Library Master, but that uses an I/F (93) format. Ah well, I'll think of some project or another to make use of the compiler :party: (actually I think I've thought of one right as I type this :).)

Thanks for your input - and for the work you've put into this project 8).

Link to comment
Share on other sites

  • 2 weeks later...

Harry - or other smart guys...

 

I am fooling around trying to get a little routine working but when compiled it seems to randomly crash (I am sure it isn't random). I have gone over and over the program and can see nothing that should cause the compiled version to crash - it does do the right thing when testing under standard XB.

 

It's probably something obvious but after hours and hours and just can't find it so I thought it worth checking I hadn't found an unknown bug. Any ideas?

 

Only controls are the L, R and Up arrow keys and there is no error correction for reaching the screen boundary so leaving the screen will give an error - but this isn't the one that is an issue

 

Thanks guys..

100 CALL CLEAR :: CALL SCREEN(2):: CALL MAGNIFY(3)

110 X=1000 :: Y=1000 :: XI=0 :: YI=0 :: D=3 :: DIM D$(

120 C1=10 :: C2=20 :: MT=12

130 RESTORE 490 :: FOR I=1 TO 8 :: READ D$(I):: NEXT I

140 CALL CHAR(128,D$(D)):: CALL SPRITE(#1,128,16,INT(Y/10),INT(X/10))

150 FOR I=1 TO 14 :: CALL COLOR(I,16,2):: NEXT I

160 C=C1 :: E=0 :: CALL KEY(0,A,B):: IF A=-1 THEN 250

170 IF A=8 OR A=9 THEN 180 ELSE 250

180 ON A-7 GOTO 200,220

190 GOTO 240

200 D=D-1 :: IF D<>0 THEN 240

210 D=8 :: GOTO 240

220 D=D+1 :: IF D<>9 THEN 240

230 D=1

240 CALL CHAR(128,D$(D))

250 DISPLAY AT(3,1):"D(I)=D(";STR$(D);")"

260 IF A=11 THEN 270 ELSE 330

270 C=C2 :: E=2

280 ON D GOSUB 450,450,430,440,440,440,430,450

290 ON D GOSUB 460,470,470,470,460,480,480,480

300 YI=MIN(MT,YI):: YI=MAX(-MT,YI):: XI=MIN(MT,XI):: XI=MAX(-MT,XI)

310 DISPLAY AT(4,1):"YI=";STR$(YI);" / XI=";STR$(XI)

320 CALL LOCATE(#1,INT(Y/10),INT(X/10))

330 C=-C1 :: E=1

340 IF YI=0 THEN 370

350 IF YI<0 THEN GOSUB 440 :: GOTO 370

360 IF YI>0 THEN GOSUB 450

370 IF XI=0 THEN 400

380 IF XI<0 THEN GOSUB 470 :: GOTO 400

390 IF XI>0 THEN GOSUB 480

400 DISPLAY AT(4,1):"YI=";STR$(YI);" / XI=";STR$(XI)

410 CALL LOCATE(#1,INT(Y/10),INT(X/10))

420 GOTO 160

430 Y=Y :: RETURN

440 YI=YI+E :: Y=Y+C :: RETURN

450 YI=YI-E :: Y=Y-C :: RETURN

460 X=X :: RETURN

470 XI=XI+E :: X=X+C :: RETURN

480 XI=XI-E :: X=X-C :: RETURN

490 DATA 0000000103070101010101010100000000000080C0E080808080808080000000

500 DATA 000000000000000103070E0C00000000000000783878E8C08000000000000000

510 DATA 000000000000001F1F0000000000000000000000002030F8F830200000000000

520 DATA 000000000C0E070301000000000000000000000000000080C0E8783878000000

530 DATA 0000000101010101010107030100000000000080808080808080E0C080000000

540 DATA 000000000000000103171E1C1E000000000000003070E0C08000000000000000

550 DATA 0000000000040C1F1F0C04000000000000000000000000F8F800000000000000

560 DATA 0000001E1C1E170301000000000000000000000000000080C0E0703000000000
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...