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 - TC01
Pages: 1 ... 13 14 [15] 16 17 ... 24
211
« on: August 16, 2010, 08:27:19 pm »
Welcome! Glad to see someone else who's interested in 68k programming. I don't know how many 68k assembly programmers there even are, these days- I think most use C, don't they?
212
« on: August 16, 2010, 07:54:08 pm »
Two more updates.
First, two-byte tokens now work! I've only tested (and added) the matrix tokens, but they tokenize fine. I did have a bug involving any token with a 00 byte, but with TravisE's help I fixed it. Now I can start adding the other user variable tokens.
Second, I've added a new feature (of a sort): the ability to run this program by passing it three arguments instead of from the dialog box. This might not sound too useful, but I did it because it would allow you to call this program from a 68k BASIC program, allowing you to quickly retokenize a program that you are editing without needing to fill in the dialog again (something that has annoyed me in my testing).
It also doesn't break the dialog- if you do not have three arguments to the program, the dialog box appears instead.
Also, I can see that a few people have downloaded the alpha I uploaded... if you have, has it worked? Any bugs to report?
213
« on: August 16, 2010, 04:26:46 pm »
Is there a reason to use memcpy over memmove for this case? memmove is working at the moment- I used it because the documentation says it can deal with it when the source and destination overlap and memcpy can't.
But thanks for the help, everyone, it's working now.
214
« on: August 16, 2010, 04:06:13 pm »
I do use strncat for part of this... I have a function, tokenizeString, that is given the string, an unsigned character array, and the array of tokens. It returns the number of bytes that need to be appended to the output array, and then I use strncat to do just that:
numswaps = tokenizeString(line, tokline, tokens); output = strncat(output, tokline, numswaps); So, I should be using memmove (or memcpy?) instead here?
215
« on: August 16, 2010, 01:03:11 pm »
This morning, I checked if Solar89 can properly handle two-byte tokens (by adding the Matrix tokens). Most of the time it works... but sometimes it doesn't, and I'm not sure how I can fix it.
Here's a situation that would cause a problem: trying to run a text file containing "[A]", or the matrix A token, through Solar89. Why? The hex code for this token is 5C00h.
The way Solar89 is programmed, each line of the text file is looked at individually, and then the hex code for the token is added to an unsigned character array (since unsigned char = 8 bits). So if the line contains the token ClrHome, the program will add the character E1h to the array, then add 3Fh to the array to finish it off. A two-byte token is handled by splitting the hex code into two characters and adding them both to the array. So for the token [C] (5C02h), the character 5Ch and then the character 02h.
The problem? For any token that has a byte of 00 (there aren't too many, but they include [A]), the \0 character is what will be added to that character array. And that seems to prevent me from adding anything else to the array. So if I'm trying to tokenize [A], no end-of-line character will be added, and anything after [A] on that line won't be added either.
But that's not the main problem. The main problem is that the code that saves the token array to a file does it by writing each individual character to the file, and it stops before it reaches \0. So even for a file only containing [A], I won't get 5Ch 00h 3Fh (3Fh being the hard return, the newline character), I'll just get 5Ch.
Fortunately, only a few tokens have a byte of 00h, and probably a lot of programs can be written without using them. But it would be nice to support them, but I'm not really sure how. Would I need to use something other than an unsigned character array? Or can I implement some workaround?
216
« on: August 15, 2010, 07:43:45 pm »
There are actually two ports for the 89 (written in C, anyway), Block Dude 89 and Dudeman. Both are nostub and Titanium compatible. Although there might be more written in Basic.
217
« on: August 14, 2010, 11:38:26 pm »
I like all of the changes- I'm glad the Members Only section was removed and the forums there merged with the other sections, as that's definitely streamlined the index. One thing, though- the Major Community Projects section still says this: Some of the best non-RPG calculator projects from our users, all with their own sub-forum. With the merge of the Major RPG projects, this text probably should be changed.
218
« on: August 14, 2010, 06:13:38 pm »
Interesting. I don't think I had stability problems before I started putting other stuff on my calculator, though. I remember after trying various programs I was having various weird problems that were solved by reinstalling the OS and patching it with the Hw3 Patch. Since then, I didn't have any trouble until now.
Well, anyway, I'm going to continue under the assumption that everything is fine, until it proves not to be, and then I'll take the reset steps suggested by Lionel.
And I'll also keep the calc clean of stuff I don't intend to use as well.
219
« on: August 14, 2010, 11:46:07 am »
I have attached v0.1, an alpha and testing version, since everything seems to be working (even though there are only one-byte tokens supported at the moment).
If you use it on a real calculator, I highly recommend doing a backup and then installing a crash protection program (either PreOS or KerNO) if you don't use one already, simply because even though it seems to work perfectly, there's always the chance of a bug that I missed.
I have provided a demo that you can try tokenizing (the same program in the screenshot above). There's documentation on what exactly to do with all of the programs included (in the various readme files), and once you get everything setup I recommend trying the demo (since I know it should work).
I'd like people with a Voyage 200 or TI-92 Plus to try it on those calculators, to see if it works- I have versions provided for them but I obviously can't test them. You can also try testing other calculator models- the only one that definitely won't work is the 85 since BinPac8x makes strings, not program files for it. (And the 86 probably uses different token codes than the 82, 83, and 84+).
[Attachment removed- outdated version].
220
« on: August 14, 2010, 11:23:29 am »
I forget, which topic did you write it in? Or, you can repeat it here 
EDIT: I remember now, it isnt allowed on some tests..
In my project's topic on this page. In addition to that, the 92 can't be programmed in C, has less memory, less math capabilities, and less-sophisticated assembly programming.
221
« on: August 13, 2010, 11:03:37 pm »
IIRC the format is exactly the same. You might not even have to rename them 
Oh. Okay, well in that case, problem solved.
222
« on: August 13, 2010, 03:58:53 pm »
I have two *.89t files and one *.89p files that are part of my project. The *.89p (my unfinished custom toolbar) is not so important at the moment, but the text files are- one is a demo and the other contains all of my tokens.
Is there any way I can convert *.89t files to *.v2t and *.9xt files? Is the file format the same, so I could just copy and rename the files? Or would I need to do some hex editing?
223
« on: August 13, 2010, 03:26:38 pm »
Yes, this sounds very nice.
Could you also use BrandonW's resign68k program to resign the 68k OS? That's what I used for GTC, and it says it works with AMS upgrades too.
224
« on: August 13, 2010, 01:36:12 pm »
And multi-line programs, and multi-token lines both work now, as you can see from the Hello World program I've tokenized and loaded into WabbitEmu.
I'm still not sure if error checking is working properly- I'll need to look at that.
The entire process of initializing the one-byte tokens, then tokenizing Hello World, takes five seconds. For small programs that's okay but once I add the two-byte tokens it might become problematic.
225
« on: August 13, 2010, 12:16:11 pm »
Deleting entire folders is possible through the VAR-Link dialog, just select the folder with F4 before deleting it  ...oh. I didn't know that, thanks. I don't know precisely what can have screwed up your calculator. There's no write protection (only a silly execution protection that complicates launching other programs), so pretty much any memory overrun in an assembly program can have immediate or delayed consequences on the system's stability. Wait, what about the boot code? Is that protected, like it is on z80 calcs? So, in order to make sure everything was stable again (if memory somewhere had been overwritten) what would I need to do? Do a "system hard boot" by removing a battery and using [ON] + [)] + [-] (a key combination which I found here on UTI when I went hunting through various tech support forums)? Delete the OS before sending a new one?
Pages: 1 ... 13 14 [15] 16 17 ... 24
|