Path: csiph.com!eternal-september.org!feeder.eternal-september.org!nntp.eternal-september.org!.POSTED!not-for-mail From: John Ames Newsgroups: comp.os.linux.misc,alt.folklore.computers Subject: Re: what's a mainframe, NYT and Stratus (Re: [OT] Dead DEC Punch card times) Date: Thu, 12 Nov 2026 09:50:18 -0800 Organization: A place where nothing fits quite right Lines: 46 Message-ID: <20261112095018.00000217@gmail.com> References: <18dee4b6cab427fa$865$2574533$802601b3@news.usenetexpress.com> <11cr1ub$q796$1@dont-email.me> <11creup$trgi$1@dont-email.me> <11ctde2$2ibp$1@gal.iecc.com> <5O-dnQvUAMIEF2_3nZ2dnZfqn_SdnZ2d@giganews.com> <11d06np$2iil7$1@dont-email.me> <11d1v23$341f0$2@dont-email.me> <11d3mnc$3mitg$6@dont-email.me> <11d3pmf$1sf4m$1@dont-email.me> <11d3t4c$3oa24$6@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Injection-Date: Thu, 12 Nov 2026 17:50:22 +0000 (UTC) Injection-Info: dont-email.me; logging-data="178408"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19aNd9IZkedMb5s0NUdUf0V0gjDLCSCFYg="; posting-host="de18d6028755addb9e2aa6a39e09b1b3" Cancel-Lock: sha1:4Ac2jVd/EoMaFeTJsaXkL15imzk= sha256:gk1GzdlI8yoty4m5bCR1HYQMBPijjA50eF/xU9e5lDk= sha1:lr3nA17w+5YmY9C+9km1SCw4HQs= sha256:f+nQMaCufexEEFDSvy/lg6mxDYoIClRsAP/eMgVSnYA= X-Newsreader: Claws Mail 4.3.0 (GTK 3.24.42; x86_64-w64-mingw32) Xref: csiph.com comp.os.linux.misc:95559 alt.folklore.computers:236839 On Thu, 12 Nov 2026 08:24:44 +0000 The Natural Philosopher wrote: > In fact if you go back to the TMS9900 series of chips these made > lousy single user computers. The chipset was designed for efficient > context switching in a multitasking environment Oh, the travails of the TI-99 series had nothing at all to do with the CPU per se; the design decisions on that platform were truly in the Absolutely Gorram Bonkers category: Start with the fact that the TMS9900 CPU, while it presents a byte- addressable memory model to the programmer, doesn't actually do byte- level addressing on the bus; all 8-bit writes are actually 16-bit read- modify-write operations, and 8-bit reads are just 16-bit reads where the irrelevant byte is discarded. Now consider that the TI-99 only has 256 bytes (128 words) of 16-bit RAM, which is used as a register file/scratchpad area for the firmware. All the rest is 8-bit. Moreover, it's not even mapped into main memory; instead, it doubles as video memory, and must be accessed byte-serial fashion via the VDP (set the address & do sequential access until you need to hit some other part of RAM, at which point you set the address *again* and repeat.) This also puts video-bound wait states on the bulk of memory accesses, on top of the 8-bit clunkiness. (There was an optional RAM cartridge add-on which mapped directly into CPU address space, but even this was 8-bit.) Moreover (as this makes *normal* programming effectively impossible on an unexpanded unit) the firmware actually implements a virtual-machine interpreter for programs stored in the video memory or in "graphic ROM" cartridges which are accessed in the same byte-serial fashion. And it's *this* instruction set that the built-in TI Basic is implemented in. So, to recap, when you power on the unit and enter your 10 PRINT "WTF WERE THEY SMOKING!?" : GOTO 10 test: * It's running in an intrepreted language. * Which is implemented in *another* interpreted language. * Which is being read a byte at a time. * Through a straw that the video chip is periodically pinching shut. * By a CPU that can't actually do byte accesses. Gee, I wonder why it was slow...?