Jump to content
IGNORED

Tutorials


matthew180

Recommended Posts

Excellent work! I will add a reference in the development resources thread. :)

 

I'd really love to see a PDF scan for Compute's Beginners guide to assembly language on the TI-99/4A.

 

The hard-copy of the book is pretty hard to get by now and there are close to none good beginner tutorials on TMS9900 assembly language available.

 

Although I'm not so impressed with the book now, it is the book that opened the door of 9900 assembly to me and made it possible for me to make working programs; so for that I will always give it due credit (and I will not give up the copy I have had since 1984.)

 

As for beginner tutorials, I am willing to write some (I have already started, although it is panning out to be more of a book than individual tutorials.) However, instead of trying to guess what to write, if anyone has something they would like to see in the way of a tutorial, please post it here and I (or anyone else who is interested) will try to write it up. If you plan on making a request, please be somewhat specific, since "how do I write a game in 9900 assembly" is not a tutorial.

 

Matthew

Link to comment
Share on other sites

Although I'm not so impressed with the book now, it is the book that opened the door of 9900 assembly to me and made it possible for me to make working programs; so for that I will always give it due credit (and I will not give up the copy I have had since 1984.)

 

As for beginner tutorials, I am willing to write some (I have already started, although it is panning out to be more of a book than individual tutorials.) However, instead of trying to guess what to write, if anyone has something they would like to see in the way of a tutorial, please post it here and I (or anyone else who is interested) will try to write it up. If you plan on making a request, please be somewhat specific, since "how do I write a game in 9900 assembly" is not a tutorial.

 

Funny, I was just thinking it would be neat to write an actual "Guide to Writing Games in Assembly Language on the TI-99/4a". Maybe even give it a mock-up Compute! cover. :)

 

Adamantyr

Link to comment
Share on other sites

I'd like to see a tutorial on getting started with the CF7+. I have not tried yet - I'm waiting on my Extended BASIC to come. The others here have been extremely helpful, and the "CF7 Man" sent me some ZIPs. Still, this would make a nice tutorial if someone's wanting to make one.

 

Maybe it's not the type of tutorial you had in mind, but thought I'd throw it out there.

Link to comment
Share on other sites

Excellent work! I will add a reference in the development resources thread. :)

 

I'd really love to see a PDF scan for Compute's Beginners guide to assembly language on the TI-99/4A.

 

The hard-copy of the book is pretty hard to get by now and there are close to none good beginner tutorials on TMS9900 assembly language available.

 

Although I'm not so impressed with the book now, it is the book that opened the door of 9900 assembly to me and made it possible for me to make working programs; so for that I will always give it due credit (and I will not give up the copy I have had since 1984.)

 

As for beginner tutorials, I am willing to write some (I have already started, although it is panning out to be more of a book than individual tutorials.) However, instead of trying to guess what to write, if anyone has something they would like to see in the way of a tutorial, please post it here and I (or anyone else who is interested) will try to write it up. If you plan on making a request, please be somewhat specific, since "how do I write a game in 9900 assembly" is not a tutorial.

 

Matthew

 

Well reading your posts about the assembly language sound player, I'd say you have a clear, precise and interesting way to describe stuff.

I'd love to see you write a full tutorial (book) on "how do I write a game in 9900 assembly" :D

 

Seriously, something in the line of the Lottrup book, but updated and addressing todays' needs.

I don't think we have homebrewers who want to code using the mini memory line-by-line assembler ;)

 

Perhaps a tutorial focusing on coders from other retro gaming platforms (atari 2600, 7800, colecovision, ...) who

already know how to program assembler.

 

Here are some of the topics I can think about (in no particular order)

 

1. Short introduction on TMS9900 CPU (register usage, TI memory architecture) and cross-assemblers targeting the TMS9900.

2. How do I communicate with the VDP processor (VDP memory, graphic modes, SAT, color tables, pattern tables, ...)

3. How to setup sprites in assembly language, how to move them without using ISR routine.

4. Collision detection for sprites without using ISR routine.

5. How do I play a sound or tune.

6. How do I read the keyboard and joysticks

7. How to use the speech synthesizer in assembler

8. How to deal with 256 bytes of scratch pad memory

9. How to setup a game loop (or basic task scheduler)

10. Format of the cartridge header

11. What is bank-switching, how do I use it (trampoline code in scratchpad, jump tables in each bank, ...)

12. Debugging tricks, how to test using MESS debugger and classic99 debugger.

How to test on the TI-99/4A using a 8K supercart.

 

It would be great that, after reading the book, the future homebrewer has a good overview on how to write a (bank-switched) game running from the cartridge space :)

Link to comment
Share on other sites

Funny, I was just thinking it would be neat to write an actual "Guide to Writing Games in Assembly Language on the TI-99/4a". Maybe even give it a mock-up Compute! cover. :)

 

Adamantyr

 

I agree, however, a book takes longer to get into people's hands than well focused tutorials. I learned long ago that getting smaller projects done and delivered is better than a uber-project that never gets completed.

 

The problem I started running in to with my book was that when explaining one topic, I realized I needed to provide the background for something I was talking about. It is really hard to do if you assume your reader has little to no understanding or experience with low level languages.

 

Matthew

Link to comment
Share on other sites

The problem I started running in to with my book was that when explaining one topic, I realized I needed to provide the background for something I was talking about. It is really hard to do if you assume your reader has little to no understanding or experience with low level languages.

 

Agree, that is why I was thinking of a tutorial for homebrewers who already have programmed assembly language on other retro systems. ;)

Link to comment
Share on other sites

retroclouds, that is a good list and I can get started on some of those right away. I only need to know these things:

 

* What level of understanding should I assume the reader has?

 

* What level of detail do I need to go down to?

 

The book I started is *very* detailed and is taking a long time because of that. I think too much detail can sometimes be distracting, and the reader needs to get the intimate knowledge over time. To me, Lottrup's book sacrifices a lot of the low level stuff (even though you are still using assembly in his book), and you can get the wrong idea about what is still really going on. However, the book is not very long and the task very large, so to that I think he did very well since the title does start with "beginner's guide".

 

Matthew

Link to comment
Share on other sites

retroclouds, that is a good list and I can get started on some of those right away. I only need to know these things:

 

* What level of understanding should I assume the reader has?

 

* What level of detail do I need to go down to?

Matthew

 

* What level of understanding should I assume the reader has?

I'd say the reader should already have some assembly language experience on other retro console/computer systems.

 

* What level of detail do I need to go down to?

Tough question. Perhaps it would be good to release intermediate versions of the articles and get feedback from the audience.

That way you'd get a feeling where the attention needs to go to.

 

Good luck! :)

Link to comment
Share on other sites

I agree, however, a book takes longer to get into people's hands than well focused tutorials. I learned long ago that getting smaller projects done and delivered is better than a uber-project that never gets completed.

 

The problem I started running in to with my book was that when explaining one topic, I realized I needed to provide the background for something I was talking about. It is really hard to do if you assume your reader has little to no understanding or experience with low level languages.

 

It's a matter of what you're focusing on, I think, coding or game design.

 

In my mind, the target audience is someone who's done a lot of game programming in TI Basic and TI Extended Basic and wants to try out assembly. So their main goal is to be able to do everything they could do IN Basic. I'd focus on using the Editor/Assembler as the chief platform, and NOT doing Basic/Assembly cross-over. I have heard that many 99'ers learned assembly this way, but my experience with it was it was a very advanced topic and not suitable as a starting point.

 

As an example, a TI Basic programmer would want to know how to do random numbers. They've had this ability easily through the RND value. A tutorial of dry pseudo-random theory and implementation is interesting to someone wanting to write a better random number generator, but just confusing and scary to this audience. "I just want random numbers!" They will cry. So it's better to give a short explanation that random numbers are not really random, a simple routine that just does a base add on a stored memory value, explain how it works, then how to make it a bit better.

 

That's also how a lot of game designers are as well. Their head is in the clouds on what they want to accomplish in the game. HOW they do it in code isn't always as interesting or relevant. You can always go back and re-engineer a routine to be more optimal, more efficient, and more clever. I'd definitely devote a chapter or even a third of the book to "game design", because a lot of it is way beyond just knowing how to code.

 

Adamantyr

Link to comment
Share on other sites

In my mind, the target audience is someone who's done a lot of game programming in TI Basic and TI Extended Basic and wants to try out assembly. So their main goal is to be able to do everything they could do IN Basic. I'd focus on using the Editor/Assembler as the chief platform, and NOT doing Basic/Assembly cross-over. I have heard that many 99'ers learned assembly this way, but my experience with it was it was a very advanced topic and not suitable as a starting point.

 

Agreed. The assembly + Extended BASIC is a terrible way to learn assembly. This is mostly due to having to know all the details about how BASIC does *everything* so you don't trip over it.

 

As an example, a TI Basic programmer would want to know how to do random numbers. They've had this ability easily through the RND value. A tutorial of dry pseudo-random theory and implementation is interesting to someone wanting to write a better random number generator, but just confusing and scary to this audience. "I just want random numbers!" They will cry. So it's better to give a short explanation that random numbers are not really random, a simple routine that just does a base add on a stored memory value, explain how it works, then how to make it a bit better.

 

Agreed. I was the same way, especially when I needed a good random number in assembly. :-)

 

Matthew

Link to comment
Share on other sites

I was going to keep this quiet for a little longer, but this thread is prompting me to speak up. I'm working in an XB tutorial book right now. I will hopefully release it at this year's Faire--- what I've decided

to do to make this "unique" is add a CD to the package including all the sample programs, a few complete games, utilities, etc. The book will follow the following format:

 

*Chapter intro: written by a knowledgable TIer concerning the chapter subject matter

*Explanation of terms covered in the chapter and where to look in the XB manual

*Example program listings with reference to the CD

*Chapter wrap up/workbook problems

 

 

The CD will also include pictures, tutorial videos with explanations of what the computer is doing.

 

This was kind of "under-wraps" but I think the modernization of these methods with the CD and interactive video/pictures is a good way to think about this current project you all are discussing.

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