Jump to content
IGNORED

M.U.L.E. for TI


hloberg

Recommended Posts

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.

Link to comment
Share on other sites

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 :)

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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 by hloberg
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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:

 

Link to comment
Share on other sites

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 ;-)

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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 by TheMole
  • Like 1
Link to comment
Share on other sites

Just took a look at the Turbo Forth tutorial. Forth looks a lot like Java (except the RPN stuff icon_smile.gif )

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

Link to comment
Share on other sites

...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! :D

Link to comment
Share on other sites

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 by lucien2
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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 :-D

Link to comment
Share on other sites

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! :D

What do you use as an IDE for GCC? I used eclipse and some have recommended code:blocks.

Link to comment
Share on other sites

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

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