Omega-TI Posted April 15, 2015 Share Posted April 15, 2015 I have an idea for an E/A 5 program I'd like to make for myself, but not knowing how to write in assembly language, and not having the time or inclination to learn it either, I'm thinking I may be able to cheat by writing it in extended BASIC and then use a BASIC compiler to finish the job. Now I know there are different compilers out there, and I really don't have the time to check the features and capabilities of each and every one just to see which one will do what I need, so I figured I'd ask the experts (you guys here on Atari Age). What would be the best package to get and use. My requirements: I'd like it to compile EXTENDED BASIC, not just TI-BASIC, because I'll need to use DISPLAY AT, ACCEPT AT with the VALIDATE and SIZE features if I'm going to be forced to use normal display mode. Now the big question, and probably killer.. I'd really like to do this in at least 40 column mode with white characters on blue background... so is there a package that has extra display routines that can be used and compiled into a finished E/A 5 program? Thanks. Quote Link to comment https://forums.atariage.com/topic/237312-i-have-a-project-i-want-to-do-but-i-need-some-information-first/ Share on other sites More sharing options...
+Lee Stewart Posted April 15, 2015 Share Posted April 15, 2015 (edited) <snip> It's a simple matter to do white-on-blue characters; but, including the XB routines you mentioned into a compiled version may be difficult. <snip> ...lee Edited April 16, 2015 by Lee Stewart Quote Link to comment https://forums.atariage.com/topic/237312-i-have-a-project-i-want-to-do-but-i-need-some-information-first/#findComment-3219366 Share on other sites More sharing options...
Opry99er Posted April 15, 2015 Share Posted April 15, 2015 Falcon's XB compiler is wicked... Pretty sure it supports all of what you mentioned... Not 100% sure on the EA5... Been a while since I used it. Quote Link to comment https://forums.atariage.com/topic/237312-i-have-a-project-i-want-to-do-but-i-need-some-information-first/#findComment-3219465 Share on other sites More sharing options...
Gazoo Posted April 15, 2015 Share Posted April 15, 2015 If you're going to write it in XB, do you absolutely need to have it in EA5 format? Or is that the format that the loader you are using for it supports? If the XB cart is going to be present (I'm assuming the XB v2.7 Suite cart since you have one) you can have an XB program load from EA5 format (examples Bert&Ernie and Decimal to Hex). Senior Falcon's code for doing so is here in the forum somewhere, he posted it while I was trying to get XB programs to run from ROM. Gazoo Quote Link to comment https://forums.atariage.com/topic/237312-i-have-a-project-i-want-to-do-but-i-need-some-information-first/#findComment-3219483 Share on other sites More sharing options...
senior_falcon Posted April 16, 2015 Share Posted April 16, 2015 I don't know of any compiler for XB that will support the 40 column mode. There are 40 column extensions that will work with XB; all these require custom assembly routines for both displaying text and inputting, and so validate and size may not be included. As Gazoo says, if XB is fast enough there is a way to make an EA5 program out of it. My XB compiler can save programs in EA5 format; those programs do not require the XB cartridge once compiled. But you only get a 32 column screen. Quote Link to comment https://forums.atariage.com/topic/237312-i-have-a-project-i-want-to-do-but-i-need-some-information-first/#findComment-3219527 Share on other sites More sharing options...
Opry99er Posted April 16, 2015 Share Posted April 16, 2015 If you're going to write it in XB, do you absolutely need to have it in EA5 format? Or is that the format that the loader you are using for it supports? If the XB cart is going to be present (I'm assuming the XB v2.7 Suite cart since you have one) you can have an XB program load from EA5 format (examples Bert&Ernie and Decimal to Hex). Senior Falcon's code for doing so is here in the forum somewhere, he posted it while I was trying to get XB programs to run from ROM. Gazoo XB programs running from ROM, eh? I need to find that thread. Quote Link to comment https://forums.atariage.com/topic/237312-i-have-a-project-i-want-to-do-but-i-need-some-information-first/#findComment-3219543 Share on other sites More sharing options...
Omega-TI Posted April 16, 2015 Author Share Posted April 16, 2015 Falcon's XB compiler is wicked... Pretty sure it supports all of what you mentioned... Not 100% sure on the EA5... Been a while since I used it. What's it called? Do you have a link? The simple program I want to convert would be a nice way to get my feet wet. If you're going to write it in XB, do you absolutely need to have it in EA5 format? Or is that the format that the loader you are using for it supports? If the XB cart is going to be present (I'm assuming the XB v2.7 Suite cart since you have one) you can have an XB program load from EA5 format (examples Bert&Ernie and Decimal to Hex). Senior Falcon's code for doing so is here in the forum somewhere, he posted it while I was trying to get XB programs to run from ROM. Gazoo Need? No. Want? Yes. It would be nice to be able to run it from 4A/DOS. Right now after the program does it's thing, it executes DSK1.LOAD which I have set to bring up BOOT. It works, but it's slow. I'd like to convert the small program in << THIS MESSAGE >> I don't know of any compiler for XB that will support the 40 column mode. There are 40 column extensions that will work with XB; all these require custom assembly routines for both displaying text and inputting, and so validate and size may not be included. I was afraid of that. Thanks. IIRC TML has some 40 col extensions, but I doubted they would compile. I guess if I do locate a program to do the job, I'll have to stick with the 32 column mode. It works, just does not look as nice. Quote Link to comment https://forums.atariage.com/topic/237312-i-have-a-project-i-want-to-do-but-i-need-some-information-first/#findComment-3219549 Share on other sites More sharing options...
Opry99er Posted April 16, 2015 Share Posted April 16, 2015 Forgive me... I seemed to have missed your 40 col need. I think I did a YouTube video on how to use the old compiler... A more recent, updated version has been created since falcon joined us on here. The steps should be similar, but I cannot remember for sure. Quote Link to comment https://forums.atariage.com/topic/237312-i-have-a-project-i-want-to-do-but-i-need-some-information-first/#findComment-3219579 Share on other sites More sharing options...
Omega-TI Posted April 16, 2015 Author Share Posted April 16, 2015 Well, that excitement was short-lived. I checked out his XB compilier's documentation... No File processing capabilities have been implemented at this time. 1 Quote Link to comment https://forums.atariage.com/topic/237312-i-have-a-project-i-want-to-do-but-i-need-some-information-first/#findComment-3219601 Share on other sites More sharing options...
Retrospect Posted April 16, 2015 Share Posted April 16, 2015 (edited) Hi Omega, if it helps, I'm using XB256 with it's 256 compiler at the moment to experiment with, I'm doing lots of small programs and learning how to do this and that, so that my horse racing project can look as good as I can get it. XB256 allows for lots of things previously not possible without assembly, here is a quick and dirty video I just made to show how to save out in EA5 format from the 256 compiler https://www.youtube.com/watch?v=nkhT34EGQDo&feature=youtu.be You might want to skip past the waiting period for the Assembler. the point to the vid is near the end Edited April 16, 2015 by Retrospect 1 Quote Link to comment https://forums.atariage.com/topic/237312-i-have-a-project-i-want-to-do-but-i-need-some-information-first/#findComment-3219799 Share on other sites More sharing options...
Omega-TI Posted April 16, 2015 Author Share Posted April 16, 2015 Hi Omega, if it helps, I'm using XB256 with it's 256 compiler at the moment to experiment with Thanks for posting this. I'll try to find some time next week to play with it. Yesterday was my day to fart around, today it's going to be all kinds of mowing, edging, blowing the endless supply of fir needles off the blacktop, straightening up the tool shed and *IF* I have any time after that, I'll want to play with the new secondary monitor for the PC that is supposed to arrive today. Tomorrow it's back to the grind. You know I really am amazed that NO ONE has written an JAVA script program to compile TI programs yet. All you would have to do is upload the Extended BASIC program and seconds later download the compiled version. I think it would encourage more lower level programmers and introduce them to another lever of programming... and the community might have more goodies as a result. 2 Quote Link to comment https://forums.atariage.com/topic/237312-i-have-a-project-i-want-to-do-but-i-need-some-information-first/#findComment-3219815 Share on other sites More sharing options...
Omega-TI Posted April 16, 2015 Author Share Posted April 16, 2015 Before I head out the door, I have one more question born of ignorance... Assuming I can get this the attached program compiled, how would I "END" the program? I obviously would no longer need the current last line, so do I just replace that with the END statement and expect the compiler to do the rest? SETCLOCK XB.zip Quote Link to comment https://forums.atariage.com/topic/237312-i-have-a-project-i-want-to-do-but-i-need-some-information-first/#findComment-3219861 Share on other sites More sharing options...
senior_falcon Posted April 16, 2015 Share Posted April 16, 2015 Hi Omega, if it helps, I'm using XB256 with it's 256 compiler at the moment to experiment with, I'm doing lots of small programs and learning how to do this and that, so that my horse racing project can look as good as I can get it. XB256 allows for lots of things previously not possible without assembly, here is a quick and dirty video I just made to show how to save out in EA5 format from the 256 compiler https://www.youtube.com/watch?v=nkhT34EGQDo&feature=youtu.be You might want to skip past the waiting period for the Assembler. the point to the vid is near the end You have saved the program as an EA5 program called TESTER/O. (You would probably be better off if you saved it as TESTER/A so you don't confuse it with the object code.) However the program you are running is still running in the XB environment. You should put in the EA cartridge and then run TESTER/O (or better yet, TESTER/A)as an EA5 program to show that it actually is running as an EA5 program. Your demo acts like you have used the option to speed up XB. This might be the reason there is not that much speed difference between the XB and compiled version. Another reason could be that much of the time you are in the scroll routine which is in assembly both in XB256 and when compiled. 2 Quote Link to comment https://forums.atariage.com/topic/237312-i-have-a-project-i-want-to-do-but-i-need-some-information-first/#findComment-3219865 Share on other sites More sharing options...
unhuman Posted April 16, 2015 Share Posted April 16, 2015 Yeah - that'd be ideal (for me, not that I'm coding anything lately) because it would drastically increase the development cycle in emulation... The entire flow could be scripted (and fast): Write code in TIdBiT, push output to compiler, then run from emulator. But, I suspect that it's just not in the cards. You know I really am amazed that NO ONE has written an JAVA script program to compile TI programs yet. All you would have to do is upload the Extended BASIC program and seconds later download the compiled version. I think it would encourage more lower level programmers and introduce them to another lever of programming... and the community might have more goodies as a result. Quote Link to comment https://forums.atariage.com/topic/237312-i-have-a-project-i-want-to-do-but-i-need-some-information-first/#findComment-3219869 Share on other sites More sharing options...
Retrospect Posted April 16, 2015 Share Posted April 16, 2015 Thanks senior-falcon, yep you are right - it should be called something else. did you notice the pause as I was confused about the filename Really the only point to the video was to show that it can easily save out to EA5 Quote Link to comment https://forums.atariage.com/topic/237312-i-have-a-project-i-want-to-do-but-i-need-some-information-first/#findComment-3219898 Share on other sites More sharing options...
RobertLM78 Posted April 16, 2015 Share Posted April 16, 2015 (edited) Omega - I had looked around for a compiler that has file processing, but if I recall correctly, none of them do. I hate to say it, but like me, you're probably just going to have to learn assembly Edited April 16, 2015 by RobertLM78 Quote Link to comment https://forums.atariage.com/topic/237312-i-have-a-project-i-want-to-do-but-i-need-some-information-first/#findComment-3219968 Share on other sites More sharing options...
+Vorticon Posted April 16, 2015 Share Posted April 16, 2015 Omega - I had looked around for a compiler that has file processing, but if I recall correctly, none of them do. I hate to say it, but like me, you're probably just going to have to learn assembly Or consider Forth. Much easier to learn than assembly and much faster than XB. 1 Quote Link to comment https://forums.atariage.com/topic/237312-i-have-a-project-i-want-to-do-but-i-need-some-information-first/#findComment-3220041 Share on other sites More sharing options...
+Lee Stewart Posted April 16, 2015 Share Posted April 16, 2015 ...and you know there is a fair amount of Forth help here! ...lee 1 Quote Link to comment https://forums.atariage.com/topic/237312-i-have-a-project-i-want-to-do-but-i-need-some-information-first/#findComment-3220051 Share on other sites More sharing options...
Omega-TI Posted April 16, 2015 Author Share Posted April 16, 2015 Omega - I had looked around for a compiler that has file processing, but if I recall correctly, none of them do. I hate to say it, but like me, you're probably just going to have to learn assembly Thanks for looking Robert. You know, it's a bummer too, because I figured there was no program that could be have been more simple to use as a first attempt than that one. Honestly, I'm just not that interested at this stage of my life in learning assembly, or the time investment it would take for that matter. If only I could go back to my teenage years with all the time in the world to spend on idle pursuits it might be different. Or consider Forth. Much easier to learn than assembly and much faster than XB. Probably true, but I guess I'll just have to live with it in XB. ...and you know there is a fair amount of Forth help here! Very true! Oh well, maybe someday I might change my mind, thanks. Quote Link to comment https://forums.atariage.com/topic/237312-i-have-a-project-i-want-to-do-but-i-need-some-information-first/#findComment-3220107 Share on other sites More sharing options...
Gazoo Posted April 16, 2015 Share Posted April 16, 2015 Honestly, I'm just not that interested at this stage of my life in learning assembly, or the time investment it would take for that matter. If only I could go back to my teenage years with all the time in the world to spend on idle pursuits it might be different. You know what, it might not be that difficult to put together the assembly code to do the things you do in your Extended Basic program.There are example snippets of code all over the place to do the various things you need done. And it might not take that long to do it. For instance, you want to load BOOT after you set the clock. Well, I posted the assembly code to load GROMCFG to get some help with the BASIC loader for it. GROMCFG is a 2 segment program that loads (I think) at the same addresses that BOOT does. It would take minimal changes in that code to load BOOT from whatever device you had it on. So a good start might be to alter that code to load BOOT on your device of choice, assemble it, and convert it to an EA5 program with RAG Linker (as easy as entering the object and EA5 filenames) to see if it works. How about trying that, and if it works, then look for some code to put text on the screen. Add that to what you have, and you'll get a screen with the text you want on it that loads BOOT. Keep going until you have everything working as you want it to. There's probably enough code examples out there to paste together to make your whole program. If you run into trouble, post your code here and we'll help you fix it. That's what I do when I get stuck, and someone generally jumps in to help. I've written some quite ugly code and posted it (and still do!), so there's nothing to be embarrassed about. Gazoo Quote Link to comment https://forums.atariage.com/topic/237312-i-have-a-project-i-want-to-do-but-i-need-some-information-first/#findComment-3220123 Share on other sites More sharing options...
Gazoo Posted April 16, 2015 Share Posted April 16, 2015 Here's some info on loading BOOT. The first program segment, BOOT, loads >1782 bytes at address >2006. The second program segment, BOOU, loads >17F4 bytes at address >C006. Program execution starts at address >2006, where the first program segment is loaded. This is good news, because any code you create is most likely going to load to a default address of >A000, so you won't have to worry about the loader code being overwritten by BOOT. The chips are falling in your direction already, all you need to do is make a little effort. Gazoo Quote Link to comment https://forums.atariage.com/topic/237312-i-have-a-project-i-want-to-do-but-i-need-some-information-first/#findComment-3220154 Share on other sites More sharing options...
Opry99er Posted April 16, 2015 Share Posted April 16, 2015 ^^Come to think of it, I've posted alot of sh** code on here--- and there have always been guys out there who (without telling me it is sh** code) came to help me imorove it. I bet you can have a running program in a few days. What could it hurt? Quote Link to comment https://forums.atariage.com/topic/237312-i-have-a-project-i-want-to-do-but-i-need-some-information-first/#findComment-3220174 Share on other sites More sharing options...
Gazoo Posted April 17, 2015 Share Posted April 17, 2015 (edited) I've got you a good head start here. Omega source.txt This code sets up the EA environment with your colors, loads a character set, and loads BOOT from DSK1. It's pretty well commented. To change the device that BOOT loads from, just alter the text 'DSK1' to suit your needs. The place to add the code for the clock routine is indicated in the file. Maybe someone will jump in and add to it, or you could try yourself. Gazoo Edited April 17, 2015 by Gazoo 2 Quote Link to comment https://forums.atariage.com/topic/237312-i-have-a-project-i-want-to-do-but-i-need-some-information-first/#findComment-3220419 Share on other sites More sharing options...
Gazoo Posted April 17, 2015 Share Posted April 17, 2015 OMEGA.dsk If this doesn't inspire you to finish the program, nothing will. Everything is there except actually setting the clock. Your screen is displayed until you press a key, then BOOT is loaded. The keypress code can be removed once the clock setting code is added, it's just there so you can see your screen before BOOT is loaded. Gazoo 1 Quote Link to comment https://forums.atariage.com/topic/237312-i-have-a-project-i-want-to-do-but-i-need-some-information-first/#findComment-3220517 Share on other sites More sharing options...
Opry99er Posted April 17, 2015 Share Posted April 17, 2015 #Micdrop All you gotta do is pull out the EA manual and read Tony's comments... 1 Quote Link to comment https://forums.atariage.com/topic/237312-i-have-a-project-i-want-to-do-but-i-need-some-information-first/#findComment-3220537 Share on other sites More sharing options...
Recommended Posts
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.