Subject: Tunnels of Doom (A/L)?

From: "opry99er" <[email-masked]>
Date: Tue, 03 Nov 2009 01:06:50 -0000

I have started typing in Tombstone City into Classic99 using my neighbors laptop...(he is out of town and allowed me to borrow it).   It (of course) is the "sample" program which was inexplicably included in the back of the EA binder.  From my understanding, this was the first TI sanctioned game program written on an actual TI and not on the Texas Instruments mini computer.  I was visiting Walid's "TI Gameshelf" and noticed that Tunnels of Doom was listed under the Assembly section of his page.  Was this program ALSO written in A/L?  If so, is there a full source listing available for it?  

Owen

---

From: ti99_forever <[email-masked]>
Date: Mon, 2 Nov 2009 23:24:18 -0800 (PST)

Isn't the Tombstone City source code available on the Editor Aseembler disks? Why are you typing it?

As for TOD, it was heavily GPL. An example of what can really be done with GPL. GPL isn't the crap everybody would want you to think it is. It just isn't assembly. Nothing is...

--- On Mon, 11/2/09, opry99er <[email-masked]> wrote:

From: opry99er <[email-masked]>
Subject: [TI994A] Tunnels of Doom (A/L)?
To: [email-masked]
Date: Monday, November 2, 2009, 8:06 PM

    

Owen

---

From: mark wills <[email-masked]>
Date: Mon, 2 Nov 2009 23:42:34 -0800 (PST)

Indeed. GPL is very powerful. It's just not that quick.

Probably the nearest analog in modern computing terms would be the BIOS. GPL could be thought of as a kind of BIOS - calls into the system, and the hard work is done for you. XMLLNK is another BIOS call, similar I guess to RST in Z80 or TRAP in 68K. They call routines in ROM, which are designed to abstract the hardware away from the programmer (allowing TI some room to manouvere with design changes etc).

I've been looking at Atari ST assembly lately (a book I found, so I took it to the toilet - good toilet read). It's all loading the stack with parameters and TRAP xxxx to call a routine in ROM. You never access the hardware yourself (in a well behaved program) because you couldn't be sure (at the time) that the hardware would be at the same addresses in memory as different models were released.

>
>From: ti99_forever <[email-masked]>
>Sent: Tue, 3 November, 2009 8:24:18
>Subject: Re: [TI994A] Tunnels of Doom (A/L)?
>
> >
>
>
>
>  
>--- On Mon, 11/2/09, opry99er <owenbrand@opry99er. com> wrote:
>
>
>>From: opry99er <owenbrand@opry99er. com>
>>To: TI994A@yahoogroups. com

---

From: ti99_forever <[email-masked]>
Date: Mon, 2 Nov 2009 23:46:34 -0800 (PST)

That is the purpose of XMLLNK, GPLLNK and the "codes" you pass to them. They can be table pointer/offset etc. You generally don't actually pass an address to the routine.

I kind of miss XOP, this is more like an RST or an interrupt on 8086, but TI put ROM there and only 1-3 vectors are usable. XOP is what the Geneve uses.

And I really need to put a magazine rack into my bathroom. Tired of my books falling into the tub or behind the toilet... ;)

Better than IN the toilet, I guess!

--- On Tue, 11/3/09, mark wills <[email-masked]> wrote:

From: mark wills <[email-masked]>
Subject: Re: [TI994A] Tunnels of Doom (A/L)?
To: [email-masked]
Date: Tuesday, November 3, 2009, 2:42 AM

    

I've been looking at Atari ST assembly lately (a book I found, so I took it to the toilet - good toilet read). It's all loading the stack with parameters and TRAP xxxx to call a routine in ROM. You never access the hardware yourself (in a well behaved program) because you couldn't be sure (at the time) that the hardware would
 be at the same addresses in memory as different models were released.

From: ti99_forever <ti99_forever@ yahoo.com>
To: TI994A@yahoogroups. com
Sent: Tue, 3 November, 2009 8:24:18
Subject: Re: [TI994A] Tunnels of Doom (A/L)?

 

Owen

---

From: Owen Brand <[email-masked]>
Date: Tue, 3 Nov 2009 06:16:50 -0500

Sorry...  I am typing it, dear friend, for the same reason I typed in  
Marks SPRDEF and just about all the stuff I learned in XB as I was  
exploring the language...  It's there, and typing, for me, gives me a  
chance to get a feel for every line and every statement.  Essentially  
it is a tutorial in and oc ifself.  HOWEVER, while this was very true  
in XB... It makes absolutely NO sense in this Greek of Assembly.  :).  
This is a whole different ballgame, my friend.  Maybe I am just  
wasting time here.

Owen Brand
**Oprysoft**
Opry99er.com

On Nov 3, 2009, at 2:24 AM, ti99_forever <[email-masked]> wrote:

> As for TOD, it was heavily GPL. An example of what can really be  
> done with GPL. GPL isn't the crap everybody would want you to think  
> it is. It just isn't assembly. Nothing is...
>
> I have started typing in Tombstone City into Classic99 using my  
> neighbors laptop...(he is out of town and allowed me to borrow it).  
> It (of course) is the "sample" program which was inexplicably  
> included in the back of the EA binder. From my understanding, this  
> was the first TI sanctioned game program written on an actual TI and  
> not on the Texas Instruments mini computer. I was visiting Walid's  
> "TI Gameshelf" and noticed that Tunnels of Doom was listed under the  
> Assembly section of his page. Was this program ALSO written in A/L?  
> If so, is there a full source listing available for it?
>
> Owen
>
>
>

---

From: Owen Brand <[email-masked]>
Date: Tue, 3 Nov 2009 06:10:39 -0500

The same reason
> Why are you typing it?

---

From: ti99_forever <[email-masked]>
Date: Tue, 3 Nov 2009 03:24:54 -0800 (PST)

Ok, I get you. I'm like that, I learn better by writing notes, even though the prof. has slides.
But re-keying assembly may not help - hard to explain, but I can look at various assembly programs and wonder "what the heck were they doing". Forth is the same way for me.

--- On Tue, 11/3/09, Owen Brand <[email-masked]> wrote:

From: Owen Brand <[email-masked]>
Subject: Re: [TI994A] Tunnels of Doom (A/L)?
To: "[email-masked]" <[email-masked]>
Date: Tuesday, November 3, 2009, 6:16 AM

    
                  Sorry...  I am typing it, dear friend, for the same reason I typed in Marks SPRDEF and just about all the stuff I learned in XB as I was exploring the language...  It's there, and typing, for me, gives me a chance to get a feel for every line and every statement.  Essentially it is a tutorial in and oc ifself.  HOWEVER, while this was very true in XB... It makes absolutely NO sense in this Greek of Assembly.  :). This is a whole different ballgame, my friend.  Maybe I am just wasting time here.   

Owen Brand**Oprysoft**Opry99er.com
On Nov 3, 2009, at 2:24 AM, ti99_forever <ti99_forever@ yahoo.com> wrote:

 

Owen

---

From: mark wills <[email-masked]>
Date: Tue, 3 Nov 2009 03:39:48 -0800 (PST)

Yeah, I still say start reading Lottrup's book. You'll be there in no time and you won't touch XB again.

Assembly coding on the TI is *so* simple, I think everyone should learn it. I think for it's day, the 4A easily had the best assembly coding environment for any of the home computers. Only the Atari 800 had anything anywhere near it. Other machines consisted of 'monitor' type programs where you entered code directly into memory, and then saved it to cassette. There was no source code. You dumped memory to tape, and the only time you could see the source was if you reloaded it back into memory, and dissasembled it to screen. No concept of seperate source and object files. I remember the pain of writing Z80 on the Sinclair ZX Spectrum. (Now's there's a bitch of an instruction set!) The TI had a mini type approach.

Very nice

>Sent: Tue, 3 November, 2009 12:24:54
>--- On Tue, 11/3/09, Owen Brand <owenbrand@opry99er. com> wrote:
>
>
>>From: Owen Brand <owenbrand@opry99er. com>
>>To: "TI994A@yahoogroups .com" <TI994A@yahoogroups. com>

---

From: Owen Brand <[email-masked]>
Date: Tue, 3 Nov 2009 06:51:53 -0500

Mark, DL my Lemonade Stand game from my site and run it in Classic99.   
The first DL option on the site is for a zip file containing the  
source, object, and program files individually. Just dump 'em into  
DSK1 of Classic99...  Once you've played for a few minutes, break out  
and LIST the XB program.  This is the reason I want to learn A/L.
NUM 10,10
Last line of code??  3640 (or something like that)

Owen Brand
**Oprysoft**
Opry99er.com

On Nov 3, 2009, at 6:39 AM, mark wills <[email-masked]>  
wrote:

> Assembly coding on the TI is *so* simple, I think everyone should  
> learn it. I think for it's day, the 4A easily had the best assembly  
> coding environment for any of the home computers. Only the Atari 800  
> had anything anywhere near it. Other machines consisted of 'monitor'  
> type programs where you entered code directly into memory, and then  
> saved it to cassette. There was no source code. You dumped memory to  
> tape, and the only time you could see the source was if you reloaded  
> it back into memory, and dissasembled it to screen. No concept of  
> seperate source and object files. I remember the pain of writing Z80  
> on the Sinclair ZX Spectrum. (Now's there's a bitch of an  
> instruction set!) The  TI had a mini type approach.
>
> Very nice
>
>
>
>
> But re-keying assembly may not help - hard to explain, but I can  
> look at various assembly programs and wonder "what the heck were  
> they doing". Forth is the same way for me.
>
> Sorry...  I am typing it, dear friend, for the same reason I typed  
> in Marks SPRDEF and just about all the stuff I learned in XB as I  
> was exploring the language...  It's there, and typing, for me, gives  
> me a chance to get a feel for every line and every statement.   
> Essentially it is a tutorial in and oc ifself.  HOWEVER, while this  
> was very true in XB... It makes absolutely NO sense in this Greek of  
> Assembly.  :). This is a whole different ballgame, my friend.  Maybe  
> I am just wasting time here.
>
> Owen Brand
> **Oprysoft**
> Opry99er.com
>
>> was the first TI sanctioned game program written on an actual TI  
>> and not on the Texas Instruments mini computer. I was visiting  
>> Walid's "TI Gameshelf" and noticed that Tunnels of Doom was listed  
>> under the Assembly section of his page. Was this program ALSO  
>> written in A/L? If so, is there a full source listing available for  
>> it?
>>
>> Owen
>>
>>
>
>

---

From: mark wills <[email-masked]>
Date: Tue, 3 Nov 2009 04:20:07 -0800 (PST)

Well, assembly language is very easy. Here is a little program to fill the screen with * characters

 LI R0,0 ; LOAD REGISTER 0 WITH SCREEN START ADDRESS
 LI R1,42*256 ; CODE FOR * CHARACTER
 LI R2,768 ; 768 CHARACTERS TO WRITE TO SCREEN (24x32)
LOOP
 BLWP @VSBW ; CALL VDP SINGLE BYTE WRITE ROUTINE (WRITES * TO SCREEN ADDRESS)
 INC R0 ; INCREMENT SCREEN ADDRESS IN REGISTER 0
 DEC R2 ; DECREMENT COUNTER IN REGISTER 2
 JNE LOOP ; HAVE WE FINISHED (ZERO FLAG IN STATUS REGISTER SET?) IF NOT, JUMP TO LOOP
 RT ; RETURN TO ROUTINE THAT CALLED US (RETURN TO EDITOR ASSEMBLER)

The BASIC equivalent would be something like this:

10 R0=0 ! LI R0,0
20 R1=42 ! LI R1,42*256
30 R2=768 ! LI R2,768
40 CALL POKEV(R0,R1) ! BLWP @VSBW
50 R0=R0+1 ! INC R0
60 R2=R2-1 ! DEC R2
70 IF R2>0 THEN 40 ! JNE LOOP

Dunnah!

>Sent: Tue, 3 November, 2009 12:51:53
>Mark, DL my Lemonade Stand game from my site and run it in Classic99.  The first DL option on the site is for a zip file containing the source, object, and program files individually. Just dump 'em into DSK1 of Classic99...  Once you've played for a few minutes, break out and LIST the XB program.  This is the reason I want to learn A/L. 
>NUM 10,10
>On Nov 3, 2009, at 6:39 AM, mark wills <markrobertwills@ yahoo.co. uk> wrote:
>
>
>>>
>>
>>  >>

---

From: Owen Brand <[email-masked]>
Date: Tue, 3 Nov 2009 07:59:26 -0500

Owen Brand
**Oprysoft**
Opry99er.com

On Nov 3, 2009, at 7:20 AM, mark wills <[email-masked]>  
wrote:

> Mark, DL my Lemonade Stand game from my site and run it in  
> Classic99.  The first DL option on the site is for a zip file  
> containing the source, object, and program files individually. Just  
> dump 'em into DSK1 of Classic99...  Once you've played for a few  
> minutes, break out and LIST the XB program.  This is the reason I  
> want to learn A/L.
> NUM 10,10
>> coding environment for any of the home computers. Only the Atari  
>> 800 had anything anywhere near it. Other machines consisted of  
>> 'monitor' type programs where you entered code directly into  
>> memory, and then saved it to cassette. There was no source code.  
>> You dumped memory to tape, and the only time you could see the  
>> source was if you reloaded it back into memory, and dissasembled it  
>> to screen. No concept of seperate source and object files. I  
>> remember the pain of writing Z80 on the Sinclair ZX Spectrum.  
>> (Now's there's a bitch of an instruction set!) The TI had a mini  
>> type approach.
>>
>> Very nice
>>
>>
>>
>>
>> was exploring the language...  It's there, and typing, for me,  
>> gives me a chance to get a feel for every line and every  
>> statement.  Essentially it is a tutorial in and oc ifself.   
>> HOWEVER, while this was very true in XB... It makes absolutely NO  
>> sense in this Greek of Assembly.  :). This is a whole different  
>> ballgame, my friend.  Maybe I am just wasting time here.
>>
>> Owen Brand
>> **Oprysoft**
>> Opry99er.com
>>
>>> done with GPL. GPL isn't the crap everybody would want you to  
>>> think it is. It just isn't assembly. Nothing is...
>>>
>>> neighbors laptop...(he is out of town and allowed me to borrow  
>>> it). It (of course) is the "sample" program which was inexplicably  
>>> written in A/L? If so, is there a full source listing available  
>>> for it?
>>>
>>> Owen
>>>
>>>
>>
>
>

---

From: Barry Boone <[email-masked]>
Date: Tue, 3 Nov 2009 09:07:53 -0500

What is scary is how close the TI assembler is to the VAX.  The TI assembler is really like a subset of the VAX assembler.  I always found that the TI spoiled me for assembler languages, when I had to poke around with assembler for other processors.

Piece of trivia for you… the Infocom interpreter for the TI looks amazingly like it was a port from VAX assembler, just given how it was written, it is as if someone took the VAX version and substituted TI assembler statements in their place, possibly in some automated fashion, except for the hardware specific code.

From: [email-masked] [mailto:[email-masked]] On Behalf Of mark wills
Sent: Tuesday, November 03, 2009 6:20 AM
To: [email-masked]
Subject: Re: [TI994A] Tunnels of Doom (A/L)?

10 R0=0 ! LI R0,0
20 R1=42 ! LI R1,42*256
30 R2=768 ! LI R2,768

Dunnah!

Owen Brand
**Oprysoft**
Opry99er.com<http://Opry99er.com>

On Nov 3, 2009, at 6:39 AM, mark wills <markrobertwills@ yahoo.co. uk<mailto:[email-masked]>> wrote:

Very nice

From: ti99_forever <[email-masked]<http://yahoo.com>>
To: TI994A@yahoogroups. com
Sent: Tue, 3 November, 2009 12:24:54
Subject: Re: [TI994A] Tunnels of Doom (A/L)?

Owen Brand
**Oprysoft**
Opry99er.com<http://Opry99er.com>

On Nov 3, 2009, at 2:24 AM, ti99_forever <ti99_forever@ yahoo.com<http://yahoo.com>> wrote:

Owen

---

From: Owen Brand <[email-masked]>
Date: Tue, 3 Nov 2009 09:23:43 -0500

How about:

10 CALL CLEAR
20 CALL HCHAR(1,1,42,768)
30 END

Wouldn't that accomplish the same thing?

Owen Brand
**Oprysoft**
Opry99er.com

---

From: "Jon P Vogel" <[email-masked]>
Date: Tue, 3 Nov 2009 09:26:18 -0600

From: Owen Brand 

>Wouldn't that accomplish the same thing?

Yes.  But that wouldn't be assembly now, would it? 

Regards,

Jon

.

---

From: Owen Brand <[email-masked]>
Date: Tue, 3 Nov 2009 10:29:28 -0500

That was in response to his "BASIC" equivalent.

Owen Brand
**Oprysoft**
Opry99er.com

---

From: "Tursi" <[email-masked]>
Date: Tue, 3 Nov 2009 11:01:03 -0500

Yeah, but he broke it down to show you what every line of the assembly 
is doing.

Of course, your BASIC version doesn't need the CALL CLEAR (since you 
fill the screen anyway in the next line). There's actually no provided 
function in TI's standard support library to reproduce the HCHAR command 
in a single call, so you have to step through all the positions 
manually.

---

From: Owen Brand <[email-masked]>
Date: Tue, 3 Nov 2009 11:15:08 -0500

Wow.  I have alot to learn.  :) but I am eagerly looking forward to  
it... Mark, I will have access to that book you mentioned here in a  
day or so.  My good buddy Marc (with a "C") is sending me his copy on  
loan while I venture into the "next generation". This will be like the  
upgrade from Scotty to Geordi or Spock to Data.  (aside from rank,  
they are the same character)  enough Trekkie talk...  I could go for  
hours-- but won't.  You can thank me later.

Owen Brand
**Oprysoft**
Opry99er.com

---

From: Owen Brand <[email-masked]>
Date: Tue, 3 Nov 2009 12:04:11 -0500

I guess it TECHNICALLY doesn't need the END statement either.  :). I  
understand what Mark was doing now.  Very cool.  This will be some  
fun.  I hope you all will be patient with me, as I may have some  
questions to post to the list as I go through the book.  Thanks again.

Owen Brand
**Oprysoft**
Opry99er.com

---

From: ti99_forever <[email-masked]>
Date: Tue, 3 Nov 2009 09:14:58 -0800 (PST)

IMHO, it looks a little close to the PDP-11. But considering the timeframe of the changeover from PDP to VAX (both great systems), it would be understandable for some overlap.

--- On Tue, 11/3/09, Barry Boone <[email-masked]> wrote:

From: Barry Boone <[email-masked]>
Subject: RE: [TI994A] Tunnels of Doom (A/L)?
To: "[email-masked]" <[email-masked]>
Date: Tuesday, November 3, 2009, 9:07 AM

    

What is scary is how close the TI assembler is to the VAX.  The
TI assembler is really like a subset of the VAX assembler.  I always found that
the TI spoiled me for assembler languages, when I had to poke around with assembler
for other processors. 

Piece of trivia for you… the Infocom interpreter for the TI
looks amazingly like it was a port from VAX assembler, just given how it was
written, it is as if someone took the VAX version and substituted TI assembler
statements in their place, possibly in some automated fashion, except for the
hardware specific code.   

From:
TI994A@yahoogroups. com [mailto:TI994A@ yahoogroups. com] On Behalf Of mark
wills

   

Well, assembly language is very easy. Here is a little
program to fill the screen with * characters

LOOP

 BLWP @VSBW ; CALL VDP SINGLE BYTE WRITE ROUTINE (WRITES * TO SCREEN
ADDRESS)

 JNE LOOP ; HAVE WE FINISHED (ZERO FLAG IN STATUS REGISTER SET?) IF NOT,
JUMP TO LOOP

10 R0=0 ! LI R0,0

20 R1=42 ! LI R1,42*256

30 R2=768 ! LI R2,768

50 R0=R0+1 ! INC R0

60 R2=R2-1 ! DEC R2

Dunnah!

   

From: Owen Brand
<owenbrand@opry99er. com>

To: "TI994A@yahoogroups. com" <TI994A@yahoogroups. com>

   

Mark, DL my Lemonade Stand game from my site and run it in
Classic99.  The first DL option on the site is for a zip file containing
the source, object, and program files individually. Just dump 'em into DSK1 of
Classic99...  Once you've played for a few minutes, break out and LIST the
XB program.  This is the reason I want to learn A/L.  

NUM 10,10 

Owen Brand 

**Oprysoft** 

Opry99er.com 

On Nov 3, 2009, at 6:39 AM, mark wills <markrobertwills@
yahoo.co. uk> wrote: 

Yeah, I still say start reading Lottrup's book. You'll be
there in no time and you won't touch XB again.

Assembly coding on the TI is *so* simple, I think everyone should learn it. I
think for it's day, the 4A easily had the best assembly coding environment for
any of the home computers. Only the Atari 800 had anything anywhere near it.
Other machines consisted of 'monitor' type programs where you entered code
directly into memory, and then saved it to cassette. There was no source code.
You dumped memory to tape, and the only time you could see the source was if
you reloaded it back into memory, and dissasembled it to screen. No concept of
seperate source and object files. I remember the pain of writing Z80 on the
Sinclair ZX Spectrum. (Now's there's a bitch of an instruction set!) The TI had
a mini type approach.

Very nice

   

From: ti99_forever
<[email-masked]>

   

  
  Ok, I get you.
  I'm like that, I learn better by writing notes, even though the prof. has
  slides.

  But re-keying assembly may not help - hard to explain, but I can look at
  various assembly programs and wonder "what the heck were they
  doing". Forth is the same way for me.

  --- On Tue, 11/3/09, Owen Brand <owenbrand@opry99er. com>
  wrote: 

  
  
  Sorry...
   I am typing it, dear friend, for the same reason I typed in Marks
  SPRDEF and just about all the stuff I learned in XB as I was exploring the
  language...  It's there, and typing, for me, gives me a chance to get a
  feel for every line and every statement.  Essentially it is a tutorial
  in and oc ifself.  HOWEVER, while this was very true in XB... It makes
  absolutely NO sense in this Greek of Assembly.  :). This is a whole
  different ballgame, my friend.  Maybe I am just wasting time here.

  Owen Brand 
  
  **Oprysoft** 

  Opry99er.com 

  

    Isn't the
    Tombstone City source code available on the Editor Aseembler disks? Why are
    you typing it?

    As for TOD, it was heavily GPL. An example of what can really be done with
    GPL. GPL isn't the crap everybody would want you to think it is. It just
    isn't assembly. Nothing is...

    --- On Mon, 11/2/09, opry99er <owenbrand@opry99er. com>
    wrote: 

    
    I
    have started typing in Tombstone City into Classic99 using my neighbors
    laptop...(he is out of town and allowed me to borrow it). It (of course) is
    the "sample" program which was inexplicably included in the back
    of the EA binder. From my understanding, this was the first TI sanctioned
    game program written on an actual TI and not on the Texas Instruments mini
    computer. I was visiting Walid's "TI Gameshelf" and noticed that
    Tunnels of Doom was listed under the Assembly section of his page. Was this
    program ALSO written in A/L? If so, is there a full source listing
    available for it? 

    Owen

---

From: "Jon P Vogel" <[email-masked]>
Date: Tue, 3 Nov 2009 11:17:06 -0600

From: Owen Brand

> understand what Mark was doing now.  Very cool.  This will be some fun.  I 
> hope you all will be >patient with me, as I may have some questions to 
> post to the list as I go through the book.  Thanks again.

With the mini-memory cartridge and TI-Basic, one can have quite a bit of fun 
doing "pseudo" assembly such as Mark's example shows.  It's also an easy way 
learn some of the ins and outs of the TI hardware.  I've had a lot of fun in 
the past messing with this combination, especially the VDP peeks and pokes.

Regards,

Jon

---

From: fdos <[email-masked]>
Date: Tue, 03 Nov 2009 11:08:42 -0700

Owen,

THANKS for the TREKKIE talk.  I was almost falling asleep reading 
through these dull AL coding posts, but those old familiar names woke me 
up.  Fond memories, you know :-)

Bill S

Owen Brand wrote:
> it... Mark, I will have access to that book you mentioned here in a day 
> or so.  My good buddy Marc (with a "C") is sending me his copy on loan 
> while I venture into the "next generation". This will be like the 
> upgrade from Scotty to Geordi or Spock to Data.  (aside from rank, they 
> are the same character)  enough Trekkie talk...  I could go for hours-- 
> but won't.  You can thank me later.   
> 
> Owen Brand
> **Oprysoft**
> Opry99er.com <http://Opry99er.com>
> 
<snip>

---

From: "eolson22" <[email-masked]>
Date: Wed, 04 Nov 2009 06:41:57 -0000

I learned assembly concepts from a library book about PDP-11, because
the 99er articles were so frustrating (or just plain wrong.)
But then I was jealous that PDP-11 has twice the general addressing
modes, including autodecrement indirect register mode. Like *R1+, but
*-R1. Decrement happens before use, so it really does the opposite of
*R1+. This comes in handy for stack operations: one is for push, the
other for pop. I guess TI didn't put much importance on this when they
chose a register file architecture instead of a stack based one.
There are only so many bits to go around in a 16-bit word, so TI devoted
4 bits to the register number to get 16 registers, and 2 to addressing
mode to get 4 modes. DEC used 3 bits for the register number and 3 for
the addressing mode.

One day, my high school gave me a PDP-11/10 to hook up to my TI. Fun fun
fun.  Wish I could have kept it.
--- In [email-masked], Barry Boone <boone@...> wrote:
>
> What is scary is how close the TI assembler is to the VAX.  The TI
assembler is really like a subset of the VAX assembler.  I always found
that the TI spoiled me for assembler languages, when I had to poke
around with assembler for other processors.

---

From: ti99_forever <[email-masked]>
Date: Tue, 3 Nov 2009 23:09:14 -0800 (PST)

Yes, I sure do miss those decrement modes!
I remember I started to port Empire to the TI-99 (yet another unfinished project) straight from the PDP-11 assembly. I was using RAGASM (probably on the SAMS card) and had build some macros for some of the weird jumps (branches in PDP) and for things like the pre-decrement... there was one instruction that used a special register, a stack pointer I believe, or maybe a base register. It was harder to code around. I came across the macros I programmed today, sitting in a folder I'd copied from my old TI 486SX laptop across several computers now sitting in a sub-folder on my Mac... Didn't see the empire source, but it is probably there...

--- On Wed, 11/4/09, eolson22 <[email-masked]> wrote:

From: eolson22 <[email-masked]>
Subject: [TI994A] Re: Tunnels of Doom (A/L)?
To: [email-masked]
Date: Wednesday, November 4, 2009, 1:41 AM

    

I learned assembly concepts from a library book about PDP-11, because the 99er articles were so frustrating (or just plain wrong.)
But then I was jealous that PDP-11 has twice the general addressing modes, including autodecrement indirect register mode. Like *R1+, but *-R1. Decrement happens before use, so it really does the opposite of *R1+. This comes in handy for stack operations: one is for push, the other for pop. I guess TI didn't put much importance on this when they chose a register file architecture instead of a stack based one. 
There are only so many bits to go around in a 16-bit word, so TI devoted 4 bits to the register number to get 16 registers, and 2 to addressing mode to get 4 modes. DEC used 3 bits for the register number and 3 for the addressing mode. 

One day, my high school gave me a PDP-11/10 to hook up to my TI. Fun fun fun.  Wish I could have kept it.

---

From: "Raphaela Gabriela Sarsaparilla" <[email-masked]>
Date: Fri, 06 Nov 2009 16:23:37 -0000

> hours-- but won't.  You can thank me later.

Why wait?  I'll thank you NOW.  ^_~

--
"Which key is the 'Any' key?"