Author Topic: Correlation: A New Project Aimed at Ti-Basic Programmers  (Read 61244 times)

0 Members and 1 Guest are viewing this topic.

Offline Hot_Dog

  • Project Author
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3006
  • Rating: +445/-10
    • View Profile
Correlation: A New Project Aimed at Ti-Basic Programmers
« on: November 10, 2010, 12:59:43 am »
Hello, Fellow Lobsters,

Ztrumpet's Exodus, Builderboy's Serenity, DJ Omnimaga's RPG games and Tifreak's Pokemon Purple are examples of games that show how awesome Ti-Basic games can be.  

Most Ti-Basic games are text-based, of course, and there's nothing wrong with that.  However, the TI-OS text-based routines are slow, let's not deny that.  Furthermore, it can be frustrating having to work with fonts that do not contain any of the characters you want.  Wouldn't it be nice if you could have a text-based game that runs quickly and displays shapes, sprites, etc. that you want?

After the success with my S.A.D. Font Routine (Special thanks to Iambian, Calc84maniac and Calcdude84se), I plan on releasing some ASM programs for Ti-Basic programmers to use.  The Ti-Basic programmer will create an 8x8 font or a small text font and store it to a program, say Font.8xp, which can be archived.  Then the user can use big text routines and small text routines using ASM programs I have provided, routnes which will be similar to Ti-Basic routines save needing Ans.  For the heavy-duty ti-basic programmers, this will allow custom text graphics with high speed.

If you want pure-basic programs, these ASM programs are not for you.  However, they can really speed up your text-based program if needed, and provide sweet looking backgrounds and even sprites!

Please comment!  Also, is there another font size that I should include?  I will pick the most popular ones.
« Last Edit: November 11, 2010, 09:54:49 pm by Hot_Dog »

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: New Project Aimed at Ti-Basic Programmers
« Reply #1 on: November 10, 2010, 01:04:34 am »
Will the full range of TI-OS fonts be available?
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: New Project Aimed at Ti-Basic Programmers
« Reply #2 on: November 10, 2010, 01:11:27 am »
I definitely like the idea. Question, will this utility allow the use of the full screen? And by standard sizes, I assume you mean 3X5, 5X7, and 8X8? I know they are a little larger and generally not used as "font sizes", but I think 12X12 and 16X16 would interest people as well.

Offline Hot_Dog

  • Project Author
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3006
  • Rating: +445/-10
    • View Profile
Re: New Project Aimed at Ti-Basic Programmers
« Reply #3 on: November 10, 2010, 01:13:31 am »
Will the full range of TI-OS fonts be available?

Do you mean like all the characters you can use for small font and such?  One can use up to 256 characters.  Most of them can be typed using the keypad, but some require tokens.  However, if you're talking about using the normal Ti-83+ font, I don't know if I can make that possible.  However, you would be able to display those by continuing to use the normal Text(), Display(), etc. OS routines

Quote
will this utility allow the use of the full screen? And by standard sizes, I assume you mean 3X5, 5X7, and 8X8? I know they are a little larger and generally not used as "font sizes", but I think 12X12 and 16X16 would interest people as well.

I'll keep those in mind when I tally up the numbers.  Yes, full screen will be allowed :D
« Last Edit: November 10, 2010, 01:27:36 am by Hot_Dog »

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: New Project Aimed at Ti-Basic Programmers
« Reply #4 on: November 10, 2010, 01:16:04 am »
Full screen=win ;D

Offline Hot_Dog

  • Project Author
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3006
  • Rating: +445/-10
    • View Profile
Re: New Project Aimed at Ti-Basic Programmers
« Reply #5 on: November 10, 2010, 01:19:21 am »
Oh, and as usual, full documentation will be provided, including instructions for creating your font
« Last Edit: November 10, 2010, 01:19:39 am by Hot_Dog »

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55941
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: New Project Aimed at Ti-Basic Programmers
« Reply #6 on: November 10, 2010, 01:22:38 am »
That would be great. One thing, though:

Remember that the Asm() command is very slow when the VAT is filled with many files, especially sub-routines. As a result, if a BASIC game uses about 80 sub-programs, Each executions of Asm(prgmNAME) will take about 0.5 second before responding at all. Because of that, this would need to be a hook. Maybe some sort of Doors CS 7 plugin? I wonder if it's possible to install a parser hook from an Asm() program, though. It might be best if someone wants to keep ASM lib usage to minimum and just use yours.

An example of how slow Asm() is is ROL3 map loading. Each tile takes 0.33 seconds.

That said, I'm curious about future development on this. :)

Offline Hot_Dog

  • Project Author
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3006
  • Rating: +445/-10
    • View Profile
Re: New Project Aimed at Ti-Basic Programmers
« Reply #7 on: November 10, 2010, 01:25:33 am »
That would be great. One thing, though:

Remember that the Asm() command is very slow when the VAT is filled with many files, especially sub-routines. As a result, if a BASIC game uses about 80 sub-programs, Each executions of Asm(prgmNAME) will take about 0.5 second before responding at all. Because of that, this would need to be a hook. Maybe some sort of Doors CS 7 plugin? I wonder if it's possible to install a parser hook from an Asm() program, though. It might be best if someone wants to keep ASM lib usage to minimum and just use yours.

An example of how slow Asm() is is ROL3 map loading. Each tile takes 0.33 seconds.

Gotcha.  I'll definitely need help with hooks

Offline meishe91

  • Super Ninja
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2946
  • Rating: +115/-11
    • View Profile
    • DeviantArt
Re: New Project Aimed at Ti-Basic Programmers
« Reply #8 on: November 10, 2010, 01:30:30 am »
@AoC
The two fonts are actually 4*6 and 6*8 ;) (You forgot about the buffer areas that are occasionally used, in the small text anyways.)

This seems cool though. I'm not entirely sure if I entirely understand it but still seems cool :D
Spoiler For Spoiler:



For the 51st time, that is not my card! (Magic Joke)

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55941
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: New Project Aimed at Ti-Basic Programmers
« Reply #9 on: November 10, 2010, 02:55:23 am »
In summary, it's an ASM lib for BASIC programmers that lets you use custom fonts with a custom font routine as alternative to TI's text commands. I think Celtic III/DCS used a custom font routine that could draw text to the buffer instead of directly to the screen, so you could display everything at once instead of gradually, but I don't think it let you use different font sets.
« Last Edit: November 10, 2010, 02:56:34 am by DJ Omnimaga »

Offline Hot_Dog

  • Project Author
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3006
  • Rating: +445/-10
    • View Profile
Re: New Project Aimed at Ti-Basic Programmers
« Reply #10 on: November 10, 2010, 01:37:32 pm »
I forgot to mention that your font doesn't have to take a lot of disk space.  If you need only 10 special characters for the whole game (using the Ti-OS routines for regular text), your font file will be very small.  If you want a lot of text-based sprites, you will need a bigger font file.  There will also be error messages if you make a mistake!
« Last Edit: November 10, 2010, 01:39:55 pm by Hot_Dog »

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55941
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: New Project Aimed at Ti-Basic Programmers
« Reply #11 on: November 10, 2010, 01:48:13 pm »
So we don't need all chars? It would be nice because Omnicalc fonts included every font and were extremly large. Sometimes, all we need is 0 through 9, A through Z, a through z, dot, comma, exclamation mark, question mark, arrow and I even saw some NES RPGs where i and j, i and l and that stuff were merged together to save space.
« Last Edit: November 10, 2010, 01:48:41 pm by DJ Omnimaga »

Offline Xeda112358

  • they/them
  • Moderator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: New Project Aimed at Ti-Basic Programmers
« Reply #12 on: November 10, 2010, 01:50:00 pm »
Hey, not to spam or anything, but I have made a program (SpriteLib) which lets you edit the font a little and use the display routines I even included an example (try example 2) to show what it can do. It is an ASM program and it sets the font hook to work during BASIC program execution and for the hex digits. Example 1 has more maps, but was created early on without the full use of all of the functions...

http://www.ticalc.org/pub/83plus/asm/graphics/spritelib.zip

Offline Hot_Dog

  • Project Author
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3006
  • Rating: +445/-10
    • View Profile
Re: New Project Aimed at Ti-Basic Programmers
« Reply #13 on: November 10, 2010, 01:50:54 pm »
So we don't need all chars? It would be nice because Omnicalc fonts included every font and were extremly large. Sometimes, all we need is 0 through 9, A through Z, a through z, dot, comma, exclamation mark, question mark, arrow and I even saw some NES RPGs where i and j, i and l and that stuff were merged together to save space.

That's right!  You don't need all chars.  But that reminds me, I need to let the user pick which char he needs to start at.  Sadly, if you need all numbers except the number 7, you would still need a character for 7 in your font.  The text routines let you pick your starting and ending characters, but they don't let you skip characters.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55941
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: New Project Aimed at Ti-Basic Programmers
« Reply #14 on: November 10, 2010, 01:53:26 pm »
AH ok I see, so we can't skip letters, but we can skip some other chars like Theta, %, $, etc? That said, I would myself keep a few spare unused chars included so I can use them for icons like sword, armor, item, etc. :D