CodeWalrus

Development => Calculators => Calc Projects, Programming & Tutorials => Topic started by: Snektron on April 18, 2015, 11:18:58 pm

Title: [TI84+CSE] DovahCalc CSE
Post by: Snektron on April 18, 2015, 11:18:58 pm
I wanted to try out CSE Developement for a while, and i also wanted to see my DovahCalc (http://codewalr.us/index.php?topic=392) for the CSE, since it has a higher res. Most of the code is the same, only the menu and the way it loads fonts (because the bitmap layout is ridiculous - i even made a small editor for it).
(https://codewalr.us/proxy.php?request=http%3A%2F%2Fimg.codewalr.us%2Fdovahcse.png&hash=6f77f80d0b74f7231fe54e9c7f811d8e)
Turned out quite nice i think. Now, it should chain, but i don't know any font hook for CSE and i didn't really have time either (its 1:17 am and i kinda want to sleep).

EDIT: it looks like DCSE8.1 turns the hook on after a program has ran. thats strange, since DCSE8.1 probably doesnt do chaining correctly, then
Title: Re: DovahCalc CSE
Post by: DJ Omnimaga on April 19, 2015, 04:06:20 pm
Wow that looks even better in high resolution. :D Do you mean it works fine even with DCS installed? I am curious about how First Fantasy looks like with this font. :P

If it worka fine with DCSE and has no adverse effects, do you think you could do some editor? I might be interested for doing something with FFMF.
Title: Re: [TI84+CSE] DovahCalc CSE
Post by: Snektron on April 19, 2015, 04:25:12 pm
i thied to run it with FFMF and it looks like the hook doesnt work then. It doesnt get removed, it just won't work when inside a program. A normal program does work, though

And yeah it works with DSCE installed, only DCSE does something weird with the chain. i'll have to look at that.
EDIT: it also looks like DCSE removes the hook when running a ti-basic program. verry strange
Title: Re: DovahCalc CSE
Post by: DJ Omnimaga on April 19, 2015, 11:56:31 pm
Aw sorry to hear. Do you think it could be fixable? By the way here is a screenshot of FFMF in action with it:

(https://codewalr.us/proxy.php?request=http%3A%2F%2Fimg.codewalr.us%2Fffmfdovah.gif&hash=be49be4eb5f566288b5d454f8e702342)

Maybe DCSE removes the hook during BASIC runtime in case of hook conflicts?

Also yeah, it would be nice if it had the option to change other characters too. Some people might want, for example, to replace the theta or delta symbol with a crystal and the weird accented letters to other single-color sprites.

By the way, one thing I wonder that could be the culprit: When DoorsCSE's Celtic color font features get installed, it modifies the behavior of the Output command so that it adds extra lines of pixels below font backgrounds so that the background color fills the entire case. Normally, the TI-OS leaves white horizontal gaps between each line of text.
Title: Re: [TI84+CSE] DovahCalc CSE
Post by: Snektron on April 20, 2015, 07:00:45 am
Quote from: Kerm Martian
So I created a bit of a fonthook at the expense of about 200 bytes on page 1 that fills in the two pixels below homescreen characters with the background color when DCSE's color-text mode is enabled, like so:
(https://codewalr.us/proxy.php?request=http%3A%2F%2Fi.imgur.com%2F4CalMMb.gif&hash=7eedff6cdbd1a8dd967e38d9401bde8f) (https://codewalr.us/proxy.php?request=http%3A%2F%2Fi.imgur.com%2F1XUOTqV.gif&hash=198b71696e826482bbfe279751330894)
I have two questions for you guys:
1) Should I bother trying to find a safe way to back up and restore any existing font hooks?
2) Should I insist people release their DCSE8 ASM programs unlocked, so that users can see the OpenLib(DoorsCSE) header? With them locked, that header is sort of useless as a hint to download the shell.


I found this post on cemetech (https://www.cemetech.net/forum/viewtopic.php?p=210716), and i think it re-installs the font hook everytime it runs a basic program. As for why it deactivates the font hook after it runs and restores it when disabled via my app, i have absolutely no idea. (Though i suspect it's bad saving/restoring of the hook)

EDIT (DJ): Added link to original Cemetech post
Title: Re: DovahCalc CSE
Post by: DJ Omnimaga on April 20, 2015, 03:14:20 pm
Aaah right that is the post. Thanks for the find. I am thinking that his hook overwrites yours, but I wonder if you could ask him if there are ways to get around it so that custom fonts can be used with this, for example.
Title: Re: [TI84+CSE] DovahCalc CSE
Post by: Snektron on April 20, 2015, 04:37:53 pm
Yeah, though i think that would require some code change in DCSE itself :/
Title: Re: DovahCalc CSE
Post by: Duke "Tape" Eiyeron on April 20, 2015, 04:47:14 pm
I like the result. This is a good example of how the bigger screen can give more details to simple things like fonts.
Title: Re: [TI84+CSE] DovahCalc CSE
Post by: Snektron on April 20, 2015, 05:09:24 pm
Thanks :) and thats why i made it
Title: Re: DovahCalc CSE
Post by: DJ Omnimaga on April 20, 2015, 07:45:24 pm
Quote from: Cumred_Snektron on April 20, 2015, 04:37:53 pm
Yeah, though i think that would require some code change in DCSE itself :/
Yeah probably. I wonder if Kerm would be willing to do that (if it's possible) or maybe include a font feature in DCSE. The issue is that the CE is out so it's not clear if DCSE will still be updated

EDIT I brought the matter up with Kerm in case he would like to share a workaround, if any. https://www.cemetech.net/forum/viewtopic.php?p=234325#234325
Title: Re: DovahCalc CSE
Post by: DJ Omnimaga on April 21, 2015, 05:18:24 pm
Update: Kerm replied to my post at http://www.cemetech.net/forum/viewtopic.php?p=234347#234347 and it appears that the reason why your fonts won't show up when using det(12,?,?,?,? is that det(12 disables chaining due to too much slowdowns. With chaining enabled for a custom font, every character output would require an appvar lookup it seems.
Title: Re: [TI84+CSE] DovahCalc CSE
Post by: Snektron on April 21, 2015, 05:28:10 pm
yeah thats why i store my hook in a random ram location
Title: Re: DovahCalc CSE
Post by: DJ Omnimaga on April 21, 2015, 05:54:58 pm
Would that get around the speed problem?
Title: Re: [TI84+CSE] DovahCalc CSE
Post by: Snektron on April 21, 2015, 06:00:18 pm
yeah, that doesnt require some random TI routine :P
Title: Re: DovahCalc CSE
Post by: DJ Omnimaga on April 21, 2015, 06:03:32 pm
Ah ok. And are you 100% sure you aren't overwriting RAM locations used by Doors CSE hooks?
Title: Re: [TI84+CSE] DovahCalc CSE
Post by: Snektron on April 21, 2015, 06:11:50 pm
Well i am using 5 bytes at 9B90h somewhere near basic_prog and pc_end or something
Title: Re: DovahCalc CSE
Post by: DJ Omnimaga on April 21, 2015, 07:10:16 pm
Ah OK. Hopefully DCSE doesn't use those.