Doors CS [Cur: 5.8 Beta]
Moderator: MaxCoderz Staff
- Jim e
- Calc King
- Posts: 2457
- Joined: Sun 26 Dec, 2004 5:27 am
- Location: SXIOPO = Infinite lives for both players
- Contact:
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.
- KermMartian
- Calc Wizard
- Posts: 549
- Joined: Tue 05 Jul, 2005 11:28 pm
- Contact:
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.
Keep 'em coming.
- KermMartian
- Calc Wizard
- Posts: 549
- Joined: Tue 05 Jul, 2005 11:28 pm
- Contact:
(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...
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...
- KermMartian
- Calc Wizard
- Posts: 549
- Joined: Tue 05 Jul, 2005 11:28 pm
- Contact:
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.
Hahaha
I'm curious to see the result
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
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
- KermMartian
- Calc Wizard
- Posts: 549
- Joined: Tue 05 Jul, 2005 11:28 pm
- Contact:
- KermMartian
- Calc Wizard
- Posts: 549
- Joined: Tue 05 Jul, 2005 11:28 pm
- Contact:
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?
- KermMartian
- Calc Wizard
- Posts: 549
- Joined: Tue 05 Jul, 2005 11:28 pm
- Contact:
- KermMartian
- Calc Wizard
- Posts: 549
- Joined: Tue 05 Jul, 2005 11:28 pm
- Contact:
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:
I've tried left-clicking, power-left-clicking, left-hold-for-ten-seconds-and-release clicking, et al.
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: