Jump to content
IGNORED

Need some XB help


Sinphaltimus

Recommended Posts

Question. What if the program itself produces a floating point number after it is executed?

I ask, because the variable I had to change are part of an joystick movement and the character freezes everytime I attempt to run left.
What that means is the character continues the motion left but ceases to animate and the joystick has no affect on it but the rest of the game goes on like normal.

The call motion is using an algorithm simple math. Do negative numbers cause an issue? I do have to call motion to a negative number to move left in the current form.

Does this make sense? Am I understanding it?



Edited by Sinphaltimus
Link to comment
Share on other sites

Question. What if the program itself produces a floating point number after it is executed?

 

I think the propgram continues with only the integer part - as if you use the XB function INT with numeric variables and expressions throughout.

 

15.4 becomes 15, and -15.4 becomes -16.

 

INT
Format
INT( numeric-expression )
Description
The INT function returns the greatest integer less than or equal to numeric-expression.
Link to comment
Share on other sites

Yeah, I began to suspect that. I've basically gutted out the all call motion against the character sprite ave traced with x position = x position + speed variable. And I'm still locking up the main character.

 

I'm going to do the same for the zombies and see what happens.

 

Mind you, the lock ups only occur on real iron running as a non inverted bin via flash rom 99.

 

It does not happen on real iron executed as an xb program via floppy. It also does not happen in emulation as an extended basic program.

 

My next terrible shooting steps are how to create a bin file for use in classic 99. I attempted to use module creator and checked off the inverted option but that didn't work.

 

I did watch Tursi's video but it doesn't work for me because I don't know what to load. Everything I try fails. In Tursi's video he's using a completed game in a dsk. It's probably assembly and not xb. So I'm kind of missing the steps to get my program in to c99 as a cart.

 

It's troublesome when the program works and compiles without issue but fails as a bin.

Link to comment
Share on other sites

...

My next terrible shooting steps are how to create a bin file for use in classic 99. I attempted to use module creator and checked off the inverted option but that didn't work.

 

I did watch Tursi's video but it doesn't work for me because I don't know what to load. Everything I try fails. In Tursi's video he's using a completed game in a dsk. It's probably assembly and not xb. So I'm kind of missing the steps to get my program in to c99 as a cart.

 

It's troublesome when the program works and compiles without issue but fails as a bin.

 

I am not sure exactly how you are using Module Creator (MC). Harry's compiler does not output E/A 5 (Editor/Assembler Load Option 5) files, so you cannot use MC on that output. You should be able to load into Classic99 the object file output by Harry's compiler, with a breakpoint set at the program entry point before loading. At that point, you should be able to save the program as and E/A-5 program. (You may need to save the lower 8KiB [>2000 – >3FFF], as well—I forget.)

 

You will probably need a listing of the assembled program to find the program's entry point to use for the breakpoint. I don't remember whether Harry's compiler outputs absolute or relocatable code. If it is absolute code, finding the program's entry point should be easy enough by checking the END statement to see what label (program autostart) follows END (on the same line) and locating that label in the listing. If a listing is not an option, you can get one from Asm994a on your PC or E/A on real iron.

 

Harry will likely chime in ere long to clear up anything I've muddled above. [EDIT: Sorry about the misinformation above concerning EA5 output by Harry's compiler (see his post next). Not all of the above information is erroneous—it is simply irrelevant because the compiler, in fact, does output EA5 images—my bad!]

 

...lee

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

 

I am not sure exactly how you are using Module Creator (MC). Harry's compiler does not output E/A 5 (Editor/Assembler Load Option 5) files, so you cannot use MC on that output.

 

You have the option of saving the compiled program in either XB or EA5 format. From page 4 of the compiler docs:

 

DSK3.256DEMO-O is loaded.

To save in XB format enter:

SAVE DSK3.256DEMO-C

 

To save in EA5 format enter:

CALL LOAD("DSK1.EA5MAKER")

CALL LINK("EA5","DSK3.256DEMO-A)

 

I think that people have used a compiled program in EA5 format in a module, but am not certain of that.

  • Like 1
Link to comment
Share on other sites

Yes, I have already successfully compiled my first Extended Basic Program (MUSICK) Using XBCompiler256D. Guide on pages 2 - 4.
Then taken the -A, -B, -C files in to TI99Dir and converted them from TIFiles in to V9T9 files.

Then I load the -A file in to module creator 2.0 and it creates a .bin file that I can copy to my FlashRom99 and run on my real iron TI without any issues at all. Well, it runs at ludicrous speed, but that's OK.

So the workflow is there. And proven out by me.

 

But with my ZOMBi game, there are issues in the bon file that don't exist in the XB program.

My only steps now are to continue to modify my code piece by piece and try to find out where the character lock up takes place.

 

It's just a bear adjusting code in TidBit, converting to XB then going through all the compiling, convert copy to USB steps in order to load on to real iron for each and every adjustment.

 

I do want to be clear that the game does not crash the TI, the game does not exit or otherwise freeze. Only the player character under joystick control gets frozen. The rest of the game keeps on chugging along.

Edited by Sinphaltimus
Link to comment
Share on other sites

 

I am not sure exactly how you are using Module Creator (MC). Harry's compiler does not output E/A 5 (Editor/Assembler Load Option 5) files, so you cannot use MC on that output. You should be able to load into Classic99 the object file output by Harry's compiler, with a breakpoint set at the program entry point before loading. At that point, you should be able to save the program as and E/A-5 program. (You may need to save the lower 8KiB [>2000 – >3FFF], as well—I forget.)

 

You will probably need a listing of the assembled program to find the program's entry point to use for the breakpoint. I don't remember whether Harry's compiler outputs absolute or relocatable code. If it is absolute code, finding the program's entry point should be easy enough by checking the END statement to see what label (program autostart) follows END (on the same line) and locating that label in the listing. If a listing is not an option, you can get one from Asm994a on your PC or E/A on real iron.

 

Harry will likely chime in ere long to clear up anything I've muddled above.

 

...lee

 

 

There must have been a software update along the way...

 

I humbly present this...

 

post-47352-0-31123000-1476911021_thumb.png

 

Link to comment
Share on other sites

Mind you, the lock ups only occur on real iron running as a non inverted bin via flash rom 99.

 

It does not happen on real iron executed as an xb program via floppy. It also does not happen in emulation as an extended basic program.

 

Does the EA5 program run from a floppy on real iron using the Editor/Assembler cartridge?

Link to comment
Share on other sites

Does the EA5 program run from a floppy on real iron using the Editor/Assembler cartridge?

Yeah, I don't know how to do this.

 

I copy all of the files including the merged xb program to floppy.

ZOMBI-A

ZOMBI-B

ZOMBI-C

ZOMBI-M

ZOMBI-O

ZOMBI-S

 

I select load and run from editor assembler, it asks for file name I type DSK1.ZOMBI-O and it loads for a while then it asks for file name and that is where I am stuck. I don't know what to tell it.

Edited by Sinphaltimus
Link to comment
Share on other sites

Load and Run is option 3, using the linking loader. Files that you load by this way are linked in memory, and you have to start the complete program as soon as every required file has been loaded. In that case, press RETURN at the load prompt, and you enter the program name. This name must be DEFined in one of the files.

 

This is not EA5 as senior_falcon asked.

 

What are the file types of ZOMBI-*? DIS/FIX 80 or PROGRAM?

Link to comment
Share on other sites

Load and Run is option 3, using the linking loader. Files that you load by this way are linked in memory, and you have to start the complete program as soon as every required file has been loaded. In that case, press RETURN at the load prompt, and you enter the program name. This name must be DEFined in one of the files.

 

This is not EA5 as senior_falcon asked.

 

What are the file types of ZOMBI-*? DIS/FIX 80 or PROGRAM?

 

 

 

post-47352-0-42368800-1476995314_thumb.png

Link to comment
Share on other sites

I copy all of the files including the merged xb program to floppy.

ZOMBI-A

ZOMBI-B

ZOMBI-C

ZOMBI-M

ZOMBI-O

ZOMBI-S

 

ZOMBI-A, ZOMBI-B and ZOMBI-C are the EA5 files. To run this go to the Editor/Assembler cartridge, choose option 5 and enter DSK1.ZOMBI-A

 

When you saved as ZOMBI-A the program was saved in 8K blocks andh the final character was incremented with every file. Your program was long enough to be saved in 3 blocks. There is an error in my docs: you probably saved the XB format program as ZOMBI-C, but then when you saved as EA5 the XB ZOMBI-C was overwritten by the 3rd file of the EA5 program. The solution is simple-instead of saving the EA5 program as ZOMBI-A you could save it as ZOMBI-E or ZOMBI-EA. Just use no more than 10 characters.

Link to comment
Share on other sites

ZOMBI-A, ZOMBI-B and ZOMBI-C are the EA5 files. To run this go to the Editor/Assembler cartridge, choose option 5 and enter DSK1.ZOMBI-A

 

When you saved as ZOMBI-A the program was saved in 8K blocks andh the final character was incremented with every file. Your program was long enough to be saved in 3 blocks. There is an error in my docs: you probably saved the XB format program as ZOMBI-C, but then when you saved as EA5 the XB ZOMBI-C was overwritten by the 3rd file of the EA5 program. The solution is simple-instead of saving the EA5 program as ZOMBI-A you could save it as ZOMBI-E or ZOMBI-EA. Just use no more than 10 characters.

 

 

I don't recall having the option to do that. Mind you I'm using Harry Wilhelm's XB256D compiler/Assembler/Loader.

 

In the compiler I'm asked for:

...the XB merged file save -M

And A file name for the output -S

 

After that I go in to the assembler

I give it the source file name -S

And finally I give it the -O file name

 

Then in the loader I give it the -O file name to be loaded and it automajically creates the -A, -B and -C files.

Link to comment
Share on other sites

 

I don't recall having the option to do that.....

 

In the compiler I'm asked for:

...the XB merged file save -M

And A file name for the output -S

 

After that I go in to the assembler

I give it the source file name -S

And finally I give it the -O file name

 

Then in the loader I give it the -O file name to be loaded and it automajically creates the -A, -B and -C files.

Once the -O file is loaded you get this menu:

DSK3.ZOMBI-O is loaded.

To save in XB format enter:

SAVE DSK3.ZOMBI-C

To save in EA5 format enter:

CALL LOAD("DSK1.EA5MAKER")

CALL LINK("EA5","DSK3.ZOMBI-A)

At this point you have to do something-either save it as an XB program or do the CALL LOAD and CALL LINK to create the EA5 files. Nothing will happen automatically.

Does the XB format program run from a floppy on real iron? Does either one run on Classic99?

Link to comment
Share on other sites

Once the -O file is loaded you get this menu:

DSK3.ZOMBI-O is loaded.

To save in XB format enter:

SAVE DSK3.ZOMBI-C

To save in EA5 format enter:

CALL LOAD("DSK1.EA5MAKER")

CALL LINK("EA5","DSK3.ZOMBI-A)

At this point you have to do something-either save it as an XB program or do the CALL LOAD and CALL LINK to create the EA5 files. Nothing will happen automatically.

Does the XB format program run from a floppy on real iron? Does either one run on Classic99?

 

 

AAAHHHH I understand now.-Yes. I just typed what it told me to without a thought - it hadn't even crossed my mind that I could change that name. I just stuck to the defaults I guess. Please pardon my ignorance.

 

The XB formatted program runs flawlessly on the real iron and in classic99.

 

It gets through the XB256 process without reporting any errors as well.

 

 

 

 

Link to comment
Share on other sites

If the XB formatted program works then the EA5 should also work. Can you PM me the XB formatted program so I can take a look? Just copy it out of your Classic99 folder.

I don't really know how to use the debugger in classic99 but when the AE5 program crashed in c99, I decided to take a look and this is what I found.

 

post-47352-0-39350500-1477070815_thumb.png

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...