• Please review our updated Terms and Rules here

Making TI-74 LOAD.PGM a bit more convenient

ClassicHasClass

Veteran Member
Joined
Mar 22, 2013
Messages
2,263
Location
(not so) sunny (No) So Cal
I've got my HEXTIr loading and saving with my TI-74 (with one of @Jeff_Birt's serial Dockbus units as interposer). All this works well. However, it's kind of a drag to have to run LOAD.PGM manually to load essentials like CALL PEEK/POKE/EXEC and so on.

Does someone have a better solution, maybe even something that can batch load all the subs you want in one go? I tried dumping LOAD.PGM as a .B74 but it is quite clearly a machine language hack and not a real BASIC program.

The eventual goal is to make a small terminal program for the '74 along the lines of Memo Processor on the CC-40 ... unless someone has beaten me to it. That would save me some time!
 
And while we're on the subject:

This program works fine on the CC-40.

Code:
100 CALL GETMEM(21,XBADDR)
110 CALL POKE(XBADDR,114,1,83,114,65,92,34,0,82,54,142,248,54,34,0,82,12,142)
120 CALL POKE(XBADDR+18,248,54,10)
130 CALL EXEC(XBADDR):CALL RELMEM(XBADDR)

It displays A at the second position, waits for a key, and terminates. The source is (assemble with Macro Assembler AS):

Code:
calpag  equ 0f836h

        mov #1,53h
        mov #65,5ch
        mov #0,a
        mov #036h,b
        call calpag
        mov #0,a
        mov #0ch,b
        call calpag
        rets

On the TI-74, when I key this code in, it hangs the machine and requires a reset. No character is shown; it seems to hang immediately at the call site. A simple single RETS does work (assuming POKE.SUB, EXEC.SUB, etc.) are all loaded. Did CALPAG move in the TI-74 ROM? And where is all this documented?
 
ROM call addresses in the CC40 & TI74 are different.

Documentation: “SDS3.0 Technical Reference Manual” - The most recent version I am aware of

for the PCIF-based cartridge Pgm & sub-Pgm scheme for the ‘74.

Also, there are, or were, quite a few pieces of the “SDS 2.0” serial link software available from

WHTech, although usually not identified as such - I bet Jeff Birt knows more about this…. “8)

HTH, Jack
 
Also, per “something that can batch load all the subs you want in one go…”, it’s possible

to concatenate Pgms & sub-Pgms into 1 big file - With the big file’s Autostart bit set so that

it runs when the 74 powers up your “Autoload” Pgm will install whatever you’ve told it to -

Works great, as long as you’ve got all the Pgm & sub-Pgm pointers set correctly…. “8)

I had an 8K cartridge set up to install LOAD.PGM, RBUG.SUB, PEEK.SUB, POKE.SUB, &

EXEC.SUB, with about 4K to spare - Very handy!

Jack
 
Good Lord - did you notice the date on that email? 1999 !

No wonder I feel old! “8)
 
A kind person on the board got me where I needed to get the rest of the conversions.

How does that concatenation process work that you described? I think I can guess how to glom the SUBs together manually (if there is a better process I'm all ears), but how do I make it autostart and install them?
 
OK, while I work on my dissertation on the structure of CC40/TI74 programs, let me ask a question -

Do you have a CC40? This will be much easier for you if I can have you enter a short pgm & then

view what is actually stored in RAM (with DEBUG)…

Jack
 
Good show - May I assume you have the EA reference manual as well, then?

You’ll find most of what you need to build an Autostart pgm for a CC40 cartridge

In the EA reference manual, under “Cartridge Memory”, scroll down to the table

On Page 1-10, & note the function of bit 7 in address >9003 - Setting this bit causes

the console to execute the 1st pgm in the cartridge linked list when powered up. If

that pgm writes sub-pgms contained within to system RAM & resets the system pointers

appropriately, you’re in tall cotton!

Now this is’nt particularly useful on a CC40, but the TI-74 works exactly the same, except

the relevant system pointer addresses are different - IIRC the lowest address in 74 sub-pgm

memory is >2183; the high address pointer grows upwards.

Also, IIRC, your SDS 3.0 reference manual has a list of System Address pointers.
 
Also FYI, the 74 cartridge pgm I wrote to load some of the “missing” (per CC40) subs & Pgms

(LOAD, RBUG, PEEK, POKE, & EXEC in its 1st rendition) assumed a “NEW ALL” had been ex-

xecuted from the console, which was then turned off. Powering back up executed the autoload

pgm which then installed the pgm & subs in System RAM - The purpose of the “NEW ALL” was

to reset System pointers to their initial state, which made cleaning up System memory pointers

after the download straightforward. Capiche? 😎
 
To load all assembler-progs in a bunch is described in TI-74 SDS 2.0 "Creating Example Cartridge". Every Cartidge needs a (assembler-written) header, which can contain every assembler-prog (like Peek, Poke and many more located in OBJ-Dir of SDS), if you have them in .obj format. .obj-files are linkable object modules in TI-format. Unfortunately only provided by TI to developer with SDS. But there are some DOS-programs on SDS like CONVERT(D)(E) to create .obj, .sub, etc. fom ASM7-output. (D=downloadable .sub, E=EPROM loadable .sub)

Conclusio: It seems to be the best way to have all assembler-extensions on a TI-74, to create your own 8/32KB-image and put it on a Cartrige (RAM or EEPROM!). On a Cartridge with more banks always to Bank0.

I'm new in TMS7000 and learning to do assembler on TI-74/95. I have not written a Header myself till yet (I have one, with some assembler-extensions from a friend to use for my own (Basic) Progs to create 32KB-Images), but I try to learn.

(sorry for my poor English - it'ts not my native language)
 
Hi Harry -

You are 100% correct - Welcome aboard! Some of what I’ve written earlier in the thread

was aimed at users who did’nt have access to the SDS docs, which historically has.been

cIosely held by TI (at least in the US). In the 90s pretty much everything was available from

the German TI community; apparently things are changing? Good - It’s about time… 😎

And, no worries, your English is excellent - Have fun!

Jack
 
Hi Jack!

Thank you for your kind wellcome!
SDS (and TIIF2/PC-Interface) is absolutely needed to do own images. There is no chance to do it with HexBUS-Interface or CI-7. Fortunately TIIF2 is reprogrammed by Peter Engels and shematics of interface is public.
I know, TI has'nt released SDS public, but there are other ways........some companies here in EU owned it......
If anyone will do something in this direction, I will support (PM).
 
Umm - Cartridge images can be built by hand - I’ve done it. Waaay too much work though;

nor do I recommend violating copyright law - Life’s too short… I guess one good thing about

hand-building cartridge images is you probably won’t get dragged into court over it - Too easy

to plead Insanity, for one thing… 😕
 
Harry! It so happens I know Herr Engels slightly - The OS/2 wizard !!

Small world…

Jack
 
Umm - Cartridge images can be built by hand - I’ve done it. Waaay too much work though;

nor do I recommend violating copyright law - Life’s too short… I guess one good thing about

hand-building cartridge images is you probably won’t get dragged into court over it - Too easy

to plead Insanity, for one thing… 😕
Build by hand? WOW! Without BUILD-command? That IS a lot of work...

Violation Copyright: Yes, agree! If missunderstood: I cannot offer SDS or parts of it, but I can give a little help in case of certain questions......
It's sad that TI does'nt release this 40 years old, outdated software.
As I said before: I'm learning and try to build such a 32KB-image with all necessary assembler-extensions and usefull basic-subs, but that will take some time....


Yeah, Peter is a real expert. He has reworked TIIF2 a few month ago with new features: You can now draw on screen with TI74/95! And there is a graphic (math) function-engine integrated now - absolutely crazy, what you can do now (after 40 years!!). Works for all: TI74/95 and CC40.
But that's not all - there are more new features.

Last but not least: For the CC40 TI sold a "Assembler"-cartridge with a built in "Line-Assembler/Editor". Does, or have existed a similar cartridge for the TI-74?
 
Are you familiar with the “Editor-Assembler” cartridge for the CC40? About 10 years ago I helped

board member “Acadiel” dump the ROM for his EA cartridge & was able to copy it & get it running;

AFAICT it worked as advertised, although I’m fairly easy to amuse - Programming was done with #2

pencils & yellow legal pads when I was a kid… 😎

Anyway, EA docs are available from WHTech if you have’nt seen them - Go to whtech.com, scroll

down to the “browseable & searchable” link, and check out the “CC40” and “hexbus_cc40_ti74”

directories.

Jack
 
Is there an EA port for the TI-74? Not AFAIK. Could it be done? Sure. (Easy for me to say… “8)

Jack
 
Back
Top