Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - DrDnar

Pages: 1 ... 34 35 [36] 37 38
526
ASM / Re: [Urgent Request] Modifying OS 2.53MP
« on: January 27, 2011, 06:06:55 pm »
Perhaps Krolypto should be updated so it's impervious to battery pulls.

527
General Calculator Help / Re: msd8x won't work
« on: January 26, 2011, 08:48:33 pm »
So it might be possible to make a program for it, not a 16kb extensive-gui app...never thought of that.
Not quite. The BASIC interface doesn't have a file enumeration function. And I'm not sure the USB8X driver layer can be initialized from Axe. If it can't be done currently, it shouldn't be hard to add support for that functionality. IIRC, MSD8X uses the extra RAM pages for buffering, especially for the directory entry listing.

Edit: If you're wondering, the USB8X driver requires that you set aside 32 bytes of RAM for the resident driver handler routine (which uses self-modifying code). The routine to initialize that is about 40 to 50 bytes. The U_CALL macro itself is simple enough that you could inline every instance of it. Each driver also has its own memory requirements. For example, the MSD driver requires a 512 byte sector buffer, and a 254 byte internal buffer. All of these routines use pass-by-register for inputs, and many outputs.

528
General Calculator Help / Re: msd8x won't work
« on: January 26, 2011, 07:38:07 pm »
Protip: you don't need MSD8X to use the MSD driver in USB8X. You can use the BASIC interface to read and write files, but you have to memorize the exact file names.

And yes, this means you don't need the extra RAM pages.

529
General Calculator Help / Re: 84 Plus...six apps...out of memory...help?
« on: January 25, 2011, 03:13:47 pm »
Have you tried taking out all the batteries, including the backup, for at least 6 hours? That resets a lot of things, including Flash memory (more than a reset does)
That is wrong. Flash is non-volatile memory, meaning that it does not require a power source to retain its information. If you've gotten flash messed up enough that the unit cannot boot, the only way to clear it is via the boot self test.

Edit: Ninja'd

530
General Calculator Help / Re: 84 Plus...six apps...out of memory...help?
« on: January 24, 2011, 10:03:31 pm »
But have you tried either of the above procedures? My warning about garbage collect issues only applies <i>after</i> you Reset All Memory.

531
General Calculator Help / Re: 84 Plus...six apps...out of memory...help?
« on: January 24, 2011, 09:58:26 pm »
The swap sector is used during garbage collection and defragmentation to store data temporarily. If the above procedure doesn't work, you can try resetting All Memory from the Memory>Reset menu. (Just resetting the Archive will not erase the swap sector. I know this because I once wrote a program that marked every sector as a swap sector.) This should temporarily give you 64 K of extra archive memory because no swap sector will exist. I believe you need to force a garbage collect---you can do this from the Catalog---to get it to recreate the swap sector. If you fill up memory before creating a swap sector, you won't be able to garbage collect or defragment.

I had a similar problem, too, previously. I can't recall exactly how I fixed it, but I did fix it.

532
Math and Science / Re: Science and Technology community quiz
« on: January 17, 2011, 05:56:41 pm »
Am I the only person who memorized that?

533
Math and Science / Re: Science and Technology community quiz
« on: January 15, 2011, 12:43:56 pm »
Hah. It was a guess.

What is the starting address of an assembly program on the TI-83+/84+/SE? Remember, no looking it up!

I won't near an Internet connection again until late Sunday, so somebody else can confirm an answer for me, I guess.

534
Math and Science / Re: Science and Technology community quiz
« on: January 14, 2011, 12:43:55 am »
interference

535
Calculator C / Re: Executable Code
« on: January 13, 2011, 09:37:03 pm »
Or just use the ELF format. Tools already exist for it. Ndless would just need support for reading it.

536
News / Re: OS 2.55MP released
« on: January 11, 2011, 09:21:06 pm »
Huh. I thought the sector at 7Ch was unused.

537
Calculator C / Re: Executable Code
« on: January 11, 2011, 07:03:14 pm »
Fine, put a version (d)word at the start. Ultimately, it's not up to me.

538
News / Re: OS 2.55MP released
« on: January 11, 2011, 06:34:32 pm »
I don't remember the boot code having a downgrade protection feature. Even if it did, it would have to be certificate-based. A certificate-based restriction could easily be undone by restoring your certificate from an older backup. What? You don't keep backups of your certificate? Shame.

Also, the TI-Boy issue can be solved by first copying the extra OS page to the 32 K sector, and then proceeding as normal. For that matter, you could patch the new OS to use that dang 32 K sector instead.

539
Calculator C / Re: Executable Code
« on: January 10, 2011, 11:42:50 pm »
It's not so much an end marker as a version number, I guess.

540
Calculator C / Re: Executable Code
« on: January 09, 2011, 09:10:05 pm »
That looks a lot like headers from Z80-series programs. Unfortunately, that is not very flexible. I would suggest the following instead:
Code: [Select]
struct header {
    char[8] "NdlessEx"; // Identifies program as Ndless executable
    void (*main)(); // Pointer to main entry point, or 0 if no basic main entry point is specified
    void *relocationData; // Pointer to relocation data block, or 0 if no relocation data is present
    void *metadata; // Pointer to meta-data block, or 0 if no meta-data is present
    void *debugSymbols; // Pointer to table of debugging information, or 0 if no debugging information is present
    int 0; // Specifies that no additional pointers are present in the header block
};
Following the header block, no particular structure is imposed on the file. The main function, meta-data, debugging symbols, and relocation data can be placed anywhere in the file and in any order. There is no requirement for any of these blocks to be located immediately after the header block; programs can have functions or data after the header block if desired. Future standards may replace the 0 integer after the final pointer with additional pointers as needed.

To run a program, the Ndless loader will first examine the meta-data in the file, if present and necessary by future standards. Ndless will then process the relocation table, if present. Finally, Ndless will jump to the main entry point.

The main pointer may be null if the program has no main entry point. This could be because the program is actually a library, in which case Ndless may still need to perform relocation, and the library can present its metadata and debugging data in a standard format. This may also be because the program is not a raw Ndless executable, but based on the standard because, for example, it adheres to a later standard and should not be run by earlier Ndless versions, or is a shell-only program, in which case the shell will find the main entry point in a implementation-specific way (while still taking advantage of Ndless's future native relocation, meta-data, and debugging abilities.)

The format of the relocation data structure is not specified here. Somebody with more experience in that area may wish to define that.

The meta-data block should be XML-encoded using the encoding the Nspire prefers. The XML data block may be parsed using TI's routines. This data may be presented to the user by a shell. Programs may choose to read their own meta-data to, for example, display their own version information. Programs should include, at a minimum, Version, Title, and Author tags. Additional Author tags may be present for group projects. Additional tags may include Date, Description, Icon, and Copyright. The meta-data block is also a good place to place information on additional libraries needed, and minimum hardware, operating system, and/or Ndless version requirements.

The format of the debugging data structure is not specified here. This may become a part of the Ndless standard; or, the standard may simply state that debugging data is specific to a particular combination of compiler/linker and debugger, whether in-system or via emulator.



Pages: 1 ... 34 35 [36] 37 38