• Please review our updated Terms and Rules here

My Intro:

barryp

Experienced Member
Joined
Jun 20, 2003
Messages
355
Location
Cary, North Carolina
Greetings: I'm Barry Peterson, a retired electronics engineer and (for a very short time) programmer. Actually I taught assembly language programming for a while too.

I've been involved with computers heavily for ~22 years now. Now and then somebody gives me another computer. I have several x86 machines from XT's to Pentiums, a LOT of TI-99/4A's, an Apple IIe, a Kaypro-2 (or is it II? or is there an x also? ...), I have an oddball Z80 box in the garage that nobody can tell me anything about.

I have a jillion bits and pieces of whatever. I no longer are actively looking for anything since time to fiddle with what I have is more precious than the idea of the next acquisition.

My recent project is learning to program in PERL, which is neat.
 
Re: My Intro:

"barryp" wrote in message:

Welcome Barry,

> I've been involved with computers heavily for
> ~22 years now. Now and then somebody gives
> me another computer. I have several x86
> machines from XT's to Pentiums, a LOT of
> TI-99/4A's, an Apple IIe, a Kaypro-2 (or is it
> II? or is there an x also? ...), I have an oddball
> Z80 box in the garage that nobody can tell me
> anything about.

Great, perhaps you could shed some light onto
the TI-99/4A, we're discussing about the features
of it just above you. Also if there are any
variations to you TI-99/4A machines feel free to
discuss them.

Cheers.
 
Re: My Intro:

"barryp" wrote in message:

>> Welcome Barry,

> Thanks.

>> Great, perhaps you could shed some light onto
>> the TI-99/4A

> I'd be glad to; what sort of light would you like?
> Red? Green? Blue?

Well it's been said in here that you need to expand
the TI-99/4A in order to use assembly on it.
Amonst this it's said that you'd need the extended
BASIC as well. How are the TI-99/4A's in the states
& do they need this as well?

Cheers.
 
Welcome!

Welcome!

Welcome to the VC Forum!

There are a ton of different Kaypro models. The II was the first, the 2x was a later model with similar specifications.

It sounds like you've got a fun collection to play with in your spare time!

Post what you can about that Z80 machine and hopefully someone here will recognize it.

Enjoy!

Erik
 
Re: Welcome!

Re: Welcome!

"Erik" wrote in message:

> Post what you can about that Z80 machine
> and hopefully someone here will recognize
> it.

The 'Ace' is kind of a Z80 oddball machine,
but he'd know if it is one, unless it was
built following the instructions off the 'net.

Cheers.
 
Re: My Intro:

CP/M User said:
Well it's been said in here that you need to expand
the TI-99/4A in order to use assembly on it.

With only the basic (pun intended) computer, you can only program using the included BASIC interpreter. You can, however, add modules for games, education, finance, programming, etc. in the same way as the Atari, Commodore or other machines do. I guess that I don't understand your question; if you're asking about writing assembly language programs, very few computer buyers do that no matter what machine we're talking about.


CP/M User said:
Amonst this it's said that you'd need the extended
BASIC as well.

Extended Basic is to the original console Basic as IBM BASICA is to IBM ROM BASIC. (IOW, an extension) You pay the extra money and you get added functionality.

Having Extended Basic is generally better than not having it but it's not required. Some programs require one, some require the other.

CP/M User said:
How are the TI-99/4A's in the states
& do they need this as well?

There's basically one kind of TI-99/4A. Differences are cosmetic.
They are everywhere, I have at least a dozen.

However, there are many other TI computers.
 
Re: My Intro:

"barryp" wrote in message:

>> Well it's been said in here that you need to expand
>> the TI-99/4A in order to use assembly on it.

> With only the basic (pun intended) computer, you
> can only program using the included BASIC
> interpreter. You can, however, add modules for
> games, education, finance, programming, etc. in
> the same way as the Atari, Commodore or other
> machines do. I guess that I don't understand
> your question; if you're asking about writing
> assembly language programs, very few
> computer buyers do that no matter what
> machine we're talking about.

I guess what I'm trying to get at, is that I'm under
the impression that for someone to learn assembly
on the TI 99/4A is an assembler & upgrade (32k
expansion I thought it was). Commercial Game
companies who write their stuff in assembly (well
it would be in Binary - the language the computer
understands) would require those users to have
the approate upgrades. But I don't know, maybe
the majority of them used BASIC?

For an typical Amstrad CPC computer to support
assembly isn't all that complicated - all you need
is the assembler, but if your handy with your Z80
hexidecimal opcodes then a BASIC hex editor
would do! :) Amstrad's BASIC also supports for
Machine Code in the form of PEEK, POKE, READ
(perhaps a few other commands) & DATA
statements (which contain the code).

Back then I guess most people would have used
BASIC & being happy with it. But I was more
concerned about the commercial game
companies which normally write something in
Assembly (for speed & size) & running those
programs on a basic TI 99/4A.

>> Amonst this it's said that you'd need the extended
>> BASIC as well.

> Extended Basic is to the original console Basic as
> IBM BASICA is to IBM ROM BASIC. (IOW, an
> extension) You pay the extra money and you
> get added functionality.

That was a limitation to the Amstrad's BASIC.
Basically speaking, the BASIC which came with
the Amstrad CPC464 was BASIC 1.0. On the
CPC664, CPC6128 & the Plus Machines BASIC
1.1 was used. This introduced extra commands
which mean't if any of those were used the
CPC464 would miss out. It wasn't great in terms
of expanding it either. There were companies
actually selling the BASIC 1.1 microchip in the
late '80s (before Amstrad put a stop to them
doing this) to CPC464 users. Unfortunately I'd
missed out! :-(

Now I have a CPC6128 & since then I
found a whole heap of programs (which I
got when I got the CPC6128) designed to
bring compatability in BASIC 1.1 programs
to BASIC 1.0 with a set of (Resident System
Extensions)! :-(

> Having Extended Basic is generally better than not
> having it but it's not required. Some programs
> require one, some require the other.

>> How are the TI-99/4A's in the states
>> & do they need this as well?

> There's basically one kind of TI-99/4A. Differences
> are cosmetic. They are everywhere, I have at
> least a dozen.

> However, there are many other TI computers.

Cheers.
 
Re: My Intro:

CP/M User said:
I guess what I'm trying to get at, is that I'm under
the impression that for someone to learn assembly
on the TI 99/4A is an assembler & upgrade (32k
expansion I thought it was). <snip>

I don't have much experience with the TI-99/4A. I only got my first ones a few months ago, and I still don't have any software for them, except for the Expanded BASIC cart.

At any rate, I recently saw on ePay an Assembly Language package for the TI-99/4A. It was boxed, and the picture only showed the box, so I can't be sure, but it SEEMED to be just a cart to plug in, thus allowing you to code assembler...
 
Assembly on the 99/4A

Assembly on the 99/4A

There are a few ways to write assembly on the 99/4A:

- You can get the Editor / Assembler cartridge or disk software. Both require the 32K Expansion memory - which you can get either as a sidecar upgrade or Peripheral Expansion Box card (The peripheral expansion box was usually sold with a memory card, an RS-232 card and a floppy disk controller and one or two 5 1/4 floppy drives). Your programs can then be used by any TI which has the expansion memory.

- You could probably use CALL POKE from Extended Basic (but again you need the expansion memory to use the command) and POKE the opcodes right in place. However I have not heard anyone actually doing this.

- You could buy the Mini Memory cartridge. This is a unique cartridge with 4K of battery backed up memory that can store your assembly program (has an editor assembler on tape that works with the cartridge). It is mostly used to write assembly routines that can then be called by BASIC programs using the CALL command. However note that since the Mini Memory cartridge needs to be plugged in order to use the routines, it is not possible to use Extended BASIC with Mini Memory. The console does not provide the capability to operate with more that one cartridge simultaneously.

Thanks
Manolis
 
Re: Assembly on the 99/4A

Re: Assembly on the 99/4A

"sonic2000gr" wrote in message:

> There are a few ways to write assembly on the 99/4A:

Needless to say that there is one thing which seperates
itself from the rest of the microcomputering in terms of
Assembly & that is the CPU is Texas Instruments own.

Becuase this is their own CPU, it would mean that they
can provide all the software/info themselves since they
have a better knowledge of the workings of it. I haven't
actually heard of any 3rd party software for this
machine too, so that too could be where Texas
Instruments provides for it.

Either way they had the advantage of running & providing
for their own machine.

I was suprised to see that the TI 99/4A has two kinds
of memory, the 16kb is VRAM (virtual I persume) &
256 (bytes?) of ordinary RAM. Still it is a 16bit computer!

Cheers.
 
Re: Assembly on the 99/4A

Re: Assembly on the 99/4A

CP/M User said:
Needless to say that there is one thing which seperates itself from the rest of the microcomputering in terms of Assembly & that is the CPU is Texas Instruments own.

Umm, not to nitpick :wink: but Commodore used their own CPUs also, in the beginning.

The 6502 in the VIC-20 (which apparently doesn't seem to be the same 6502 as in f.ex. the Apple ][)

The 6510 in the 64...

The 6509 in the P500... Not until they started making the Amiga and the regular PCs did they use other processors (Motorola 68000 in the Amiga and Intel x86 in the PCs)...

8)
 
Re: Assembly on the 99/4A

Re: Assembly on the 99/4A

CP/M User said:
I was suprised to see that the TI 99/4A has two kinds
of memory, the 16kb is VRAM (virtual I persume) &
256 (bytes?) of ordinary RAM. Still it is a 16bit computer!

Yes, the 99/4A has two kinds of RAM, and that's where all the confusion starts. The actual RAM on the CPU bus is just 256 bytes! (Also called the "scratch pad" RAM). The other 16K of RAM belongs to the video processor (thus called V-RAM). In order for the CPU to access this memory it has to go through the Video processor (the TMS9918A in 99/4A or TMS9918 in 99/4) and this is a very slow process.
In case you are wondering where the actual BASIC programs are stored, yes, they are stored in the video processor RAM! BASIC does not provide full capabilities for the video processor, so this memory is largely free. (there are no hires commands like plot or draw or circle in BASIC - you can only use - and redefine if needed - characters.)
The video processor "speaks" a language called GPL (Graphics Programming Language) and a part of TI's ROM provides an interpreter for this language. BASIC programs are interpreted to GPL - that's why BASIC is so slow (dual interpreted...)
Now when you connect the expansion memory, the program is then stored in this memory.
It is a very weird architecture, and certainly it didn't help with 99/4A's popularity either with users or software companies.
By contrast the Amstrads are very straightforward when it comes to assembly programming. I was using the Hisoft Assembler / Dissasembler / Monitor and never had any serious problems.
You can get a lot more info on 99/4A on my site and also on the 99 portal,
www.99er.net

Manolis
 
Re: Assembly on the 99/4A

Re: Assembly on the 99/4A

"Thomas Hillebrandt" wrote in message:

>> Needless to say that there is one thing which
>> seperates itself from the rest of the
>> microcomputering in terms of Assembly &
>> that is the CPU is Texas Instruments own.

> Umm, not to nitpick ;) but Commodore used
> their own CPUs also, in the beginning.

> The 6502 in the VIC-20 (which apparently
> doesn't seem to be the same 6502 as in f.ex.
> the Apple ][)

You forgot to mention Atari! How can you say
that the 6502 is different? The assembly
instructions it provides would be the same,
the only other difference would be related to
the hardware of the computer. No, the 9900
which is used (as far as I know) in the
TI 99/4x ('x' can either be a blank or an 'a'!
(-: ) is the only computer to use it. Texas
Instruments designed the CPU themselves &
I don't see any evidence of Commodore
making their own 6502 based chips.

> The 6510 in the 64...

The 6510 is just an enhanced version of the
6502! :) The modifications made to it were
probably done from somebody else besides
Commodore.

> The 6509 in the P500... Not until they started
> making the Amiga and the regular PCs did
> they use other processors (Motorola 68000 in
> the Amiga and Intel x86 in the PCs)...

Again, another modification of the 6502 (it's
software compatable with it!). My book should
have said something if it was the case that
Commodore were making their own CPUs,
but it doesn't. Texas Instruments perhaps are
more well known at making their own stuff
with their own Microchips!

Anyway...! :)

Cheers.
 
Re: My Intro:

CP/M User said:
I guess what I'm trying to get at, is that I'm under
the impression that for someone to learn assembly
on the TI 99/4A is an assembler & upgrade (32k
expansion I thought it was).

I think that you're talking about RUNNING an assembler. All that's necessary for learning is a book.

All that's necessary for running is what each program requires. There are several assemblers, most require extra memory, disk drive(s), printer is optional...

CP/M User said:
Commercial Game
companies who write their stuff in assembly (well
it would be in Binary - the language the computer
understands) would require those users to have
the approate upgrades. But I don't know, maybe
the majority of them used BASIC?

Some of the available software only require the computer itself. (The lowest common denominator) That would include some written in BASIC and supplied on cassette tape. (which require an optional cassette deck and optional cable)

Many companies, including TI, sell modules. Each module specifies what is required, often nothing else.

CP/M User said:
For an typical Amstrad CPC computer to support
assembly isn't all that complicated - all you need
is the assembler

In my not-so-humble opinion, assembly language programming IS "all that complicated", probably the most complicated way to program. I have no experience with your Amstrad CPC computer but I used to teach assembly level programming to technicians and engineers.

CP/M User said:
Back then I guess most people would have used
BASIC & being happy with it. But I was more
concerned about the commercial game
companies which normally write something in
Assembly (for speed & size) & running those
programs on a basic TI 99/4A.

And I still don't seem to understand your concern. Some companies and individuals used only the bare console and therefore wrote in Console BASIC. Others used assemblers, compiters, whatever they had. Some, including TI, used minicomputers. Others used cross assemblers, sometimes they ported a program from one system to the TI99, rewriting what was necessary to make it work. (Much the way things work today)
 
Re: My Intro:

Thomas Hillebrandt said:
At any rate, I recently saw on ePay an Assembly Language package for the TI-99/4A. It was boxed, and the picture only showed the box, so I can't be sure, but it SEEMED to be just a cart to plug in, thus allowing you to code assembler...

That's probably the TI Editor/Assembler package. There is a module and a couple of disks included with the manual. The editor and the assembler are on disk. The TI E/A package requires at least 32KB memory expansion, disk controller and drive (more drives=better) and a printer is optional. (But necessary to see a printout of your source program.)

The normal process is to use the Editor to create a source file and then the Assembler to create the object file just as with most other computers.

The module mainly contains loaders for the Editor, the Assembler, and the object files.
 
Re: Assembly on the 99/4A

Re: Assembly on the 99/4A

This has gone far beyond the level of introduction. Maybe it should be moved to a more appropriate place...

sonic2000gr said:
You could probably use CALL POKE from Extended Basic (but again you need the expansion memory to use the command) and POKE the opcodes right in place. However I have not heard anyone actually doing this.

Actually, that's quite common.

sonic2000gr said:
- You could buy the Mini Memory cartridge. This is a unique cartridge with 4K of battery backed up memory that can store your assembly program (has an editor assembler on tape that works with the cartridge).

Actually, the MiniMemory cartridge comes with the Line-By-Line Assembler on cassette tape. You load the asembler, then type the mnemonics. It doesn't require additional memory.

sonic2000gr said:
It is mostly used to write assembly routines that can then be called by BASIC programs using the CALL command. However note that since the Mini Memory cartridge needs to be plugged in order to use the routines, it is not possible to use Extended BASIC with Mini Memory. The console does not provide the capability to operate with more that one cartridge simultaneously.

Actually, there are ways to combine the two modules. One of my favorite phrases is: "Never say never and never say always. Someone will make a liar out of you."
 
Re: Assembly on the 99/4A

Re: Assembly on the 99/4A

CP/M User said:
Needless to say that there is one thing which seperates itself from the rest of the microcomputering in terms of Assembly & that is the CPU is Texas Instruments own.

Because this is their own CPU, it would mean that they can provide all the software/info themselves since they have a better knowledge of the workings of it. I haven't actually heard of any 3rd party software for this machine too, so that too could be where Texas Instruments provides for it.

There is a HUGE amount of software available for the TI computers. Several Gigabytes in fact. I have a stack of 50+ disks (720KB each) sitting on my TI99 desk waiting for me to look through and see what's there. TI would like to have been the sole source of software for it though :D (more profits for them)

CP/M User said:
Either way they had the advantage of running & providing for their own machine.

As does every other computer manufacturer.

CP/M User said:
I was suprised to see that the TI 99/4A has two kinds
of memory, the 16kb is VRAM (virtual I presume) & 256 (bytes?) of ordinary RAM. Still it is a 16bit computer!

RAM is RAM. (A profound statement if I've ever typed one) VRAM is Video RAM, just as on most other systems. The microprocessor accesses memory via the Video Display Processor. The 256 bytes is CPU RAM, used for registers, etc.

Now that I think about it, VIRTUAL RAM might be a good idea! If a virtual disk is one that is emulated in memory, virtual ram could also be emulated in memory. (Which is emulated in memory, and so on and so on...)
 
Re: Assembly on the 99/4A

Re: Assembly on the 99/4A

"barryp" wrote in message:

> There is a HUGE amount of software available
> for the TI computers. Several Gigabytes in
> fact. I have a stack of 50+ disks (720KB each)
> sitting on my TI99 desk waiting for me to look
> through and see what's there. TI would like to
> have been the sole source of software for it
> though :D (more profits for them)

Really? All I ever heard about the TI 99/4A
software was it being made from Texas
Instruments. A 3rd party software company
should have the rights to write stuff for that
computer.

>> Either way they had the advantage of
>> running & providing for their own machine.

> As does every other computer manufacturer.

In the case for a CP/M machine, all sorts of
people are able to program in any sort of
language. Providing the software doesn't use
anything specific to the machine, it's legitimate
to use it on various computers.

The Z80 or 8080 are two common processors
which allow easy access to it.

>> I was suprised to see that the TI 99/4A has two kinds
>> of memory, the 16kb is VRAM (virtual I presume) &
>> 256 (bytes?) of ordinary RAM. Still it is a 16bit
>> computer!

> RAM is RAM. (A profound statement if I've ever typed
> one) VRAM is Video RAM, just as on most other
> systems. The microprocessor accesses memory via
> the Video Display Processor. The 256 bytes is CPU
> RAM, used for registers, etc.

Sadily, that doesn't make sense, so the old computers
museum could be wrong about it (unless they are
talking about the TI 99/4 again!). My book indicates
that 16Kb of RAM is what it has. The old computers
museum states it has 16kb of VRAM & 256 bytes
(it wouldn't be 256kb of RAM!). My Amstrad has 128k
of RAM 16k of which is allocated to the screen!

Cheers.
 
Back
Top