Jump to content
IGNORED

INTYBASIC 1.2 problems


artrag

Recommended Posts

dz you are fun, read again you are close enough and you can get it

 

 

Oh, I hadn't seen that ROM attachment in Tapatalk. Bravo! you put my name on the screen! That's a great first try. I see that the BASIC language is your lingua franca. Keep at it and we're sure to see great work from you. :)

 

I find it cute that I engender such passion in you to inspire this, I'm very flattered. Have I found a new best friend? :lust:

 

I also thought you were busy with your Compiler Design classes and work. It seems you have plenty of time to enlighten us with your masterful technique and seeds of wisdom.

 

I'm sure everyone here looks forward to your next "DZ-Inspired" masterpiece. Could you put a snow level in the next one? I like snow. :lol:

 

-dZ.

Link to comment
Share on other sites

Oh, I hadn't seen that ROM attachment in Tapatalk. Bravo! you put my name on the screen! That's a great first try. I see that the BASIC language is your lingua franca. Keep at it and we're sure to see great work from you. :)

 

I find it cute that I engender such passion in you to inspire this, I'm very flattered. Have I found a new best friend? :lust:

 

I also thought you were busy with your Compiler Design classes and work. It seems you have plenty of time to enlighten us with your masterful technique and seeds of wisdom.

 

I'm sure everyone here looks forward to your next "DZ-Inspired" masterpiece. Could you put a snow level in the next one? I like snow. :lol:

 

-dZ.

Oh dear, I just saw that your technologically impressive "DZ-inspired" demo wasn't really inspired by me, but ported from working code posted on a separate thread.

 

http://atariage.com/forums/topic/242081-gorf-space-warp/

 

I was so flattered before, but now I'm crestfallen. :(

 

How can this be? I thought we had something.

 

artrag, please take some time away from your busy schedule of teaching compiler design in random forum threads and create a true masterpiece of technical mastery with my name on the screen. I know you won't let me down.

 

dZ.

Link to comment
Share on other sites

Dz I have good news for you !

The dzgorf.rom has nothing to do with the link you pointed!

You inspired it entirely, stay up and be proud of it !

 

You can peek the code in attach yourself. Ah, feel free to reuse it, it could be handy.

 

In the meanwhile I adapted a test inspired by you, I hope you like it, enjoy!

dztest.rom

dzgorf.bas

Edited by artrag
Link to comment
Share on other sites

PS

Oscar, the math in the compiler is a bit crippled. I see you have added SIGNED variables, what about adding signed division with a separate operator, (e.g. something like "\").

This would guarantee complete compatibility with past and avoid that the user has to introduce lines of code like this:

 

if (#a>0) then #b=#a/16 else #b=-((-#a)/16)

 

I did it but it is not very handy, you see ;)

  • Like 1
Link to comment
Share on other sites

PS

Oscar, the math in the compiler is a bit crippled. I see you have added SIGNED variables, what about adding signed division with a separate operator, (e.g. something like "\").

This would guarantee complete compatibility with past and avoid that the user has to introduce lines of code like this:

 

if (#a>0) then #b=#a/16 else #b=-((-#a)/16)

 

I did it but it is not very handy, you see ;)

 

Yep, I see.

 

It is in my TODO list, but I'll have to wait :), I've dedicate a little too much time to IntyBASIC. It's my pet project but I've to do other things :)

Link to comment
Share on other sites

Another question: I see that DEFINE allows expressions in this form

 

DEFINE card_num,total,VARPTR label(expr)

 

Assuming data defined as

#dummy_data:

data 1,2,3,4,5,6,7,8,9,10,11,12,13, etc etc

 

how should invoke define with a variable offset in the data string ?

 

I tried:

 

DEFINE DEF00,1,VARPTR #dummy_data(0)

 

and

 

DEFINE DEF00,1,VARPTR #dummy_data(n)

 

with n variable , but apparently I get error in both cases...

 

Edit

I think I've found... the compiler puts the data in the rom where they are in the source code, so they can be executed by accident. My rom was invalid for this reason.

Edited by artrag
Link to comment
Share on other sites

Dz I have good news for you !

The dzgorf.rom has nothing to do with the link you pointed!

You inspired it entirely, stay up and be proud of it !

Oh wow! I am flattered. And I am even more flattered that you include me in all your programs. It must be nice being so talented.

 

You can peek the code in attach yourself. Ah, feel free to reuse it, it could be handy.

 

Ah, no thanks. I'll leave the BASIC to the experienced geniuses like yourself. I just program in lowly icky assembly language. Bleh. Someday I hope to learn enough to be able to PEEK and POKE and PRINT my way into the annals of creative masters, dare I say, next to you! :o

 

In the manwhile I adapted a test inspired by you, I hope you like it, enjoy!

Oh my! That is fabulous! I see you have some masterful skills to replicate the sprites of Berzerk. How do you do that?! What kind of sorcery is that? I am so very impressed. And that maze... Such blocky form, such detail. I sure can learn how to make a maze game from you.

 

Would you share your source? I mean, if I ever were to make a maze game, I'll definitely try to emulate this one. I mean, how challenging it is to have to aim with exacting precision your avatar in the middle of a corridor in order to turn a corner? That's just pure genius!

 

Also, the fact that the slightest tap on the disc makes the avatar jump a few pixels, making it almost impossible to enter a corridor... I see that you won't have none of that sissy dampening, straight up and hardcore gaming to the max! I'm truly impressed. I definitely have to learn how to make maze games like you.

 

Make sure to submit one of these masterpieces to the competition. The fact that they have my name on them will probably inspire the judges to give you extra credit! :P

 

-dZ.

Link to comment
Share on other sites

Edit

I think I've found... the compiler puts the data in the rom where they are in the source code, so they can be executed by accident. My rom was invalid for this reason.

Yeah, that's something that has been brought up before: procedures and data statements are compiled "in place" and the program flow runs right through them.

 

It is my opinion that the compiler should branch around them or inject them in a separate block that does not interfere with program flow.

 

In the meantime be aware that procedure definitions do the same.

 

@Oscar: maybe it should be added to the manual until this is addressed.

Link to comment
Share on other sites

DZ, as you was busy wan...ting to help the community I supposed you needed some help in fixing your SDK.

I am sure you will appreciate :D

Ah, you can freely include my patch in the SDK, although I'm sure you are preparing something better, outstanding and maybe also working... ;)

 

 

PS

Try using DIAGONALS, you can do that by pressing two - not opposite- keys at time :D

Edited by artrag
Link to comment
Share on other sites

DZ, as you was busy wan...ting to help the community I supposed you needed some help in fixing your SDK.

I am sure you will appreciate :D

Ah, you can freely include my patch in the SDK, although I'm sure you are preparing something better, outstanding and maybe also working... ;)

 

Oh, no... part of the reason I'm so delayed is that -- all of a sudden -- I realized how little I knew about computers and programming, especially in relation to computer languages. So I just sit around all day waiting for your to write a post, which usually is about me (I'm so flattered!).

 

Please, please, please send me all the patches that you can, I'm afraid I'm going to need them. Also, if you can instruct me on how to implement a proper SDK, that would be great. I know you don't have time to apply your vast experience to something as prosaic as an Intellivision SDK, but the world can surely use your help! :o

 

Oh, and before I forget, I know that your forté is computer languages specifically and that you carry a heavy burden in your mind with that alone, but perhaps you may want to consult a dictionary and a grammar guide when you write to communicate with us simpletons, who only understand lowly human languages. ;)

 

-dZ.

Link to comment
Share on other sites

PS

Try using DIAGONALS, you can do that by pressing two - not opposite- keys at time :D

 

Again, you mesmerize me with your keen insight! Wow!

 

Of course, do not make the game interface usable, make the player figure out the esoteric mechanics! My God, why didn't I think of that?

 

Brilliant!

Link to comment
Share on other sites

  • 2 weeks later...

I think I've spotted small glitch in the final report about warning and errors.

The test code in attach, while compiling, shows a number of errors for unused labels (they are in included files) but the final counting reports 0 warning.

 

Moreover while fiddling with INTYTEST.BAT (DZ, you have an update) I think I've faced a couple of cases where the compilation errors are not reported to the DOS shell (but I cannot reproduce this latter case).

 

Enjoy

dzgorf.rar

dzgorf.rom

Edited by artrag
Link to comment
Share on other sites

I think I've spotted small glitch in the final report about warning and errors.

The test code in attach, while compiling, shows a number of errors for unused labels (they are in included files) but the final counting reports 0 warning.

 

Moreover while fiddling with INTYTEST.BAT (DZ, you have an update) I think I've faced a couple of cases where the compilation errors are not reported to the DOS shell (but I cannot reproduce this latter case).

 

Enjoy

 

I think you're confusing the error/warning counting of AS1600.

 

IntyBASIC doesn't count errors or warnings.

 

Besides the unused labels are warnings, not errors, so them shouldn't stop the compilation.

 

The warnings are simply things that probably are right but could be a chance them are wrong, for example, in this code:

 

 

    a = mydata1[x]
    ...
    a = mydata1[x]    ' Programmer copy&paste code and forgot to rename this to mydata2
    ...
 
mydata1:
    DATA 5,6,7,8
mydata2:                ' mydata2 is reported as unused and programmer discovers the bug.
    DATA 9,10,11,12
Link to comment
Share on other sites

About the report it is from the assembler, sorry.

 

But when I tell about errors I mean that the compiler aborts its task and does not report any error level to dos.

The scripts calling the compiler apparently under some conditions do not detect the error condition occurred in the compiler.

If you try the last sdk patch you can see it halts on error "almost" always.

The problem is in the "almost"...

 

 

Note that I cannot fully exclude the problem is somewhere in the sdk script after the patch

Edited by artrag
Link to comment
Share on other sites

I think you're confusing the error/warning counting of AS1600.

IntyBASIC doesn't count errors or warnings.

 

By the way, the assembler directives "EMSG", "WMSG" and "SMSG" tell the assembler to print the corresponding messages as an Error, Warning, or Status.

 

You could, in theory, report IntyBASIC errors in the .ASM file. This would prevent the file from assembling, inadvertently producing a broken binary.

  • Like 1
Link to comment
Share on other sites

 

By the way, the assembler directives "EMSG", "WMSG" and "SMSG" tell the assembler to print the corresponding messages as an Error, Warning, or Status.

 

You could, in theory, report IntyBASIC errors in the .ASM file. This would prevent the file from assembling, inadvertently producing a broken binary.

 

Well, that's not necessary. It only tries to assemble because of the SDK "INTYTEST" batch file that runs both of them together. If the compiler handles error correctly by setting a non-zero exit code and writing to STDERR (and if INTYTEST.BAT handled this correctly too), then everything would work as expected.

 

It seems that artrag is reporting that IntyBASIC does not exit with non-zero code in all error cases (apart from INTYTEST not handling error codes correctly, which was already known). Is this true?

 

-dZ.

Link to comment
Share on other sites

Actually now I think that my fix to your INTYTEST was partial: I've just spotted an error in my SDK patch that could be the cause for not catching the errors from the compiler under all the circumstances

I've just uploaded a further fix with in v0.11 and from what I see now INTYTEST stops when the compilation aborts.

 

 

Anyway I need a bit more testing on the new INTYTEST.BAT to say if the problem is solved

Edited by artrag
Link to comment
Share on other sites

:? Oscar, is it possible you report as errors (I mean as exit code >0) also the presence of warnings?

 

ps

music statment is very nice (audio section courtesy of first spear)

I only would add a way to loop only a section of the music (main theme) and not from the beginning

 

There was a bug in v1.2.1 and v1.2.2 in report of warnings. It has been solved in v1.2.3 ;)

Link to comment
Share on other sites

I think I want to suggest something. If you want to increase a variable by one, would it be possible to do, variable++ instead of variable=variable+1?

 

 

 

Or variable += x

 

I've resisted to implement C-like syntax. Instead I've made x=x+1 to be so efficient as x += 1 or x++

  • Like 1
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...