Jump to content
matthew180

Thoughts about writing a book...

Recommended Posts

I originally posted this in the Assembly Programming thread, but I decided it was too off topic and needed to stay in its own thread, so...

 

My wife thinks I should put all this stuff in a book, and some people here have made that same sentiment. I guess I'm looking for some feedback on the practicality of it all and some positive (or negative) feedback for motivation (or not.)

 

To me, what I am writing is just a digestion and regurgitation of information you can get from other places, and sometimes it feels like a waste. I mean, I cannot possibly give all the details available from a datasheet or Thierry's website, so I don't understand why people don't start there (i.e. reading the information already available.) I guess I'm having a hard time understanding what value I add, and thus it is hard from me to see any reason for going through all the trouble of making an actual book. I mean really, would anyone even read it and use it, let alone consider paying for it? And I can't really see my book on Amazon next to the latest OO language books and whatnot.

 

Anyway, I know this is a little off topic, and I will get back to the programming stuff soon. I just wanted to get some reactions from the community. I only ask that, if you do reply, be totally honest and don't fluff anything up. You won't hurt my feelings. :-)

 

Matthew

Share this post


Link to post
Share on other sites

Well hey--- I have learned a ton from what you've written... You describe this stuff in a way a datasheet cannot. I love reading your posts and I especially enjoy them when they apply directly to my own circumstances--- many of your posts and contributions have. For that I am very appreciative. As far as a book goes... I am all about it. I learn by real-life examples and good analogies... The "Starting Forth" book is un-freaking-believable for that kind of teaching. Leo Brodie taught me Forth in about 2 days and I'm able to do some Forth programming just off reading the book and that language makes more sense to me than any other language out there, simply because of it's architecture and how it was explained. A book that details real-life examples and focused analogies for programming is a book I'd buy. Your explanations and descriptions here are quite good and helpful.... Would I buy your book? Yes.

Share this post


Link to post
Share on other sites

I can understand your indecision, but you seem to have a talent for technical writing. Also, consider the number of views of your assembly thread. For each reply, there are almost ten views, which is pretty good considering the size of the TI assembly crowd.

 

I say, if this is something you would enjoy doing, go for it. Even if there aren't millions of copies waiting to be sold, you would have the satisfaction of pointing at YOUR book on the shelf at the end of the day, and may inspire TI Basic programmers to get to know their machine a bit better.

Share this post


Link to post
Share on other sites

I don't know the costs of going to print. The number of potential buyers are pretty limited. It would be nice to have an actual book instead of a PDF or website. Printing a PDF oneself doesn't do it for me. I think you should find out how much it would cost you, and limit the number to about 200 copies.

 

I think there is indeed a need for a book on the TI-99/4A, assembly programming, demo and game creation. Instead of just going through the architecture, CPU, VDP, Sound, IO and Speech, I would rather after a smaller introduction and set up of environment (emulator, tools etc.), have each chapter as hands on adding stuff doing small demos and mini games. Eventual doing Egg Cannon, Lunar Lander, Breakout, Asteroids, Platform, Space Invaders and Zelda. Maybe chapters like this ...

 

1. The TI-99/4A

2. Programming foundations

3. Objects

4. Decision making

5. Collision detection

6. Game design

7. Dungeons

7. Platforms

8. Shooters

9. Intelligence

 

Maybe you could write small snippets in different threads (one at a time). Having people comment and actually influence the direction. Later using the threads as basis of chapters. And maybe go about it from the ground up, though the book might go the other way around (from up in the air with fluffy white clouds to start with). Personally I usually have an endless string of ideas for small demos and tricks, so I should be able to give you some goals, and the reader will be able to make some relatively amazing stuff from the word go.

 

From what I've seen you're an excellent writer. Spice it up with some graphics (inline drawings). I know we are quite a few who can help you out there. And you did an excellent job, when you took my Strawberry 0.2 demo. Feel free to wander though my old demos (link below), and take what you want. We'll all spice it up together. Though maybe trying to be minimalistic about it.

 

And don't worry about the time frame. The book may take a year or five. It's gotta be fun.

 

:cool:

Edited by sometimes99er
  • Like 1

Share this post


Link to post
Share on other sites

I'd say go for it Matthew!

I would certainly buy the book. You could also offer a PDF version for sale.

Personally I like having both. I have my TI library with me on a USB stick.

Share this post


Link to post
Share on other sites

I would say make it a focused book (Assembly for TI-99/4A & ColecoVision Games, say, or anything that shares similar architecture). It might seem at first that a niche book would limit the audience, whereas a larger one would appeal to more people (Programming In Assembly), but there are literally hundreds of the broad ones and your niche book could be the only one.

 

As for printing, sell it through a Publishing-On-Demand site like Lulu, BookSurge, or Lightning Source. That way you don't have to purchase a print run in advance, it's done whenever someone orders. I've bought a number of books from Lulu and they are good quality, plus they have a book store built right into their site to promote and retail your own work.

Share this post


Link to post
Share on other sites

Thanks everyone for the feedback! I'm going to consider this more seriously now I think. As for publishing, I already have a Lulu account (but I will also check out those others) and there is also a new small business in my town which happens to be a small book publisher! I'm not quite sure what they offer over a service like Lulu however, or how they can even compete with the self-publishing services? But, I have to write the book before I worry about printing / publishing. :-) I do like writing and teaching lately, however the motivation comes from people finding the information helpful and of value. That's why feedback from everyone here is so important to me.

 

I've been programming since 1983, and professionally (getting paid for it) since 1994, and I'm really bored with modern computers and languages. Nothing is more fun to me than hacking something out in 9900 assembly, however I have not figured out how I can make a living doing retro-computer programming. Maybe a book is a step in that direction.

 

Matthew

Share this post


Link to post
Share on other sites

I originally posted this in the Assembly Programming thread, but I decided it was too off topic and needed to stay in its own thread, so...

 

My wife thinks I should put all this stuff in a book, and some people here have made that same sentiment. I guess I'm looking for some feedback on the practicality of it all and some positive (or negative) feedback for motivation (or not.)

 

To me, what I am writing is just a digestion and regurgitation of information you can get from other places, and sometimes it feels like a waste. I mean, I cannot possibly give all the details available from a datasheet or Thierry's website, so I don't understand why people don't start there (i.e. reading the information already available.) I guess I'm having a hard time understanding what value I add, and thus it is hard from me to see any reason for going through all the trouble of making an actual book. I mean really, would anyone even read it and use it, let alone consider paying for it? And I can't really see my book on Amazon next to the latest OO language books and whatnot.

 

Anyway, I know this is a little off topic, and I will get back to the programming stuff soon. I just wanted to get some reactions from the community. I only ask that, if you do reply, be totally honest and don't fluff anything up. You won't hurt my feelings. :-)

 

Matthew

 

I think that is a great idea. What I would have liked to have seen a few years ago when I was trying to learn this mumbo jumbo was not only an introduction to TI E/A but also a general assembly tutorial using 9900 speak. It's difficult enough teaching yourself Assembler and even more difficult if you don't have anything to compare it to. I bet there are a lot of people in that boat. They would like to learn to make the TI jump through hoops but they can't because they don't know any assembly language much less an obscure one like ours...

 

It appears you already have a bunch of editors so get crackin ;-)

Share this post


Link to post
Share on other sites

Please reserve a copy for me! You have a very easy style to read and I have thoroughly enjoyed your assembly tutorials so far. Kind of reminds me a bit of Bruce Harrison's (RIP) Art of Assembly series.

Edited by Vorticon

Share this post


Link to post
Share on other sites

I've actually considered a project along similar lines myself, though not for the 99/4A.

 

I think a book like the one you've described is long overdue, so I definitely think you should pursue it. The raw data might be available elsewhere, but there is added value in bringing it together, filling in the gaps, and explaining it all for audiences who are not accustomed to reading data sheets or interacting with hardware at a low level. That includes technically inclined people who are not schooled engineers or software developers, and I would also say that it includes more recent computer science graduates, who have been trained only in high-level languages and who might need some extra help to learn to "think in assembly."

 

One recommendation I would make is to include coverage of programming for the 99/4A both on the actual hardware and through emulation. This would broaden the audience for the book beyond hardcore 99/4A enthusiasts, making it marketable to people who may not even own a 99/4A but who love classic games and are interested in developing their own, but who have not yet decided on a platform. At the moment, most of those people seem to gravitate toward the Atari 2600 and batari Basic, and while I don't want to demean their efforts, I think a book like yours would offer a superior alternative: it would help them overcome the notion that assembly is "too hard," and it would give them knowledge and skills that (unlike batari Basic) are also transferable to other platforms.

 

If nothing else, a project of this kind is a valuable learning experience for the author (and I'm not referring only to the OP here, but to anyone else who might be interested in writing their own book or tutorial). With each new concept that I've learned in my own exploration of assembly-language programming, I've always asked myself how I would explain it to someone else, and that inevitably leads me to ask many more questions than I might have asked if I was only interested in solving my own immediate problem. I'm sure I'll learn even more when I finally get around to writing about it.

 

(As an aside: Like you, I'm bored with modern high-level languages like Visual Basic. They're great if you need a quick and easy way to slap together payroll applications at work, but for recreational programming, they're completely without sex appeal for me. I haven't done any programming for the 99/4A since my childhood experimentation with TI BASIC, but I dearly love the machine and am delighted to see so much interest in developing for it.)

Share this post


Link to post
Share on other sites

One important topic that should be covered in the book - at least in my opinion ;) - is how to debug assembly language programs.

This should cover debugging tricks/techniques and the tools involved. Especially thinking about emulators (classic99, MESS) and their built-in debuggers.

Share this post


Link to post
Share on other sites

and I would also say that it includes more recent computer science graduates, who have been trained only in high-level languages and who might need some extra help to learn to "think in assembly."

 

Very true, however I find that those students then have a mindset for just plugging modules together and that memory and CPU speed are unlimited. Personally I have never met anyone in college (or just out of college) who thinks assembly is even worth learning to any degree.

 

One recommendation I would make is to include coverage of programming for the 99/4A both on the actual hardware and through emulation.

 

Absolutely! I do all of my coding on a PC and test on the Classic99 emulator. After things are working, I then copy the code to my real TI for the final tests.

 

If nothing else, a project of this kind is a valuable learning experience for the author (and I'm not referring only to the OP here, but to anyone else who might be interested in writing their own book or tutorial). With each new concept that I've learned in my own exploration of assembly-language programming, I've always asked myself how I would explain it to someone else, and that inevitably leads me to ask many more questions than I might have asked if I was only interested in solving my own immediate problem.

 

Definitely! That is probably why I'm so attracted to teaching lately. As you said, you learn more by teaching than anything else.

 

(As an aside: Like you, I'm bored with modern high-level languages like Visual Basic. They're great if you need a quick and easy way to slap together payroll applications at work, but for recreational programming, they're completely without sex appeal for me. I haven't done any programming for the 99/4A since my childhood experimentation with TI BASIC, but I dearly love the machine and am delighted to see so much interest in developing for it.)

 

I guess more people lurk on this forum than I thought. I always had the feeling that the TI was over shadowed by the other computers of the time and no one really payed any attention to us down here. Thanks for the feedback! So when can we expect to see some new TI programs from you? :-)

 

Matthew

Share this post


Link to post
Share on other sites

One important topic that should be covered in the book - at least in my opinion ;) - is how to debug assembly language programs.

This should cover debugging tricks/techniques and the tools involved. Especially thinking about emulators (classic99, MESS) and their built-in debuggers.

 

I'm planning on it, although it won't be a focus. I'm also going to have to see if Tursi will make some additions to Classic99's debug mode. :-)

 

Matthew

Share this post


Link to post
Share on other sites
Very true, however I find that those students then have a mindset for just plugging modules together and that memory and CPU speed are unlimited. Personally I have never met anyone in college (or just out of college) who thinks assembly is even worth learning to any degree.

Only too true. People from that kind of background are trained to think about programming at a very high level of abstraction. They often aren't used to the kind of careful resource management that is often required on classic systems: counting cycles, keeping track of memory, efficiently using registers, etc. Even pointers and recursion aren't discussed very much any more in many undergrad computer science programs. These are the kinds of things I meant by "thinking in assembly."

 

I certainly wouldn't expect you to write a computer science textbook, but ideally, a book of this kind would include some discussion of these topics, as well as some discussion of code optimization techniques (or perhaps a reference to a good book on algorithm design and analysis for those who are serious about pursuing it further), since many prospective homebrewers might not be familiar with them. I think you've done a good job with the tutorials you've written so far.

 

I guess more people lurk on this forum than I thought. I always had the feeling that the TI was over shadowed by the other computers of the time and no one really payed any attention to us down here. Thanks for the feedback! So when can we expect to see some new TI programs from you? :-)

Someday. I've got some other stuff I need to get out of the way first, but it's definitely on my list. The 99/4A was my first computer and I'd like to do at least one game for it. I have to finish up some Aquarius projects first, and then I need to finally do an Atari 7800 game (I bought a whole truckload of 7800 cartridges to use as donors and I've got to do something with them!), but after all that's squared away, I'll be thinking seriously about the 99/4A. I've got a copy of Editor/Assembler and a good collection of hardware waiting.

Share this post


Link to post
Share on other sites

Thank you everyone for the feedback.

 

I have decided to go ahead and give it a shot. I have no idea right now about the time frame, but I plan to try and work on it in small regular intervals, like 1 hour a day or something like that. That way the information stays fresh and I have a real chance at actually finishing the project.

 

I'll post progress from time to time, and once I get enough of a rough draft done I'll certainly be looking for a few "beta testers". :-)

 

Matthew

Share this post


Link to post
Share on other sites

I'll buy it b/c I think it'll be awesome for the community... Not sure I'd ever get to the nitty gritty, but you'd at least get my $ :)

Share this post


Link to post
Share on other sites

Thank you everyone for the feedback.

 

I have decided to go ahead and give it a shot. I have no idea right now about the time frame, but I plan to try and work on it in small regular intervals, like 1 hour a day or something like that. That way the information stays fresh and I have a real chance at actually finishing the project.

 

I'll post progress from time to time, and once I get enough of a rough draft done I'll certainly be looking for a few "beta testers". :-)

 

Matthew

 

AWESOME !!!

A few thoughts for you on your journey...

-Post your intended chapter index so you can get feedback from forum members. (helps create community and interest around your work too! ...and keeps you motivated too!)

-Once you are working on a chapter, post the "next" chapter to the forum so you can collect additional feedback on what people are interested/excited about in that chapter.

-Publish it chapter by chapter (as an ebook anyway). That could help you with cash flow and get a feel for the demand.

-Don't be afraid to publish separate addendum's to the chapters. For example, you get an idea for a better example or someone suggests something you missed.

-If at all possible, have your examples build on each other.

-Challenge your readers to enter a mini-game competition. Show the whole retro community what our TI-99/4a's are made of !!

 

That's all the thoughts I have for now.

Good luck to you !!

 

TheJ

Share this post


Link to post
Share on other sites

Hi Matthew,

 

if you are still pursuing the idea aof writing a book on TMS9900 assembly language, then

I'd love to see a section dealing with file access and the subroutines and memory structures involved (DSRLNK, PABs, ...) :)

 

There's barely any information available on that topic, at least I couldn't find any :?

Share this post


Link to post
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...