Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!aramis.rutgers.edu!paul.rutgers.edu!jac From: jac@paul.rutgers.edu (Jonathan A. Chandross) Newsgroups: comp.arch Subject: Re: TI 99/4 speed (was Re: Register Allocation and Aliasing) Message-ID: Date: 26 Jul 90 02:06:38 GMT References: <1990Jul24.234511.10564@esegue.segue.boston.ma.us> <12300@encore.Encore.COM> <9408@goofy.Apple.COM> Distribution: usa Organization: Rutgers Univ., New Brunswick, N.J. Lines: 22 esmith@apple.com (Eric Smith) > The amazing slowness (could they have made it slower if they tried?) was > due to BASIC storing the user's program and variables in the memory > attached to the TMS9918 VDP (video data processor). Every time the > interpreter needed to access a byte of the BASIC program or variable, it > had to write the address to the VDP then read the data. True. But on top of that they made the mistake of getting a Basic from Microsoft. All of Microsoft's Basics are written (or at least used to be) in a virtual machine language. All you have to port the Basic is to write a simulator for that virtual machine. Of course, this adds an additional layer of indirection and thus seriously slows down your interpreter. The Apple ][+ used a Microsoft version Basic sold as "Applesoft". We used to call it "Applesloth". The difference between it and the Integer Basic on the Apple ][ (written by Woz) was just simply amazing. Jonathan A. Chandross Internet: jac@paul.rutgers.edu UUCP: rutgers!paul.rutgers.edu!jac