Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

1,172 Excellent

About Willsy

  • Rank
    River Patroller
  • Birthday 12/03/1970

Contact / Social Media

Profile Information

  • Gender
  • Location
    Uzbekistan (no, really!)
  • Interests

Recent Profile Visitors

16,850 profile views
  1. Oh my this was seven years ago! We should keep this thread alive and include fbForth and Forth99.
  2. Also, I wonder how fast it would be with no screen I/O at all? Just output the final result? Then you're really timing your algorithm (and the underlying Forth system, of course) and removing the I/O.
  3. He he! Great to see this thread come back to life - I'm really enjoying it. I'd be interested to see how fast TF is with the screen scrolling switched off: FALSE SSCROLL ! The problem with screen scrolling is we're adding the time taken to scroll the screen into the measurements. By removing it, I think you'll see the effects of your optimisations much more clearly. Have fun 🙂
  4. Yes but you need to access vdp regularly to allow the interrupts to fire. Interrupts in TF were an after thought. Most video related commands, and things like JOYST do that for you. For example if you ran this program, interrupts wouldn't work: : test begin again ; But this would work: : test begin 0 [email protected] drop again ;
  5. Shucks, thanks guys!
  6. Just stopping in to say a quick hello to all my TI friends! I still pop by the site most days to read various threads, especially the Forth stuff, but I'm mostly in lurk mode because if I allow myself to go back down the TI/Forth/Assembler rabbit hole my university grades will suffer! I've allowed myself a very enjoyable couple of hours this evening going over old TF threads in search of some info on a question for TSR code for TF. I found a sound player written in FOrth assembler that I had completely forgotten writing. Bit rot, eh? Anyway, wanted to say hi - I'm still kind of around - and will be back once my degree is finished. Take care Mark
  7. For more info on ISR/TSR in TF, see this thread. That was a nice a nice trip down memory lane!
  8. Even I don't know how to call a Forth word (in TF) from an assembler word. I've looked at it a couple of times and it makes my hed hurt! If you guys ever fathom, could you let me now
  9. This might provide some inspiration. The Forth syntax probably won't mean very much, but overall i'm sure it'll make sense. Cheers Mark
  10. NTSC or PAL? In addition, are you guys running any fancies such as F18 etc. It's not really enough to say "it works fine on my system". When you've seen one TI system, you've seen... one TI system
  11. You're probably too far down the track now, but some of the SAMS code in TF may be help/interest. Check out http://turboforth.net/source/Bank1/1-04-Memory.html (the word >MAP i.e "to mapper") ; ; >MAP ( bank address -- ) ; If a SAMS card is present, maps memory bank "bank" to address "address" _sams mov r12,r11 ; save address of NEXT mov *stack+,r1 ; get address andi r1,>f000 ; set to 4k boundary srl r1,11 ; divide by 2048 ai r1,>4000 ; convert to SAMS register address mov *stack+,r2 ; get bank andi r2,>ff ; mask off any crap mov r2,r0 ; keep a copy sla r2,8 ; move to high byte xor r0,r2 ; combine r0 & r2. Hi & lo bytes are now identical li r12,>1e00 ; cru address of SAMS sbo 0 ; enable SAMS registers mov r2,*r1 ; poke sams register sbz 0 ; disable sams registers mov r11,r12 ; restore address of NEXT b @retB0 ; return to caller Also, the SAMS initialisation code in http://turboforth.net/source/Bank1/1-16-Initialise.html ; initialise SAMS card if fitted li r12,>1e00 ; sams CRU base sbo 0 ; enable access to mapper registers sbz 1 ; disable mapping while we set it up li r0,>4004 ; register for >2000 li r1,>f8f8 ; map bank >f8 into >2000 mov r1,*r0+ ; do it li r1,>f9f9 ; map bank >f9... mov r1,*r0+ ; ...into >3000 ; now set up the banks for high memory... li r0,>4014 ; register address li r1,>fafa ; register value li r2,6 ; loop count sams mov r1,*r0+ ; write to the register ai r1,>0101 ; next register value dec r2 ; finished? jne sams ; loop if not sbo 1 ; enable mapping sbz 0 ; lock the mapper registers
  12. The Bunyard manual will probably be the best resource. It was written by one of the TI engineers that worked on the project, if I remember correctly. I think it's available in the resources thread. Regards
  • Create New...