+hloberg Posted January 2, 2013 Share Posted January 2, 2013 One of my favorite games on the Atari 800 was MULE. Ozark made several copies for other machines but never got around to the Ti. For a (very) long term project I'm thinking of doing a MULE copy for the TI. Some advice, if you have played or seen MULE what do you think i should program it in? The graphics aren't very fast paced or complex but very Atari-centric. What you think ? C, Forth, XB, assembler ? Anyway, suggestions welcome. Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted January 3, 2013 Share Posted January 3, 2013 I unfortunately have never played that game before although did hear of it quite a bit. I'm going to try to get a copy for my PCjr and give it a spin. From what I know about it though, this could easily be coded in XB, unless you want high res graphics in which case assembly or TI Forth are your best bets. For speed with ease of programming, Turbo Forth and Harry Wilhelm's XB compiler are probably the way to go. I would steer away from c99 because of the laborious edit/compile process and the limited user program space available. Clearly many choices are available based on your preferences and your familiarity with specific programming languages. I would love to see this on the TI Quote Link to comment Share on other sites More sharing options...
TheMole Posted January 3, 2013 Share Posted January 3, 2013 For me it depends on what you're familiar with, but don't discount C because of C99... GCC is a very capable development environment for the TI, as long as you're working in emulators. My makefiles basically just start the emulator with the automatically generated cartridge image. So between saving and running there is exactly one step for me: "make". Plus, it gives you assembly-like speeds and access to the full system hardware. Downside is that you would probably have to design some of the higher-level XB type functions yourself. It's easy enough, but an extra step for your first program. Quote Link to comment Share on other sites More sharing options...
JonnyBritish Posted January 3, 2013 Share Posted January 3, 2013 You can now play mule online here - http://www.planetmule.com/ Quote Link to comment Share on other sites More sharing options...
JonnyBritish Posted January 3, 2013 Share Posted January 3, 2013 Also looks like its coming to mobile http://mulereturns.com/screenshots/ Think I really need to spin up my Atari 800xl and drop in my mule cart and try it out and yes I would like to see this on the new TI99/4a/F18a :-) Quote Link to comment Share on other sites More sharing options...
+hloberg Posted January 3, 2013 Author Share Posted January 3, 2013 Hum, thought about C (I know C) but if it has limited space that could be a problem. The graphics in MULE are not complex but my initial setup show that they can't be emulated using XB character based graphics very well. I'm still thinking about XB compiled but it may not have the look and feel I want. I know TI assembler some what, tell me more about the GCC. I checked out some of the articles and it looks interesting. Quote Link to comment Share on other sites More sharing options...
JonnyBritish Posted January 3, 2013 Share Posted January 3, 2013 Also consider Forth One developer on the forums created an Advance Wars type game using TurboForth. Your choice of course Quote Link to comment Share on other sites More sharing options...
+hloberg Posted January 3, 2013 Author Share Posted January 3, 2013 (edited) Being ignorant of forth I have one question. with Assembler or XB you can create an auto boot disk that starts straight into the game. Can you do that with forth? Also JonnyBritish, got a link to that game so I can check it out. Edited January 3, 2013 by hloberg Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted January 3, 2013 Share Posted January 3, 2013 Being ignorant of forth I have one question. with Assembler or XB you can create an auto boot disk that starts straight into the game. Can you do that with forth? Also JonnyBritish, got a link to that game so I can check it out. Both TI Forth and TurboForth can "auto-start" a program at boot time. I am unaware that you can auto-start a program with Assembler. You must select the E/A cartridge menu's #3 or #5 option and give a filename. Then, of course, the loaded file can auto-start. With both TIF and TF, you do not need to know the name of the program if the programmer set it up to run at boot time for a given game disk. ...lee Quote Link to comment Share on other sites More sharing options...
Rod Van Orden Posted January 3, 2013 Share Posted January 3, 2013 Hi gang! I think you could probably do MULE in RXB 2012 with assembler routine interaction. However, I would strongly encourage you all to gravitate towards TurboForth. If you do TMS-9900 assembly language, do it in TurboForth..... The bitmap graphics support needs to get squared away first (or else use TI Forth). I have found that programming in Forth allows you to test and develop so much easier than the typical development cycle. And you generally have more memory to mess with. By the way, Happy New Year! Rod Van Orden San Diego, California Quote Link to comment Share on other sites More sharing options...
+hloberg Posted January 3, 2013 Author Share Posted January 3, 2013 Here's a short display of MULE: http://youtu.be/osllXm0jokc the main program consist of three screens: the map, the store and the bidding. I should be able to create those screens with XB and assembler extensions. the only problem would be quickly switch between the screens. The opening I have no idea how emulate to look like that in XB. Quote Link to comment Share on other sites More sharing options...
Willsy Posted January 3, 2013 Share Posted January 3, 2013 From what I've seen so far, I don't think bitmap graphics are required. TurboForth, TI Forth, and of course Assembly would let you re-define all 256 ASCII characters rather than the 100 odd in XB, which allows a lot of flexibility. As an example, I did this in 32 character mode; no bitmap: Quote Link to comment Share on other sites More sharing options...
OX. Posted January 4, 2013 Share Posted January 4, 2013 From what I've seen so far, I don't think bitmap graphics are required. TurboForth, TI Forth, and of course Assembly would let you re-define all 256 ASCII characters rather than the 100 odd in XB, which allows a lot of flexibility. As an example, I did this in 32 character mode; no bitmap: http://www.youtube.com/watch?v=bZzq-ebcM80 Willsy, when will we get to play Manic Miner on the TI99? Please make it so Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted January 4, 2013 Share Posted January 4, 2013 I enjoyed playing M.U.L.E. when I had a C64 alongside the TI. It's easy to envision a nice TI version then throw in some optional SID sound/music using Marc's SIDBlaster.... 1 Quote Link to comment Share on other sites More sharing options...
+hloberg Posted January 4, 2013 Author Share Posted January 4, 2013 So far... Not many fans of TI version of C which is too bad as I'm a fairly good C programmer. XB with extensions or XB compiled looks like a possibility. easy to program and fast to test but limited in capability. Straight Assembler (which I know somewhat) would give me the most prototypical like program by accessing all the capabilities of the TI (bit mapped graphics etc..) . But programming time would be long. Still a possibility though. Forth looks like a good balance (fast, easy testing, capable ) with lots of enthusiast. Unfortunately I know less than zilch about the language. If the learning curve isn't too bad maybe that's the way too go. Hum? Quote Link to comment Share on other sites More sharing options...
+hloberg Posted January 4, 2013 Author Share Posted January 4, 2013 Just took a look at the Turbo Forth tutorial. Forth looks a lot like Java (except the RPN stuff ) Java was easy enough to learn. Quote Link to comment Share on other sites More sharing options...
TheMole Posted January 4, 2013 Share Posted January 4, 2013 (edited) Not many fans of TI version of C which is too bad as I'm a fairly good C programmer. The TI version of C (C99) is based on small C, and as such probably more limited than what you would want anyway. That's why I mentioned GCC, it's full C (or theoretically even C++, or any of the other languages gcc supports. Only C has been thouroughly tested on the TI though). Since you say you're a fairly good C programmer with some assembly skills, I would really suggest you go this path if you want to achieve good results quickly. Just to give you an idea, the below game that I'm working on (Alex Kidd clone for my bastardized TI + sega master system VDP) is done completely in GCC (99% C code with some inline assembly). http://www.youtube.com/watch?v=AGOY3sjD4AM The most difficult thing about gcc is probably setting up your toolchain, but there's a thread around here where you can find good step-by-step instructions for windows (I'm a Linux guys, so I can't help you there...), just do a search for gcc on this forum and you should be good to go. Also, try searching for Lucien's sample C applications, he's written some low level libraries to give you access to stuff like sprites and sound without having to go through assembler yourself. Edited January 4, 2013 by TheMole 1 Quote Link to comment Share on other sites More sharing options...
Willsy Posted January 4, 2013 Share Posted January 4, 2013 Just took a look at the Turbo Forth tutorial. Forth looks a lot like Java (except the RPN stuff ) Java was easy enough to learn. Forth is very simple to learn, because it has no syntax at all. Therefore there aren't many/any rules to learn - you can do what you want, how you want. If anything, the obstacle to learning Forth is the stunning simplicity of it. It takes people with previous programming experience some time to adjust to the lack of complexity. They tend to see the lack of complexity as a complexity! There's a certain amount of un-learning one has to do! You have to try it and let it get under your skin a little to know what I mean. Don't discount C entirely; we now have GCC for the TI. As a previous poster mentioned, the only issue is that there are no support libraries; but that would be a goof project in itself - create some support libraries! From what I've seen, GCC now produces excellent assembly output, very efficient. When I talk about the C support libraries, what I mean is, as things currently stand (AFAIK) there are no libraries for things like sprites; you'd have to do it in raw C by poking the VDP via the VDP port - it's just pointer stuff, but a useful sprite(y,x,pattern,color); type C function would be useful. It's just a matter of writing them. Something like MULE might be a bridge too far for you in Forth if you are new to the language; likely you'd get frustrated before you completed it (probably the same with XB too, you'd just get frustrated, it's far too limiting IMHO). If you are interested in Forth, I personally would lower the bar for the first project(s) before diving in with a Forth version of MULE. Just my 2 cents. I'm certain Forth is up to the job though, both TI Forth and TurboForth. Cheers Mark Quote Link to comment Share on other sites More sharing options...
Willsy Posted January 4, 2013 Share Posted January 4, 2013 ...Since you say you're a fairly good C programmer with some assembly skills, I would really suggest you go this path if you want to achieve good results quickly. I'm inclined to agree. Unless the real objective is to learn another language like Forth, where the writing of the game itself is just a means to an end, then play to your strengths and use the language that is most comfortable to you. Until recently I'd have said "no way" to C on a TI - I did a project with C99 and it was like pulling teeth. But GCC is another matter entirely. So, since the game is the end-goal for you, I'd say play to your strengths - do it in C. There's plenty of time to play with Forth and XB! Quote Link to comment Share on other sites More sharing options...
lucien2 Posted January 4, 2013 Share Posted January 4, 2013 (edited) Also JonnyBritish, got a link to that game so I can check it out. Here is the thread. Here is the latest version. When I talk about the C support libraries, what I mean is, as things currently stand (AFAIK) there are no libraries for things like sprites; you'd have to do it in raw C by poking the VDP via the VDP port - it's just pointer stuff, but a useful sprite(y,x,pattern,color); There is a library. Check here "lib.c" and "lib.h" in the NYOG'SOTHEP zip file. I can't say what is the best language for you, but here are the main advantages for each language for me: - Assembly: Small executable size, easy to find your code in the classic99 debugger - Forth: Small executable size, Small source size - GCC: Quick to code, easiest language (for me) The main disadvantages: - Assembly: Source code is big and hard to read - Forth: The stack - GCC: Big executable size, hard to find your code in the classic99 debugger Edited January 4, 2013 by lucien2 Quote Link to comment Share on other sites More sharing options...
+hloberg Posted January 4, 2013 Author Share Posted January 4, 2013 Well this latest info has made the decision for me; GCC. I'm going to research the post on the subject to set it up and try it out. I'm also going to 're-learn' myself TI assembler since C usually needs some assembler routines or two. I will say that I was impressed with what I saw of Forth. It's very much like Java and get the idea that the people who created Java must had some Forth programmers in the fold. Since I enjoy learning new programming languages I'm going to put it in my 'todo' list. thanks to all. HLO Quote Link to comment Share on other sites More sharing options...
Willsy Posted January 4, 2013 Share Posted January 4, 2013 Forth first the light of day in 1970, so it's not new, but I know what you mean If you do develop MULE in C for the TI, open a blog and document what you're doing. Or post here of course. The more TI exposure the better. We might attract a few others to have a go too. Atariage has a blog facility too. I use it for TurboForth, though I need to update it. I'd be really interested to track the development of the code, one way or the other, and I'm sure a few us could chip in with suggestions and words of encouragement. You never know, maybe I'll port the finished game to Forth to see if it can be done! (I'm sure it can). But only after I've finished Manic Miner, otherwise I'll have OX to deal with Quote Link to comment Share on other sites More sharing options...
JonnyBritish Posted January 4, 2013 Share Posted January 4, 2013 Here is the thread with the Forth game in it like advance ars - http://www.atariage.com/forums/topic/207087-coding/ Quote Link to comment Share on other sites More sharing options...
+hloberg Posted January 4, 2013 Author Share Posted January 4, 2013 I'm inclined to agree. Unless the real objective is to learn another language like Forth, where the writing of the game itself is just a means to an end, then play to your strengths and use the language that is most comfortable to you. Until recently I'd have said "no way" to C on a TI - I did a project with C99 and it was like pulling teeth. But GCC is another matter entirely. So, since the game is the end-goal for you, I'd say play to your strengths - do it in C. There's plenty of time to play with Forth and XB! What do you use as an IDE for GCC? I used eclipse and some have recommended code:blocks. Quote Link to comment Share on other sites More sharing options...
TheMole Posted January 5, 2013 Share Posted January 5, 2013 Full IDE integration for cross-platform development is probably not easy to achieve, seeing the relative obscurity of our platform. However, you can ofcourse any code editor that is C syntax aware, notepad++ and the likes would probably do fine. Debugging is done in the emulator of your choice (I hear MESS has good debugging facilities). Quote Link to comment 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.