PDA

View Full Version : TI-74 Turbo BASIC



JGardner
November 13th, 2011, 10:29 AM
Give this a try:

Enter "FOR N = 0 TO 2047 : NEXT N".

Look at your watch & press "RUN". Takes ~ 10 seconds on my TI-74S.

Now enter...

"CALL POKE(280,51) : FOR N=0 TO 2047 : NEXT N : CALL POKE(280,56)"

Look at your watch, press "RUN"... Six seconds this time.

My My... :)

enjoy, Jack

curtis
November 14th, 2011, 06:04 AM
Interesting. Any idea what the poke does? Perhaps bypass a wait state?

JGardner
November 14th, 2011, 01:35 PM
...Any idea what the poke does?

I know you know this, but for those who don't, the TI-74 is similar but not
identical to the earlier CC40.

I think register >118 is the TI-74 equivalent of CC40 register >119 ; referred
to in Appendix J of the "CC40 User Manual" as the 'Clock control register.'

A partial explanation of CC40 clock control is in Chapter 6, "EA Technical
Reference Manual."

Both pubs mentioned are available on the WHTech web site..

Jack

curtis
November 15th, 2011, 05:59 AM
OH MY GAWD!!!!!!! You've figured out how to overclock the 74!




...Any idea what the poke does?

I know you know this, but for those who don't, the TI-74 is similar but not
identical to the earlier CC40.

I think register >118 is the TI-74 equivalent of CC40 register >119 ; referred
to in Appendix J of the "CC40 User Manual" as the 'Clock control register.'

A partial explanation of CC40 clock control is in Chapter 6, "EA Technical
Reference Manual."

Both pubs mentioned are available on the WHTech web site..

Jack

JGardner
November 15th, 2011, 04:46 PM
I'm not sure "overclocking" is technically accurate. Nothing I've done so far
has actually speeded up a 24-bit decrement-to-zero asm routine running in
system RAM. Slower, yes, but not faster - So far.

Speeding up BASIC is apparently possible because the interpreter sets the
clock rate at less than top speed - Perhaps because of hardware limitations.
The LCD comes to mind...

Cartridge RAM is a different story. My 24-bit marker routine runs 4X slower
in CRAM with the system defaults - But write >30 to P24 & it runs at system
RAM speed...

There are a number of intermediate speeds as well; intended to allow use
of (back in the day) slow Flash memory, I suspect.

There's a post on the HP list which mentions running 74 asm at 3 MHz :

http://www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/articles.cgi?read=700

I suspect installing a 6 MHz crystal, and tweaking P24 appropriately will
do that - The numbers work, anyway - But I have'nt tried it.

Edits :

"Look at your watch & press "RUN"..." should be, "press ENTER"...

"...register >118 is the TI-74 equivalent of CC40 register >119..." is not
correct - The CC40 Clock ctl register is >11A...

Jack

Nikosz011
November 19th, 2011, 12:26 PM
Hello! I would like a TI-74 calculator type to buy. Can someone help me? I live in Hungary.

JGardner
November 19th, 2011, 01:42 PM
There's an antiques dealer in Hungary who offers them on ebay from time to time.

TI-74s had a strong user-base in Germany - ebay.de might be worth watching too.

good luck, Jack

sreid
December 27th, 2011, 09:05 AM
The particular peripheral control register being "poked" here controls the memory access timing when reads are performed from the external mask ROM. The ROM used in the TI-74 (and earlier CC-40) has an up-to 3.5 millisecond access time. Certain locations within the ROM may access faster than others, but in general, poking that register will result in some intermittent system software failures.

Back in the day, I had a TI-74 with the mask ROM removed, and replaced with a normal access time EPROM of the same size and pinout; a simple Hitachi 27C256 I believe (I may even still have that unit sitting around). I put a special OS image on it that automatically switched the clock to normal access times. In general, it ran programs about 2.5-2.8 times faster than a unit with the same program running with the "slow" ROM.

Other areas of memory access (processor ROM, and System RAM) were accessed at normal speed. Cartridge ROM and external system ROM were accessed at slow speeds. The cartridge memory area could be accessed at full speed when a RAM was present instead of a ROM. EPROM cartridges were treated like ROM cartridges, even though they could be accessed at full speed; as long as special precautions were taken when calling system ROM routines.

Steve

JGardner
December 27th, 2011, 08:46 PM
Hi Steve -

In my 74s asm routines in cartridge RAM execute at ~ 1/4 the speed of system RAM,
with P24 = >38 (the default, I assume).

Asm routines in cartridge RAM run at the same speed as system RAM, with P24 = >30.
I've been doing that for many years, with no apparent problems.

BASIC, however, is another story.

I'd noticed BASIC pgms run at the same speed in system RAM & cartridge RAM, and are
equally affected by setting P24 to >33 instead of >38.

The Interpreter lives in external masked ROM", aka >C000 - >CFFF, pages 0 - 3, no?

Jack

sreid
December 31st, 2011, 03:04 PM
Jack-
Yes, cartridge RAM accesses are slowed down as well (since even though the system knows that it has cartridge RAM there, it may contain assembly language that would be calling into the "slow" system ROM space). It was deemed safer to keep the speed of the cartridge area as always slow. Knowing this though, if you're running ASM in the cartridge space, it can change the P24 value to speed up to full speed, then restore it before exiting back to the system, OR making any system ROM calls.

BASIC is going to run at the same speed regardless of where it resides because it is interpreted (the interpreter is implemented in the "slow" system ROM). The only way to change that is to change the system ROM (as my one unit did) by swapping the system ROM out and installing a full-speed EPROM AND modifying the system code to change the P24 value. Of course, then you have a unit that cannot access SLOW cartridge ROMs (the production cartridges for the system used the same "slow" mask ROM as is present in the console).

And yes, the external MASK ROM addresses you have are correct. :-)
-Steve