Jump to content

Vorticon

+AtariAge Subscriber
  • Posts

    5,875
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by Vorticon

  1. All in all the TI remains one of the cheapest classic computer available on Ebay.
  2. That's Swedish, not German. And for the record, I am actually learning German because my son lives in Germany! 😄
  3. Looks like a lot of interesting stuff in Progambiten. Particularly intriguing is the TI 59 article although I obviously can read none of it. I wish these could be translated somehow for the benefit of the community, but I can only imagine how much work that would be...
  4. Rich, the community owes you a lot for your dogged efforts at improving XB and for freely sharing. Perhaps it doesn't get said enough, so thank you.
  5. I never thought of passing data to subroutines that way. The learning never stops...
  6. I don't think ChatGPT is well suited for either programming or mathematical work in general except perhaps for very narrow problems. In medicine however, it's ability to find connections between an array of symptomatology and specific conditions has been found to be very helpful in expanding the differential diagnosis in problematic or atypical cases and provide a path for further investigations. This was demonstrated at a recent Grand Rounds (this is a time-honored medical tradition somewhat akin to a weekly TED talk) and it was frankly impressive.
  7. I would love to see a video of that video interface at work.
  8. I bought Legends I and II from Asgard at their table at the Chicago Fair back in the late 90's. The packaging was the usual Ziplock bag
  9. I did get the CRU bits access working which is primarily what I needed. I have a project in mind once I have some free time next week.
  10. Well, 41 years later and the situation does not seem to have changed much! 😁 Back then, as now, the hardware requirements to run UCSD Pascal were steep considering that most folks had bought their TI's heavily discounted towards the end of its production, while expansion hardware like the PEB, floppy drives, 32K RAM, Disk controller and RS232, not to mention a printer, remained very expensive to acquire. Your particular situation definitely was uncommon to say the least...
  11. Do you have any specific instructions in mind in TRS80 Basic you'd like to convert? Cursor positioning functions and string functions tend to be frequent offenders. For example, SEG$ incorporates LEFT$, MID$ and RIGHT$ all in one function on the TI.
  12. I was browsing through the SAGE p-system Program Development manual from 1983, and although it does not specify a particular version of the p-system, it does describe a Turtlegraphics unit and a debugger. There is also SYSTEM.MENU file which can be used with applications. Of interest there is also a description of a native code generator. None of these features were included with the TI version, although we do have now a Turtlegraphics unit thanks to @apersson850. I wonder why the debugger never made it into the package...
  13. It's not an amplified speaker, so that would not have been a good option to plug into the headset port of the 99/4.
  14. It's been a while since your last post. How are you doing?
  15. I tested turning the RS232 card at >1300 LED on and off without activating the card itself using SBO 7 and SBZ 7 and it worked just fine.
  16. Ah I see what I did wrong: I did not .DEF/.REF the .PROC I was calling with a BL. Thanks for the clarification. Apologies for all the questions. There are enough differences between regular assembly and assembly under the pcode system to throw me off old habits. I am however starting to gain a much better understanding of the pcode environment thanks to you. While the pcode assembler and linker manuals have good info, they are not nearly enough for anything more than the most basic assembly routines.
  17. Does inactivating the RS232 card with a sbz 0 wipe out the card registers and buffers (rate, interval etc...)? I have a requirement in the pcode system to activate/inactivate the card repeatedly, and it would be nice not to have to set it up every time...
  18. Oops. Looks like I had forgotten to assemble the updated version and was linking in the old version. Sorry. Having to turn off the RS232 before returning to the pcode system definitely complicates the high-level control of the card through the use of small assembly routines like I've done for XB for example. I do have a side question: Can you BL from one .proc to another (of course saving R11 prior to the call)? I tried doing that and I got weird assembler errors where it would not recognize the .end directive (?).
  19. Ok so I reworked the tests and still same lock up. ; routines for rs232 card access .proc initrs232,1 ; setup the rs232 cru address .def cruadr,pmeret mov *r10+,r1 ; get the desired rs232 card number ci r1,1 jne rs2322 li r1,1300h jmp savecru rs2322 li r1,1500h savecru mov r1,@cruadr ; save base cru address b *r11 cruadr .word pmeret .word .proc testbit ; test cru bit access .ref cruadr,pmeret mov r12,@pmeret li r12,1f00h sbz 0 mov @cruadr,r12 sbo 0 sbo 7 sbz 7 sbz 0 li r12,1f00h sbo 0 mov @pmeret,r12 b *r11 .end program rs232test; procedure initrs232(cardnum : integer); external; procedure testbit; external; begin page(output); initrs232(1); testbit; end. (* rs232test *)
  20. Thank you! Not something I needed to worry about previously. Add it to the quirks and features of the pcode system
  21. I'm developing a set of simple assembly routines to access the RS232 card at the low level, but the computer is locking up during testing. I can't spot anything wrong but perhaps I'm missing something here. Here are the assembly routines: ; routines for low-level rs232 access .proc initrs232,1 ; initialize the specified rs232 card ; 1 = cru 1300h, 2 = cru 1500h .def cruadr mov *r10+,r1 ; get desired rs232 card number ci r1,1 jne rs2322 li r12,1300h jmp init rs2322 li r12,1500h init mov r12,@cruadr ; save base cru address sbo 0 ; activate card sbo 7 ; turn card led on b *r11 cruadr .word .proc rs232off ; shut down the rs232 card .ref cruadr mov @cruadr,r12 ; restore base cru address sbz 7 ; turn off card led sbz 0 ; deactivate rs232 card b *r11 .proc bitset,2 ; set/reset specified cru bit .ref cruadr mov @cruadr,r12 ; restore base cru address mov *r10+,r1 ; get bit state request (0 or 1) ci r1,1 ; verify if state is valid jgt invalid ci r1,0 jlt invalid mov *r10+,r2 ; get cru bit number sla r2,1 ; multiply by 2 a r2,r12 ; offset cru base address ci r1,0 jne set2one sbz 0 jmp invalid set2one sbo 0 invalid b *r11 .end And here is the host test code: program rs232test; var i : integer; procedure initrs232(cardnum : integer); external; procedure rs232off; external; procedure bitset(bitnum, state : integer); external; procedure delay; var i : integer; begin for i := 1 to 50 do end; (* delay *) begin page(output); initrs232(1); (* activate card #1 *) for i := 1 to 10 do begin bitset(7, 0); (* turn card led off *) delay; bitset(7, 1); (* turn card led on *) delay end; rs232off; (* turn card off *) end. (* rs232test *) It's pretty straightforward stuff, so I'm kind of stumped...
  22. Once again great information not in the manuals. That's what I needed to know! Thanks!
  23. Well, NOT being a software engineer (or engineer anything for that matter), I can't tell the difference between a Von Neumann machine and a banana. But I can relate to old bugs gnawing at your brain for decades until you solve them. Case in point: One of the first programs I wrote back in 1981 was a loose version of Pacman (of course, what else) in TI Basic as all I had was a console and a cheap tape recorder, and it ran sluggishly great until it eventually crashed for no apparent reason and I could not at the time figure it out for the life of me. So I tossed the handwritten listing in a drawer and forgot about it. Well not quite. As an undergraduate graduation present in 1986, my parents bought me an IBM PC clone and I never looked back, that is until the mid-90's when I got back into the TI scene out of nostalgia. From there on my knowledge of the TI system dramatically improved through a combination of self-teaching with books and the internet groups. Then in 2007 I launched the TI Gameshelf website and I remembered about my Pacman clone. Interestingly, out of the many programs I had written back in the 80's for the TI, it was the only listing that somehow survived. Weird how the subconscious mind works, eh? In any case, I decided to dive back into it and sure enough I discovered that I was jumping out of a subroutine instead of using RETURN in some special situations, which was eventually leading to a stack overflow and a crash! It may sound silly but the moment I figured it all out was akin to when Newton figured out the laws of gravity. Okaaay that's a tiny exaggeration but hey, it's my recall moment and I can do with it what I want! So there. You can find TI PUCK on the https://www.tigameshelf.net/tibasic.htm site if curious. Nothing to brag about, but it's of "historical value"... 😃
×
×
  • Create New...