Doors CS [Cur: 5.8 Beta]

A forum where you can announce your awesome project(s).

Moderator: MaxCoderz Staff

User avatar
Jim e
Calc King
Posts: 2457
Joined: Sun 26 Dec, 2004 5:27 am
Location: SXIOPO = Infinite lives for both players
Contact:

Post by Jim e »

Straying from the 257 byte table really breaks compatibilty, especially when it comes to emulators. And besides thats how it's defined for the z80. Anyway saferam2 should large enough to handle the table and a somewhat robust interrupt routine. MirageOS puts most of it's interrupt routine there as well, and it's less used than other saferams due to it's awkward size.
Image
User avatar
KermMartian
Calc Wizard
Posts: 549
Joined: Tue 05 Jul, 2005 11:28 pm
Contact:

Post by KermMartian »

Ah, clearly I didn't entirely elucidate myself about the whole GUIStack premise. As you know, the version that this is supposed to be in will be an app. Hence, ASM programs will be able to bcall into any routines I decide to use, further hence leaving most safeRAM free for developers. In fact, I plan to leave all the safeRAM available, except of course for the Ion vector table, by storing any variables DCS needs in an appvar that's set up when the shell initializes. For this whole GUIStack thing, programs push stuff onto the GUIStack (which is stored in the unarchived, ie RAM-located appvar). When the program wants to turn over control to the user, it bcalls a certain routine within Doors CS that reads the GUIStack, renders all elements of the stack onto the screen, and sets up the hotspot system for mouse clicks and mouse cursor image changes (eg pointer, text, hand, custom, etc). It then jumps over to its own mouse routine, still within the App, and does everything there. As necro (?) proposed, I will also have an optional GUIStack entry type to make the mouse routine itself call into RAM to the program's idle routine, wait for it to finish and return, check the keyboard again, do the idle routine, and so on. When the user actually does get around to do something such as clicking an onscreen button that's meant to indicate the user is done with the current screen and values need to be returned to the program, Doors CS will close up the hotspot table, figure out any stuff that needs to be returned to the program, set up pointers to the data being returned, and then quit the bcall so the program regains control again. The interrupt that CALCnet2 will use is an entirely different beast, and will be handled as such. It's the only thing that will use the safeRAMs to store stuff, ie its read/write buffers, and even those will probably take up no more than 128+128 bytes total. In addition, programs will have the option to enable or disable CALCnet2 via a bcall at any time, and part of the program header will have a bit indicating whether the program would like to use CALCnet2 if a connection is available so that those that don't need it won't be bogged down by it at all.

Keep 'em coming.
Image Image Image
User avatar
KermMartian
Calc Wizard
Posts: 549
Joined: Tue 05 Jul, 2005 11:28 pm
Contact:

Post by KermMartian »

(Just wanted to revive this and post some updates)
ATM I have 3 bugs I'm trying to work out so I can release 5.4 and get on with the app process. To wit:
1. VAT corruption when attempting to move certain items between folders. I believe this may have to do with a malformed VFAT entry.
2. Certain Ion programs crash after the programs hand control back to Doors CS. I believe this may have to do with the associated program routines.
3. TI-Freak8x has reported that his BASIC program Pokemon Purple causes a RAM leak roughly equal to the size of ZDCS. Not sure about this one...
Image Image Image
User avatar
KermMartian
Calc Wizard
Posts: 549
Joined: Tue 05 Jul, 2005 11:28 pm
Contact:

Post by KermMartian »

I am frickin happy right now. At long last I fixed a bug that made Doors CS crash when trying to scroll up. I knew within which 100 bytes the error was occuring, but try as I might I could find no typos or conceptual errors. Finally I spent a painstaking hour tracing the program execution byte by byte in TiLem, only to discover that my mistake was a SINGLE one-byte command reversed: I was substracting two variables instead of adding them because the IDIOTS at Texas Instruments made the VAT work @#%^@#%^#%^%$^ing BACKWARDS. GAR.. *sob* Anyway, it works now, so I'm really happy. Only really one more major bug to root out and DCS5.4 will be ready.
Image Image Image
User avatar
Timendus
Calc King
Posts: 1729
Joined: Sun 23 Jan, 2005 12:37 am
Location: Netherlands
Contact:

Post by Timendus »

Hahaha :mrgreen:

I'm curious to see the result :)
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
User avatar
kalan_vod
Calc King
Posts: 2932
Joined: Sat 18 Dec, 2004 6:46 am
Contact:

Post by kalan_vod »

Cool, glad you worked it out. Btw 1hour is nothing...I spent 2 hours finding a bug and didn't find it. Then the next day I spent 15 min and found out it was stupidy on my part :P.
Was
[A](A+1,B+P
needed to be
[A](E+1,F+P
.... :oops:
User avatar
DJ_O
Calc King
Posts: 2324
Joined: Mon 20 Dec, 2004 6:47 pm
Location: Quebec (Canada)
Contact:

Post by DJ_O »

Timendus wrote:the result :)
a shell %)
Image Image Image Now active at https://discord.gg/cuZcfcF (CodeWalrus server)
User avatar
KermMartian
Calc Wizard
Posts: 549
Joined: Tue 05 Jul, 2005 11:28 pm
Contact:

Post by KermMartian »

:lol: @ Kevin. Well, if I can get that other bug resolved in a reasonable amount of time, you'll have a hugely bloated, 6.5K ASM prog; soon thereafter, with any luck, it will be a single-page app with 9.5 k for fun networking and GUI features.
Image Image Image
User avatar
KermMartian
Calc Wizard
Posts: 549
Joined: Tue 05 Jul, 2005 11:28 pm
Contact:

Post by KermMartian »

So now I'm trying to find this final bug, which appears to be some kind of corruption of the VAT table. Since I can't seem to replicate it well in an emu, I'm going to try to make it happen on my calc, then manually copy out the VAT via CalcSys onto a piece of paper, analyze it, and find the error. Then I'll be able to trace it back. Is there a better way?
Image Image Image
User avatar
tr1p1ea
Maxcoderz Staff
Posts: 4141
Joined: Thu 16 Dec, 2004 10:06 pm
Location: I cant seem to get out of this cryogenic chamber!
Contact:

Post by tr1p1ea »

You cant replicate it in PindurTI? Ive worked with the VAT a bit and PindurTI seemed to work fine?
"My world is Black & White. But if I blink fast enough, I see it in Grayscale."
Image
Image
User avatar
KermMartian
Calc Wizard
Posts: 549
Joined: Tue 05 Jul, 2005 11:28 pm
Contact:

Post by KermMartian »

Yeah, but I'm still having problems with PTI and getting it to turn on. *sob* I'm using ROM 1.12 if that makes a difference.
Image Image Image
User avatar
kalan_vod
Calc King
Posts: 2932
Joined: Sat 18 Dec, 2004 6:46 am
Contact:

Post by kalan_vod »

Your using windows? If so then you may be doing something wrong. Try and make a list of things you are doing so we can help you better.
User avatar
KermMartian
Calc Wizard
Posts: 549
Joined: Tue 05 Jul, 2005 11:28 pm
Contact:

Post by KermMartian »

Directory listing:

e:\calc\vti\pti\
++pindurti.exe
++pti.conf
++send.exe
++ti83p_112.rom
++ti83p_112.rom.pti

I run pindurti.exe, then leftclick and release on the left-hand screen. I've tried closing pti, deleting the .rom.pti and pti.conf files, then opening pti and dragging the ROM back onto PTI and left-clicking, but still nothing.

Oh, and my PTI.conf contains this:

Code: Select all

0:E:\Calc\vti\pti\ti83p_112.rom
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
I've tried left-clicking, power-left-clicking, left-hold-for-ten-seconds-and-release clicking, et al.
Image Image Image
CoBB
MCF Legend
Posts: 1601
Joined: Mon 20 Dec, 2004 8:45 am
Location: Budapest, Absurdistan
Contact:

Post by CoBB »

I simply can't reproduce that error. I've heard it from a number of people, but I just never ever have experienced anything like that during development... If I start with a clean state and left-click for a reasonably long time (say half a second), then it works.
User avatar
Jim e
Calc King
Posts: 2457
Joined: Sun 26 Dec, 2004 5:27 am
Location: SXIOPO = Infinite lives for both players
Contact:

Post by Jim e »

Could be a bad rom, one got speard around sometime ago.
Image
Post Reply