Omnimaga
Calculator Community => Other Calculators => Topic started by: Broseph Radson on October 02, 2010, 11:12:45 am
-
Have you seen this?? :o
Looks pretty cool, although i dont use Asm. Ive tried using some on calc assemblers, and this one looks better than most, and its an app.
It was just uploaded yesterday:
http://www.ticalc.org/archives/files/fileinfo/431/43140.html (http://www.ticalc.org/archives/files/fileinfo/431/43140.html)
-
Wow, this is really nice. It works almost exactly like a computer compiler. One of the great features I've found so far is all the shortcut menus. i.e. Apps puts in "BCALL" and then brings up a list of all the bcalls.
I will definitely be using this in school to make quick asm programs.
-
:o That is awesome!
Finally a working assembler in ASM ... too bad Mosaic isn't out yet, though.
And nice find!
EDIT: Too bad it's two pages, though.
EDIT: Code sections! That is epic!
-
awww, crap, I was going to make this topic :(
anyways, yeah, it looks good! I found it earlier today
-
0.1, though... Are there any known bugs?
EDIT: And he should really change "compile" to "assemble" :P
-
awww, crap, I was going to make this topic :(
anyways, yeah, it looks good! I found it earlier today
You mean I found it
:P
-
This program has my respect.
Warning, epic screenshot.
Edit:
Dang, I made it in high framerate. Watch it with firefox as it's twice as fast.
-
Did anyone have trouble transferring the libraries to their calc?
-
that is most definitely epic. are you as fast on an actual calc keyboard?! regardless, ima have to try this out
-
Did anyone have trouble transferring the libraries to their calc?
not me
-
This program has my respect.
Warning, epic screenshot.
Edit:
Dang, I made it in high framerate. Watch it with firefox as it's twice as fast.
ok, fine, perhaps I had some help from souvik
-
that is most definitely epic. are you as fast on an actual calc keyboard?! regardless, ima have to try this out
I wish. I did that in 5% speed.
Did anyone have trouble transferring the libraries to their calc?
Yes, Ti Connect doesn't like the period in all of the names. For instance the file Hooks.8xv is Hooks.h on calculator. The way around this is to open the Ti Connect device viewer and drag and drop the file to the calculator. It will attempt to send, and then say that you need to rename it. Change the period to something like p (for period). Ti Connect will then send it, but it will make all of the letters upper case. Make sure it is in ram then go find it with Calcsys's vat viewer. When you are viewing the individual appVar, press Alpha V. Then press left until you see the name. Then change it back to what it should be. (A quick hint on changing the name. Lower case letters are 20h higher than the uppercase ones. So to change 'A' (41h) to 'a'. 41h + 20h = 61h = a. Also, period is 2Eh.)
-
That is really cool. Great find :)
-
Well if you guys checked out UTI every once in a while you would have seen it posted on there. But yes it is certainly impressive.
-
Sorry about the library file issue, guys. TI-Connect strikes again. I'll be sure to fix that in the next version.
-
O_O welcome to omnimaga....
expect your pirated peanuts shortly
-
Who are you welcoming, qazz42?
-
FloppusMaximus
LV0 - Newcomer
Next LV: 5 posts
Online
Last Login:Today at 18:23:30
Date Registerd:Today at 18:02:51
Posts: 1
Respect: 0
according to that, he just joined... so, him
-
oh... Wow, totally was thinking he had been here forever. lol, okay. Well, floppus needs to get his own little topic to introduce himself. THEN, we throw the peanuts.
also, how many people have that internets thing in their sig now? At least 4. Possibly >9000
-
Ya, I feel like I've seen him here before but I guess that was at UTI that I've seen the name.
I don't even really get what that "Internets" thing is really O.o
Also, now we need to get back on topic :)
-
Ya, I feel like I've seen him here before but I guess that was at UTI that I've seen the name.
I don't even really get what that "Internets" thing is really O.o
Also, now we need to get back on topic :)
Okay, I'll start. I am glad someone finally did this, and will test it once you get libs fixed. ;-)
-
Yeah, I was a little surprised myself to realize I didn't have an account here.
Anyway, the filename thing is... annoying... but easy to fix.
I've just found a more serious problem: the << and >> operators don't work. This will also be fixed momentarily.
Any other issues?
-
Hey, Floppus is here! Congrats on such an awesome program :D
A few questions: How big are the libraries? Are the TI-83 Plus equates only in the libraries, not in the actual program?
EDIT: 1040th post! Happy tax day!
-
FloppusMaximus, you're on Omni now! Welcome here! ;D
This looks like an epic program. I'm really glad I can start to code Asm with my semi-limited computer time (not enough to code Asm on my comp). This is wonderful! Thanks! :D * ZTrumpet hugs FloppusMaximus. :)
-
yeah i'm having issues with the library files as well, using TiLP. let us know when the next version is out so i can download it!
-
A few questions: How big are the libraries? Are the TI-83 Plus equates only in the libraries, not in the actual program?
Combined, they're about 16k. The application itself contains about 14k worth of built-in symbols (a hand-edited list of documented and undocumented ROM calls, system addresses, constants, and flags.) Aside from the shell library routines (ion.8xv, mirage.8xv, dcs7.8xv), and perhaps the clock routines (os230.8xv), the built-in symbols should cover pretty much everything you need for typical programs. (You guys should, of course, let me know if I missed anything important.) The extra libraries are there for the sake of being complete.
-
A few questions: How big are the libraries? Are the TI-83 Plus equates only in the libraries, not in the actual program?
Combined, they're about 16k. The application itself contains about 14k worth of built-in symbols (a hand-edited list of documented and undocumented ROM calls, system addresses, constants, and flags.) Aside from the shell library routines (ion.8xv, mirage.8xv, dcs7.8xv), and perhaps the clock routines (os230.8xv), the built-in symbols should cover pretty much everything you need for typical programs. (You guys should, of course, let me know if I missed anything important.) The extra libraries are there for the sake of being complete.
Oh, I see. They're just extra libraries for certain environments.
-
After reading the documentation, I have discovered these 3 things:
a) This is going to be wonderful! I'm going to use this almost exclusively to write Asm programs.
b) The JQ instruction is genius!
c) If this is only 0.1, what's missing? :D
-
This is awesome! Even though I only tried it in WabbitEmu (my calc has a broken link port)- I was able to quickly write and assemble a program.
What would it say about me if I use WabbitEmu + Mimas to write programs rather than Spasm or Brass?
c) If this is only 0.1, what's missing? :D
An on-calc emulator, so you can debug your programs without potentially bricking your calc or needing a computer? :P
-
Omnicalc *has* a virtual OS function built into it. It's kind of unstable, but that appears to be what you're asking for.
-
Wow I saw that the other day and this looks truly epic. SirCmpwn, I think you have some competition now :P
Also welcome here Floppus
-
After reading the documentation, I have discovered these 3 things:
a) This is going to be wonderful! I'm going to use this almost exclusively to write Asm programs.
b) The JQ instruction is genius!
c) If this is only 0.1, what's missing? :D
What's the JQ instruction? I couldn't find it in the readme, and I couldn't find a documentation in the zip :-\
-
It's a combination of JP and JR that auto-ops it to be whichever one is quicker for the given situation, I think. :)
It's in the doc folder, in manual.html
-
It's a combination of JP and JR that auto-ops it to be whichever one is quicker for the given situation, I think. :)
It's in the doc folder, in manual.html
Wow ... that is genius. Could Axe do that?
-
That person who said something about the virtual calc, it's not the same thing. It is just to look like you have two seperate calcs running on the same calc. If one crashes, the other crashes
-
That person who said something about the virtual calc, it's not the same thing. It is just to look like you have two seperate calcs running on the same calc. If one crashes, the other crashes
Yeah. I didn't know Virtual Calc was in Omnicalc, but I did know there was a separate Virtual Calc app (also by Michael Vincent). I was thinking of something more like emu8x.
-
That JQ instruction is really useful. Sometimes its hard to decide between JR and JP.
-
iirc, emu8x also crashes when the code being emulated crashes. But I haven't tried.
-
It shouldn't, being an emulator. If it does, you're running it on a calc w/only 48KB of RAM x.x
-
I am sure it can mess your calc up if it crashes, since it is ran on the same hardware. However, I am not sure if you lose everything when going back in 83+SE mode. Also, the virtual calc in Omnicalc shares the same archive memory between two calcs. If you archive a program in the first calc and not the second, it messes things up very badly.
-
I emulate my 84+SE on my PC, and when it crashes my PC doesn't. ;)
Same goes for Emu8x. Since it is an emulator, what happens inside it doesn't affect what happens outside it.
Edit: Well, it shouldn't unless it's not a good emulator. (To my knowledge, however, it is.)
-
Yeah I was a bit concerned about the limited platform RAM. When a RAM clear occurs, does the entire 128 KB of RAM gets cleared?
-
On the main calculator or the emulated one?
When a RAM clear on the main calculator occurs, only the first 32KB of RAM are cleared; the others are left intact since the OS doesn't use them.
When a RAM clear on the emulated calculator occurs, it clears its 32KB of emulated RAM. Note that when it's started up its RAM is cleared automatically.
Does this answer your question, or am I misunderstanding?
-
I meant when a crash occurs on the emulated calculator.
-
That JQ instruction is really useful. Sometimes its hard to decide between JR and JP.
Yep, especially if you add more stuff...
-
When a RAM clear on the emulated calculator occurs, it clears its 32KB of emulated RAM. Note that when it's started up its RAM is cleared automatically by Emu8x
This answers your question, then? :)
-
Ah ok glad to hear such crash won't wipe the entire 128 KB, then :)
-
That JQ instruction is really useful. Sometimes its hard to decide between JR and JP.
Yep, especially if you add more stuff...
I myself definitely find jq useful. The only things the assembler is missing IMO are macros, true defines, the ability to move and rename (including changing the section type) sections, and the include directive. Then it'd be awesome :D
FloppusMaximus, could you better specify how library source files are included (with respect to the order in which they are assembled into the source, that is)?
-
man, this is an awesome app
it isnt even _that_ big
-
For me, the only thing it's lacking in is copy/paste
-
It actually does have a one-line cut/paste feature. Press CLEAR to clear a line, and it is copied. Go to an empty line and press 2ND+RCL to paste it.
-
It actually does have a one-line cut/paste feature. Press CLEAR to clear a line, and it is copied. Go to an empty line and press 2ND+RCL to paste it.
... Awesome :o
If only my archive weren't that full...
-
The only thing I am missing, and missing a lot, is macros. I love the things :D
-
The only thing I am missing, and missing a lot, is macros. I love the things :D
The way I see it... Beggars can't be choosers. :P
-
About the emulator/virtual calc discussion, virtual calcs are somewhat problematic thanks to the archive issues, but Omnicalc's RAM recovery option works fairly well for testing assembly programs. It could be better, obviously, but the feature has certainly saved me a lot of time over the years, for those times when an emulator isn't good enough and you have to test on the real hardware.
I myself definitely find jq useful. The only things the assembler is missing IMO are macros, true defines, the ability to move and rename (including changing the section type) sections, and the include directive. Then it'd be awesome :D
Moving and renaming sections is a good idea. I'll see what I can do. Macros will be done at some point, but those are a bit tricky.
INCLUDE would actually be quite a bit more difficult. I realize it's nice to have for porting existing code, but is there a reason you really need it?
FloppusMaximus, could you better specify how library source files are included (with respect to the order in which they are assembled into the source, that is)?
I believe that they're assembled in the order they're listed, by a breadth-first search (so the main source file comes first, then all the files imported by the main source file, then all the files imported by those files (assuming they weren't used already), and so forth.) So if you want the files in a particular order, just be sure to list all of them in the main source file.
If you're writing a general-purpose library that depends on other libraries, you can't predict what order those dependent libraries will appear, but the section types do allow you to define a partial ordering of sections (all header sections come before all code sections, which come before all data sections, which come before all footer sections.)
-
Holy crap. *looks at Floppy's email* OH SHI-
How's it going, Ben?! :D
-
I just tried it out, and IT IS AWESOME!
Props to you, Floppus.
-
INCLUDE would actually be quite a bit more difficult. I realize it's nice to have for porting existing code, but is there a reason you really need it?
Maybe for different versions of a project with half the same code?
-
Holy crap. *looks at Floppy's email* OH SHI-
How's it going, Ben?! :D
Life's alright, could be better, could be worse. Do I know you from somewhere else?
Maybe for different versions of a project with half the same code?
Don't libraries do that for you?
-
MaxCoderz, probably.
-
Actually he's from DetachedSolutions forums. Back when I was a bit active there, he was pretty active. However, Detacheds boards eventually kinda died. Later he joined UnitedTI, which saw its activity drop, and now he is joining Omnimaga as well it appears.
He kills every forum on his path D: (j/k)
-
Ah. So, United-TI is where I started worshiping you. Okay then. :P
-
Wow I totally forgot you had a UTI account x.x. I now remember you were active there for a bit one year ago then went back to MaxCoderz and joined Omni for the 2009 contest. My memory is playing me tricks, but it has been so long since I've been in the TI community x.x.
-
Congrats on the ticalc.org feature :D
-
Yeah, congrats! It's very deserving of a feature! ;D
-
About the emulator/virtual calc discussion, virtual calcs are somewhat problematic thanks to the archive issues, but Omnicalc's RAM recovery option works fairly well for testing assembly programs. It could be better, obviously, but the feature has certainly saved me a lot of time over the years, for those times when an emulator isn't good enough and you have to test on the real hardware.
sadly, some cant use any of those x.x
-
Yeah the missing extra RAM pages pose a lil problem on those features...
-
unless someone wants to redesign them all in a way that they don;t use the RAM pages (no chance in hell)
-
We never know. Maybe it could be possible. Not sure, though. Calc84maniac had an hard time converting TI-Boy SE so it runs on newer 84+ calcs.
-
Well, the ram restore and virtual calc definitely won't work with 48KB of ram (you need at least 64KB total to have two copies of ram at the same time)
-
What about another 16 KB in the archive?
-
In that case, you might as well put all 32KB in the archive. But I guess the real problem is where you would put it in archive.
-
Yeah x.x. Making sure to not overwrite anything and to check if the calc has enough archive. Are there other things that might make this hard?
-
Well, every backup would require erasing a sector. Things could get even more complicated if there is other data sharing the sector.
-
Ah, right x.x
I assume someone who heavily relies on RAM restores would eventually wear out his Flash chips too...
-
We never know. Maybe it could be possible. Not sure, though. Calc84maniac had an hard time converting TI-Boy SE so it runs on newer 84+ calcs.
had? that means he did?
err, back on topic, thats how that RAM recovery worked? I did npot know that.. now, how does the v-calc use the RAM pages?
oh, wait, nvmd...
-
Well, every backup would require erasing a sector. Things could get even more complicated if there is other data sharing the sector.
Just a quick question: Is the default state (when it's "empty") of any flash space all FFs?
-
Well, every backup would require erasing a sector. Things could get even more complicated if there is other data sharing the sector.
Just a quick question: Is the default state (when it's "empty") of any flash space all FFs?
I believe that is correct. :)
-
Well, every backup would require erasing a sector. Things could get even more complicated if there is other data sharing the sector.
Just a quick question: Is the default state (when it's "empty") of any flash space all FFs?
Yes. Also, when writing bytes to flash, you can only change 1 bits to 0, not 0 to 1.
-
Wait? I am confused what this means ???
-
When changing single bits in flash, you can only set them to 0 (or leave them as 1). To set bits to 1, you have to set the whole sector to 1 (which is called a sector erase)
-
When changing single bits in flash, you can only set them to 0 (or leave them as 1). To set bits to 1, you have to set the whole sector to 1 (which is called a sector erase)
This is what Axe is doing that makes compiling Apps take longer. :)
-
Basically with Flash Memory, you can only do 2 things. Change *every single* bit into a 1, or change one bit from 1 into a 0.
EDIT: double ninja :P
-
When changing single bits in flash, you can only set them to 0 (or leave them as 1). To set bits to 1, you have to set the whole sector to 1 (which is called a sector erase)
Wow... that sounds a bit akward to work with x.x
-
Yeah x.x I believe its to work against hacking? (obviously not as important in calcs, but in Computers it helps to have hardware restrictions on writing im sure)
-
Nah, it's just how the hardware works.
-
Ah gotcha, well thats lamesauce :P
-
When changing single bits in flash, you can only set them to 0 (or leave them as 1). To set bits to 1, you have to set the whole sector to 1 (which is called a sector erase)
This is what Axe is doing that makes compiling Apps take longer. :)
Actually making apps is slow because flash is horribly slow. Each flash command takes about the same amount of time I believe. So erasing happens near instantly. But then you have to go rewrite those 65536 bytes you just erased. Which takes about 4 seconds. But not only does it have to write it once, first you have to copy the whole sector to the swapSector, and then copy it back. That's two full sector copies. If you ever wondered why OS mods take so long, this is also why. OS mods usually require erasing more than one sector too :P
-
So that's why GarbageCollect is needed...
-
Darn, if Axe ever supports writing to Flash, I'm sure gonna try to minimize the use of this feature as much as possible. X.x
Good thing flash is not as slow as floppy disks...
-
I doubt it ever will. Archive is good enough :)
-
Archive is flash, actually.
-
Oh, I meant that the Archive command is good enough for flash writing. No need to add flash-unlocking stuff to Axe ;)
-
Technically, flash drives use flash too (but usually with sectors of 512 bytes I think, instead of 64KB)
-
Is that called allocation size?
-
I think allocation unit size is up to the filesystem (it could possibly use four sectors together for a 2KB cluster size)
-
Moving and renaming sections is a good idea. I'll see what I can do. Macros will be done at some point, but those are a bit tricky.
Cool! :)
INCLUDE would actually be quite a bit more difficult. I realize it's nice to have for porting existing code, but is there a reason you really need it?
Probably not, now that I think about it.
I believe that they're assembled in the order they're listed, by a breadth-first search (so the main source file comes first, then all the files imported by the main source file, then all the files imported by those files (assuming they weren't used already), and so forth.) So if you want the files in a particular order, just be sure to list all of them in the main source file.
If you're writing a general-purpose library that depends on other libraries, you can't predict what order those dependent libraries will appear, but the section types do allow you to define a partial ordering of sections (all header sections come before all code sections, which come before all data sections, which come before all footer sections.)
Nice to know.
(Yes, I know this is 3 pages late, but I never had the chance to reply earlier)
-
Technically, flash drives use flash too (but usually with sectors of 512 bytes I think, instead of 64KB)
I wonder why TI uses 64 KB :P Is it faster?
EDIT: http://ourl.ca/6178/98105
-
:P yeah...
I would assume 64KB rather than 512B because it is cheaper, though I may be wrong.
-
A question for Floppus: Are you planning to release any newer versions soon? The v0.1 number seems a bit low, though from the shots it looks really functional already.
-
Yes, at the very least I'll release a new version this weekend with a few bug fixes.
I wasn't really thinking very hard about the version number, but you can read 0.1 as "hasn't been completely tested" (it has been tested quite a bit, but it's also a rather large and complex program!) and "internals may be subject to change." (It's possible that I'll need to make incompatible changes to the file formats, so you won't be able to use newer files with the older assembler. Of course, I'll do my best to support older files with each new version of the assembler.)
-
Win. I should get back to work on Mosaic now :P
-
^ this :P
It would be nice if there were different on-calc ASM IDE that works a bit differently to satisfy a wider range of calc programmers. Also, make sure to also support most computer ASM syntaxes as well like you planned.
-
Of course. I popped open Mosaic earlier today and took a look at it, and it's a mess. I'll probably re-work the assembler to make sense :P
-
Sorry to hear D:
Good luck!
-
^ this :P
It would be nice if there were different on-calc ASM IDE that works a bit differently to satisfy a wider range of calc programmers. Also, make sure to also support most computer ASM syntaxes as well like you planned.
Agreed. There are way too few choices to choose from right now...
-
You mean like 1? :P
Mimas is awesome, though I can't wait for what Mosaic might be. :)
-
You mean like 1? :P
Mimas is awesome, though I can't wait for what Mosaic might be. :)
Well, there's ChAsm, which is horribly unstable, and OTBP, which despite being pretty good is written almost entirely in BASIC (and takes up to a minute to compile very short programs).
That's why Mimas is a lifesaver.
-
I love mimas so much :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D
-
Sir, you could write Mosaic in Mimas... :P
-
Sir, you could write Mosaic in Mimas... :P
There's an idea...
FloppusMaximus, have you tried making Mimas assemble itself yet? :D
-
You mean like 1? :P
Mimas is awesome, though I can't wait for what Mosaic might be. :)
Well, there's ChAsm, which is horribly unstable, and OTBP, which despite being pretty good is written almost entirely in BASIC (and takes up to a minute to compile very short programs).
That's why Mimas is a lifesaver.
Yeah, that's what I meant; Mimas is the only practical one. Another problem with the OTBP assembler is that it uses a lot of RAM...
ztrumpet and Deep Thought, Mimas doesn't have App support. Yet. ;D
-
ztrumpet and Deep Thought, Mimas doesn't have App support. Yet. ;D
Floppus, when (I assume it will happen) you add App support, you will be offering multi-page Apps, correct? ;D
-
AH! Yes! Definite feature request :D
EDIT: ztrumpet, what do you mean by ASM support? ???
-
ASM support? lol that's funny ;D
-
I think he meant app support and that we should be able to build multi-page apps.
Correct me if I misunderstand.
-
I know, it was just funny that he said ASM support. Yeah APP support would be really cool. Other wise for now you'd have to transfer it to a pc and then add in the appropriate headers and such.
-
Doesn't Axe still require that we sign the app ourselves? Is there a way it could be done on-calc?
-
Yeah I think you still have to sign the app on the pc (but it works in a limited way without it) so on-calc signing would be cool.
-
Doesn't Axe still require that we sign the app ourselves? Is there a way it could be done on-calc?
Yes, but there's a simple drag and drop batch file included with Axe now. :)
Signing on calc would take between 5 and 15 minutes and is not very practical. :(
Yup, I meant App. :P * ZTrumpet feeds himself to the lobster
-
Doesn't Axe still require that we sign the app ourselves? Is there a way it could be done on-calc?
Yes, but there's a simple drag and drop batch file included with Axe now. :)
Signing on calc would take between 5 and 15 minutes and is not very practical. :(
Oh, got it.
What does signing do, anyway?
-
It prevents your calc from rejecting it (saying "invalid") went sent from another calc/a computer.
-
Ah. How big would an on-calc signing prgm be? Even if it is slow, maybe it could be used for final versions? For example, someone else might really, really need that app on their calc :D
-
Probably not very big, just not very fast. You would have to ask an expert though
-
It would be faster to send someone the source code and a compiler, then compile it on their calc than it would be to sign it on-calc.
-
.. or make it so that the first time you run the app it signs itself ;)
jk
-
Yeah but nobody wants to wait 15 min for their game to load :P
-
It would be faster to send someone the source code and a compiler, then compile it on their calc than it would be to sign it on-calc.
Right, true.
Anyway, back to Mimas, are there any serious bugs yet?
-
lol very true very true my good sir :P
-
BrandonW's RESIGN program is 1829 bytes on-calc, for those who care.
As for Mimas, the only bug mentioned so far AFIAK is that << and >> don't work.
-
I think the only on-calc assemblers that ever came out besides Mimas are Mon 83, TASM-on-calc, Chasm and OTBP. Mon 83 was extremly slow due to being in BASIC and required you to manually paste your string of code in a program with AsmPrgm at the beginning. I don't know about TASM-on-calc and OTBP, though. Chasm was unstable. Chasm 2 was in development back in 2004 but the author vanished completly. I'M glad there are some new tools offering more freedom now (and space).
-
Correct me if I'm wrong, but I believe BrandonW's re-signing program is only for signing OSes, not apps. App signing uses the Rabin algorithm, which is substantially faster than RSA if implemented correctly.
Creating apps with Mimas is certainly doable, but would involve a fair amount of code (and multipage apps even more so.) So the eternal question is, how much is it worth in terms of code size? Like I said in my initial post on UTI, I'm already pushing the limits of what a 2-page application can do; would it be better to increase this to 3 or even 4 pages (and include all the incredible features I can think of), or would it be better to keep it smaller and simpler, so that it's still reasonably usable on the 83+ BE? Or would it be better for me to try to implement extra features as plugins?
(By the way, I guess I should mention that you can already create single-page applications with Mimas... you'd just need an external tool to install them into Flash.)
Oh, and no, Mimas can't assemble itself (not yet, anyway), due to the lack of macros. And of course the fact that you don't have enough RAM to store the entire thing.
-
I assume the app creation process is similar to Axe Parser, right? (code your program, choose APP compiling mode, (backup, ) compile, send to computer, use Rabbit/Wapp/Wabbitsign to sign it)
-
I vote for a three or four page App, but I do not have an 83+ anymore. Let's see what most 83+s should have: DoorsCS7 (3 pages) Axe Parser (2 pages) CalcSys (1 page) Mimas (2+x pages). Hmm, running out of space, and this doesn't even include programs. D:
I really want these features! Would it be possible to have them as an "Add in"? ;D
-
It would be so much easier with app signing, but I guess a bit more difficult. We would probably have to add in the headers and such ourselves, and manage pagees on our own because everyone knows how crappy it is to write an app with all your routines on the first page, and your calls to the routines in pages 2+ :(
-
App signing would take about 15-30 minutes on calc, according to what Quigibo said. While it may be useful if you're busy with something else like cooking dinner, it would not be practical in most cases.
-
If you ever make it more than two pages, can you tell me before you release it? I want the latest version that's still small (I have a BE that's already just about filled) ;D
-
Maybe he should do like Quigibo with Axe: keep old builds around (if they're reliable) so people who prefer them can still use them.
-
Will do. I always keep backup copies of the old versions of my programs, in case I ever need to know what was changed when. If anybody ever wants an old version for some reason, just ask.
There'll be a new version on ticalc.org shortly:
- fixing the TI-Connect compatibility issue ('Hooks.h' is now 'HooksEqu')
- fixing the << and >> operators
- if any files have been unarchived, prompting the user to re-archive them upon exiting the app
- fixing the address of pixelxorhl in mirage.inc/dcs7.inc (are people aware that the correct address for that routine is 40CE, not 40DE? Has nobody ever used that routine?)
As far as app signing goes, BrandonW claims his Resign program can sign an OS on an 84+ SE in 13 minutes, 20 seconds. App signing should be faster by about a factor of 4, even ignoring the fact that Brandon's using a rather slow multiplication routine.
-
Will do. I always keep backup copies of the old versions of my programs, in case I ever need to know what was changed when. If anybody ever wants an old version for some reason, just ask.
There'll be a new version on ticalc.org shortly:
- fixing the TI-Connect compatibility issue ('Hooks.h' is now 'HooksEqu')
- fixing the << and >> operators
- if any files have been unarchived, prompting the user to re-archive them upon exiting the app
- fixing the address of pixelxorhl in mirage.inc/dcs7.inc (are people aware that the correct address for that routine is 40CE, not 40DE? Has nobody ever used that routine?)
Nice. When do you think you'll consider it "stable"?
-
Will do. I always keep backup copies of the old versions of my programs, in case I ever need to know what was changed when.
You know, TI Developer (http://sourceforge.net/projects/tidev) does that for you :)
-
I just use SVN ;D (I think Sir and I have already had this discussion, so yeah)
Also, we want tiDE, not TiDev! :P
-
I need to finish tiDE first :P
-
Exactly. ;D
Back on topic, can't wait for the next version! :D
-
Will do. I always keep backup copies of the old versions of my programs, in case I ever need to know what was changed when.
You know, TI Developer (http://sourceforge.net/projects/tidev) does that for you :)
I think I'll stick with what works for me. I probably should start using a VCS, though.
(Also, uh... is that a giant bundle of Windows binaries, all with different licenses, some free software, some not, none with source code, and not even a readme file to tell you where they all come from?)
-
It is still in development atm. I doN,t think there's any real public official builds on the forums. I think he only announced it on IRC so far, so it's probably not really packaged well yet. It might be good to add instructions and credits if he didn't already, though.
-
It's not a giant bundle of windows binaries with some free software and some not, I wrote the damn thing myself :P It's open source if you ask me for it. It's a full application.
And it is still in development, but it is definitely working and usable, seeing as I use it all the time.
-
Ah ok I wasn't sure yet if it was recommended at 100% for development for other people (I remember some people having issues updating or crashes when accidentally closing it then trying to run it again (and had to reinstall), but I am not sure anymore. I think you did a good job at it so far.
-
Thank you DJ. It is recommended for install now, and subsequent updates will be installed automatically (although it will ask your permission first).
-
Ah cool :D
-
SirCmpwn, I apologize for my earlier comment. It came out somewhat harsher than I intended. Looking at the zip file you linked me to, it does appear to include a number of other people's programs (mine, BrandonW's, Wabbitemu, PindurTI...), and I don't see any source anywhere. It also appears to include TASM, which is very much non-free. If you're going to use Sourceforge, you know, one of the rules is that you're supposed to release the source code at the same time as the binaries. And copyright issues aside, I personally would appreciate a little bit of credit when you distribute my programs. That's all I'm going to say on the matter.
-
It also appears to include TASM, which is very much non-free.
I didn't knew that TASM was not free O.o ???
-
It also appears to include TASM, which is very much non-free.
I didn't knew that TASM was not free O.o ???
It's shareware. iirc, it's "free as in beer", but not "free as in speech".
-
I need to remove Tasm from it, and I just keep forgetting to put up the source code. Also, which program of yours is in there? When looking for programs, I didn't see any licenses, so I just added them in because they are useful. TI Developer serves as an interface to these programs.
-
I didn't knew that TASM was not free O.o ???
If you find TASM useful, why not register? Unregistered use of TASM
beyond a 30 day evaluation period is a violation of the license.
For the $40.00 registration fee you get:
Basically, it's distributed freely with a 30-day evaluation license. After that, users are supposed to register (for $40).
-
I didn't knew that TASM was not free O.o ???
If you find TASM useful, why not register? Unregistered use of TASM
beyond a 30 day evaluation period is a violation of the license.
For the $40.00 registration fee you get:
Basically, it's distributed freely with a 30-day evaluation license. After that, users are supposed to register (for $40).
Ah right, I always thought of it as calc program and since no one was talking about the license I just had it on my comp and never registered and could still use it x.x. Not to mention it's from 1993-94, right?
-
I wonder if anyone's still even registering, or if the author even cares x.x
But to be safe, there are other assemblers. Like Mimas :)
-
It kinda reminds me mIRC: after 30 days it still lets you use it. It just nags you longer on the opening screen. At 3800 days or so you can no longer use it, though.
-
Isn't that kinda pointless? 3800 days is 10 and a half years, and most people would've moved on by then...
-
Not really. In rare cases, mIRC suddently jumps from like 20 days to 3500 in an instant. Some registery glitch or something.
-
I got this on my calc today, it is quite nice :)
-
To get back on topic, I've found a rather serious bug in Mimas's symbol hashing, which can sometimes cause the assembler to crash. This might also have caused occasional misassemblies and inappropriate "symbol redefined" errors. So, there'll be another bugfix release shortly.
And back to the subject of on-calc app signing, since you guys have gotten me thinking about that again... after some experimentation and back-of-the-envelope calculations, I'll wager that you can do a lot better than 13 minutes. Like, under a minute. Also, I wasn't correct when I said that Rabin is necessarily much faster than RSA; I think you could apply similar tricks and speed up RSA by a similar amount, if you cared to do so.
-
< 1 minute? App signing on-calculator would be very practical then :D
Can't wait for the bugfix. Keep up the good work! :)
-
And back to the subject of on-calc app signing, since you guys have gotten me thinking about that again... after some experimentation and back-of-the-envelope calculations, I'll wager that you can do a lot better than 13 minutes. Like, under a minute. Also, I wasn't correct when I said that Rabin is necessarily much faster than RSA; I think you could apply similar tricks and speed up RSA by a similar amount, if you cared to do so.
Wow really? You should maybe share your trick with Quigibo. He tried to implement app signing in Axe Parser before, but did not, finally, because the 10-15 minutes signing time made it impractical.
-
Well, it's somewhat theoretical at this point; I'm still working out the bugs in the math routines. But apart from the hyper-optimized multiplication and remainder code, the only real trick is pre-calculating as much as you can (e.g., pre-calculating the pseudo-square-roots of 2.)
-
Ah ok, good luck then :D
-
That would be nice!
-
To be fair, I never actually tried to implement app signing. It was only from a discussion with BrandonW that I concluded it would be either too complicated or too slow to implement so I didn't want to waste time writing it. But under a minute sounds pretty good, although still a bit long for me personally when I can do it on the computer instantly, but certainly short enough to have as a useful option. Luckily though, you don't actually need to sign the apps to run them, only to transfer them to another calculator. So debugging can be done with the unsigned app and once the user is ready to publish, they can sign it.
Oh, and if I forgot to mention it earlier in this thread, this is an awesome program! This style of editing was exactly what I was actually intending to have for Axe when it was still all on paper. But then I decided to just use the TI-BASIC editor instead because I realized the familiarity would be an advantage for users transitioning from BASIC (my target audience) and it was a hell of a lot easier to not have to write my own editor :P But you did a great job on it!
-
Oh, right, I was sure you did x.x. I guess I got confused with when you frequently talked to him in #cemetech. Under a minute it would be very suitable for final testing. During Debugging I would turn signing OFF, but when I am ready for release, on-calc signing might be nice, especially for people who got an hard time getting stuff like Wapp/Wabbit/Rabbitsign to work.
As for Axe code editing, personally I love the fact it uses the BASIC editor, because several commands syntax in Axe language is the same or similar as TI-BASIC. Because BASIC coders are very used to the on-calc editor, I feel it was a better idea to use that editor. This is not to mention it allows compatibility with Cemetech's SourceCoder and other computer BASIC editors. For assembly or BBC Basic, I think it's best if a third-party editor is used.
-
I have a question about this:
I can't seem to find B_CALL _getKey...
There's only getNumKey
Where can I find it?
-
There is no underscore before the Getkey.
Just type this:
BCALL GETKEY
-
thnx
-
Sorry, you were probably confused because Mimas lists Get_NumKey before GetKey (underscore comes before any letter.)
-
Oncalc app signing would be really cool, this is a great project.
-
Oncalc app signing would be really cool, this is a great project.
Yes, it would, even as a separate project!
-
This program is great!
On a related note, I've never seen Wabbitemu crash like that... ;D
-
This program is great!
On a related note, I've never seen Wabbitemu crash like that... ;D
Hm? How'd it crash?
-
I have no idea what happened. It froze and stopped working. It didn't give me the instant RAM clear I'm used to getting. It probably has something to do with the fact that I'm working with registers I'm not really familiar with.
-
To get back on topic, I've found a rather serious bug in Mimas's symbol hashing, which can sometimes cause the assembler to crash. This might also have caused occasional misassemblies and inappropriate "symbol redefined" errors. So, there'll be another bugfix release shortly.
And back to the subject of on-calc app signing, since you guys have gotten me thinking about that again... after some experimentation and back-of-the-envelope calculations, I'll wager that you can do a lot better than 13 minutes. Like, under a minute. Also, I wasn't correct when I said that Rabin is necessarily much faster than RSA; I think you could apply similar tricks and speed up RSA by a similar amount, if you cared to do so.
^ Maybe it's that?
And did the emulated calc freeze or did Wabbit completely freeze up? If it's only the calc, then that happens a lot (I do infinite loops all the time :D) and you can just go to Debug > Reset.
If it's Wabbit, though... I've had that happen too. It was an early bug, but it should be fixed in the current version (at http://wabbit.codeplex.com/ (http://wabbit.codeplex.com/)).
-
Wow, now that I'm learing ASM, this helps me a lot more. I was concerened about not being able to access a comp enough to write ASM programs. :D
-
Wow, now that I'm learing ASM, this helps me a lot more. I was concerened about not being able to access a comp enough to write ASM programs. :D
Yep, that's why I love on-calc assemblers :D
But FloppusMaximus mentioned random crashes, so you should probably wait a bit until he finishes 0.3 (or whatever the next version is).
-
I'm fine, actually, since a have a dev calc, and a link cable plus my other calc whereever I go. ;)
-
To get back on topic, I've found a rather serious bug in Mimas's symbol hashing, which can sometimes cause the assembler to crash. This might also have caused occasional misassemblies and inappropriate "symbol redefined" errors. So, there'll be another bugfix release shortly.
And back to the subject of on-calc app signing, since you guys have gotten me thinking about that again... after some experimentation and back-of-the-envelope calculations, I'll wager that you can do a lot better than 13 minutes. Like, under a minute. Also, I wasn't correct when I said that Rabin is necessarily much faster than RSA; I think you could apply similar tricks and speed up RSA by a similar amount, if you cared to do so.
^ Maybe it's that?
And did the emulated calc freeze or did Wabbit completely freeze up? If it's only the calc, then that happens a lot (I do infinite loops all the time :D) and you can just go to Debug > Reset.
If it's Wabbit, though... I've had that happen too. It was an early bug, but it should be fixed in the current version (at http://wabbit.codeplex.com/ (http://wabbit.codeplex.com/)).
Wabbit completely froze and I had to shut it down through the task manager. I don't think it was an infinite loop, because all I was doing was passing stuff to the processor to see how certain values are returned. No looping whatsoever. It wasn't my code per se, but it *should* work, being as the code was written for the processor.
-
To get back on topic, I've found a rather serious bug in Mimas's symbol hashing, which can sometimes cause the assembler to crash. This might also have caused occasional misassemblies and inappropriate "symbol redefined" errors. So, there'll be another bugfix release shortly.
And back to the subject of on-calc app signing, since you guys have gotten me thinking about that again... after some experimentation and back-of-the-envelope calculations, I'll wager that you can do a lot better than 13 minutes. Like, under a minute. Also, I wasn't correct when I said that Rabin is necessarily much faster than RSA; I think you could apply similar tricks and speed up RSA by a similar amount, if you cared to do so.
^ Maybe it's that?
And did the emulated calc freeze or did Wabbit completely freeze up? If it's only the calc, then that happens a lot (I do infinite loops all the time :D) and you can just go to Debug > Reset.
If it's Wabbit, though... I've had that happen too. It was an early bug, but it should be fixed in the current version (at http://wabbit.codeplex.com/ (http://wabbit.codeplex.com/)).
Wabbit completely froze and I had to shut it down through the task manager. I don't think it was an infinite loop, because all I was doing was passing stuff to the processor to see how certain values are returned. No looping whatsoever. It wasn't my code per se, but it *should* work, being as the code was written for the processor.
You should give BuckeyeDude a bug report (here in this topic (http://ourl.ca/4854), at RevSoft in this thread (http://www.revsoft.org/phpBB3/viewtopic.php?f=32&t=689), or on IRC (he's either Buckeye or BuckeyeD)).
-
I think I figured out the problem: Programmer idiocy. I was referencing a command that doesn't exist in the z80 chip for TI calcs.
Bloody good way to **** up your calculator. :P
-
Bloody good way to **** up your calculator. :P
True :D
How would you have referenced it, though? Did you put in the hex? Because if the mnemonic's built into Mimas, you might want to tell him about it.
-
I typed it in by hand. I was trying out some code from an old z80 computer. Apparently the assemblers were slightly different....
-
TI's Z80 is weird, so don't try that unless you know what it means...
-
Good advice. Luckily, TI actually did something right and wrote a BCALL for it into the OS. I only found out about it afterwards. The downside is that the bad routine appears to be several dozen times more efficient.
-
Good advice. Luckily, TI actually did something right and wrote a BCALL for it into the OS. I only found out about it afterwards. The downside is that the bad routine appears to be several dozen times more efficient.
Any routine that TI didn't write is probably several dozen times more efficient ;)
-
That's all too true :(
-
The Z80 in the TI-83+ works like any other Z80. Executing an opcode that doesn't exist shouldn't have any effect (well, which opcode are you speaking of anyway?)
-
Here's the part of the source that's giving me problems:
EXX
BIT 7,B
EXX
JP NZ,SUB1
The SUB1 isn't a normal z80 command. I think it's an assembler difference.
-
SUB1 is a label name, not a command.
-
Heh, then you might have been jumping to a nonexistent label. That would explain a lot :D
-
Oh, also, I see you are using the shadow registers. Did you disable interrupts before executing this routine? Otherwise the shadow registers will get destroyed by the interrupt handler.
-
Heh, then you might have been jumping to a nonexistent label. That would explain a lot :D
Oh, that might help.
Also, I didn't disable interrupts, so I'll do that next time.
EDIT: The label is buried a few hundred lines later in the code. No wonder I missed it.
-
I made a template for mimas userbars. :D
Basically, go to designer.userbars.com and add the url of the template and your name. ;)
(http://img.removedfromgame.com/imgs/1289602798-mimas.PNG)
http://img.removedfromgame.com/imgs/1289602798-mimas.PNG
I'm adding mine to my sig soon. ;)
-
Thanks yunhua! :D
Floppus, any idea when the next version will come out?
-
Oops, sorry, it has been a while, hasn't it. I was intending to release that bug fix right away, and then my heat sink decided to take up skydiving and my regular PC was out of commission for a while. And then I got distracted with app signing...
I'll get the bug fix done right away. There are a couple of other features I'm still working on, but those can wait.
I can't imagine what might have happened to make Wabbitemu crash. That sounds bad!
-
Apparently I also did something to the ROM image. I had to reload the file to run Wabbit again.
-
Sorry to hear about your computer. Nothing else was damaged I hope, right? X.x
Also nice userbar Yunhua98.
-
I run everything inside of an isolated partition, so nothing important should be damaged.
-
Wait you got computer issues too? Btw my post was directed at FloppusMaximus. Lots of people got computer issues lately...
-
Oh, I misunderstood that. I have found a few mysterious files in my computer that I can't read, but I can't trace their corruption to anything. I have no idea what they are, other than the fact that they aren't viral.
-
Mimas 0.3 is Out!
http://www.ticalc.org/archives/files/fileinfo/431/43140.html/me celebrates :D
-
Uh...broken link?
-
oops, fail, extra "/"
-
Mimas 0.3 is Out!
http://www.ticalc.org/archives/files/fileinfo/431/43140.html/me celebrates :D
Woo! Good to know this stuff is still alive! I thought it was dead for some reason >.>
btw, this, other than DCS, is the most useful thing on my calc :D
-
Mimas 0.3 is Out!
http://www.ticalc.org/archives/files/fileinfo/431/43140.html/me celebrates :D
Woo! Good to know this stuff is still alive! I thought it was dead for some reason >.>
btw, this, other than DCS, is the most useful thing on my calc :D
correction: "this, other than Axe Parser is the most useful thing on my calc. :P
-
Mimas 0.3 is Out!
http://www.ticalc.org/archives/files/fileinfo/431/43140.html/me celebrates :D
Woo! Good to know this stuff is still alive! I thought it was dead for some reason >.>
btw, this, other than DCS, is the most useful thing on my calc :D
correction: "this, other than Axe Parser is the most useful thing on my calc. :P
And a shell and Calcsys... I don't even have room! D:
Glad to know it's still alive, though. I'm going to use that a lot. But not right now, unfortunately...
-
I have like 1000K of archive. :P/me winks at his backup calc, with about 2000 bytes archive. :P
-
Nice to see the new version out! :)
How do you have 2 MB of archive, though, yunhua? The 84+SE got 1540K user archive.
-
Awesome! Thanks Floppus! ;D
-
DJ: 1540 KB to the nearest thousand is 2 MB :P
I have to agree that it is one of the most useful things on my calculator :)
-
Ah ok but I was wondering since that's still almost half a MB difference...
-
Yeah, it's a pretty horrible place to round to (666 to the nearest thousand is 1000! :P).
I've assumed he means it's practically empty in terms of apps, programs, etc.
-
Nice to see the new version out! :)
How do you have 2 MB of archive, though, yunhua? The 84+SE got 1540K user archive.
no, my backup calc has 2000 bytes, not kilobytes. ;) meaning I keep everything archived in there. :P
my main calc has 1140kb of archive due to my other calc. :P
-
Ah, okay. DJ and I had assumed KB because the other number you gave was also in KB ;)
-
Ah ok, and yeah I saw 2000K so...
-
Hum... Just tried Mimas. It's the first in-calculator Asm( developper, right?
Or are there more?
-
Hum... Just tried Mimas. It's the first in-calculator Asm( developper, right?
Or are there more?
It's the first competent one :P
-
Hum... Just tried Mimas. It's the first in-calculator Asm( developper, right?
Or are there more?
It's the first competent one :P
Hahah, that explains why a lot of you like it.
I don't program Asm( but it looks nice, especially the interface
-
it's not Asm(, that's the way to program raw hex in Axe, only Xeda can really do wonders with that. This is the more commonly used er, form of Asm (no ( needed). an example prog:
#include "ti83plus.inc"
.org ProgStart - 2
.db t2ByteTok, tAsmCmp
b_call(_ClrLCDFull)
ld hl, 0
ld (PenCol), hl
b_call(_PutS)
inc hl
ld (PenCol), hl
ld hl, msg2
b_call(_PutS)
b_call(_NewLine)
ret
msg:
.db "Hello world!", 0
msg2:
.db "I wrote this :)",0
.end
.end
the two .end's are for TASM compiling as it sometimes skips the first .end
BTW mah first assembly program ever -- I can't believe I still have a copy O.o
-
Yeah Asm( is the command to run nostub ASM programs, not the name of the language.
-
Hum... Just tried Mimas. It's the first in-calculator Asm( developper, right?
Or are there more?
It's the first competent one :P
Says the guy that wrote two programs with a "non-competent" one that are on my calc. (Greyscale Tunnel and XtraVar) :P
-
Hum... Just tried Mimas. It's the first in-calculator Asm( developper, right?
Or are there more?
It's the first competent one :P
Says the guy that wrote two programs with a "non-competent" one that are on my calc. (Greyscale Tunnel and XtraVar) :P
Lol, nice job leaving out your own assembler ;)
No, it's the first competent one written in assembly.
-
Hah, an asm program to program in Asm, how funny!
-
Most C compilers are written in C ;)
-
Most C compilers are written in C ;)
except the first ;)
-
I've writen a Scheme interpreter in Scheme before. :)
-
I've writen a Scheme interpreter in Scheme before. :)
now that's just silly :P
Hmm, someone should attempt to make a BASIC interpreter in BASIC (with DCS's help of course)
-
Lol Quigibo XD
I think someone tried to write a BASIC interpreter in TI-BASIC before. There was also an alternative language interpreted using TI-BASIC that was about 3 times slower than TI-BASIC, but 3 times smaller.
-
Now that I know a little basic, I'd like a help from you guys. Using Mimas, I can program Assembly in calculator...
Is the syntax EXACTLY the same as in computer?
So...
#include "ti83plus.inc"
.org 40339
.db t2ByteTok, tAsmCmp
VariableNameTest .equ 666
ThisIsZero .equ 0
B_CALL _ClrLCDFull
ld a, VariableNameTest
add a, ThisisZero
ld h,2
ld l, 154
B_CALL _DispHL
B_CALL _getKey
B_CALL _ClrLCDFull
ret
I could do this?
EDIT: When I type this:
VariableNameTest .equ 666
it gives me 'UNKNOWN FUNCTION'
-
Use '=' instead of '.equ'. :) Mimas doesn't support '.equ' yet. :D
-
Use '=' instead of '.equ'. :) Mimas doesn't support '.equ' yet. :D
That works better, but when I compile this:
VAR = 666
OTHERVAR = 0
BCALL ClrLCDFull
ld a, VAR
add a, OTHERVAR
ld h,2
ld l, 154
BCALL DispHL
BCALL GetKey
BCALL ClrLCDFull
ret
And compile it, I get:
Error
Argument 029Ah out of range
I have no idea what this means :S
-
VAR is 666, which is a 2-byte number. A is only a one-byte register, so you can't load VAR into A.
EDIT: 2222th post!
-
VAR is 666, which is a 2-byte number. A is only a one-byte register, so you can't load VAR into A.
1. Deep Thought, you have 2222 posts hahaha
2. #include "ti83plus.inc"
.org 40339
.db t2ByteTok, tAsmCmp
VariableNameTest .equ 666
ThisIsZero .equ 0
B_CALL _ClrLCDFull
ld a, VariableNameTest
add a, ThisisZero
ld h,2
ld l, 154
B_CALL _DispHL
B_CALL _getKey
B_CALL _ClrLCDFull
ret
This works in the computer, though.
3. VAR = 666
B_CALL _ClrLCDFull
ld HL, VAR
B_CALL _DispHL
B_CALL _getKey
B_CALL _ClrLCDFull
ret
What about this?
-
#include "ti83plus.inc"
.org $9D95
.db t2ByteTok, tAsmCmp
VariableNameTest .equ 666
ThisIsZero .equ 0
B_CALL _ClrLCDFull
ld bc, VariableNameTest
add c, ThisisZero
ld h, 2
ld l, 154
B_CALL _DispHL
B_CALL _getKey
B_CALL _ClrLCDFull
ret
anything over 255 is a 16 bit number, and requires a 16 bit register. BC is a good one to use when not using HL or DE. And, you can't really use AF much for that type of thing. So BC == good.
To add to BC, you can add C and that zero var, which (I think) conserves more space like a byte or two and is faster. C is the small byte of BC, so when you add 1 to that, BC is equal to old BC plus one. When you add to B however, BC is equal to old BC plus 256. that is because B is the high byte, which takes care of the numbers higher than 255 for the BC register. You may want to study this a lot and get it down before going too much further though, and I'm sure that hot dog's tutorial will explain it better than me.
-
To add a one-byte number to and register pair, you need to use a. (add c,NUM is not a valid instruction)
Here's an adaptation from a routine to add a to hl:
ld a,num_to_add
add c
ld c,a
adc a,b
sub c
ld b,a
This takes care of carry and everything.
Also, what register you use should be determined by the circumstances (like what routines you will be calling, for example, or what instructions are valid).
-
To add a one-byte number to and register pair, you need to use a. (add c,NUM is not a valid instruction)
Here's an adaptation from a routine to add a to hl:
ld a,num_to_add
add c
ld c,a
adc a,b
sub c
ld b,a
This takes care of carry and everything.
Also, what register you use should be determined by the circumstances (like what routines you will be calling, for example, or what instructions are valid).
Thanks, that works!
-
Sort of a necropost but I have a question. In Mimas 0.3, the library files don't do anything. For example, when I import IonEqu and type "CALL iPutSprite" the compiler thinks I have a label called iPutSprite. Also, it doesn't add anything to the menus.
-
Yeah I've had issues with this too
-
It's defined as "ionPutSprite", not "iPutSprite".
If you do have a program that isn't being assembled correctly, please send me a copy if you can (post it here, or PM or email it to me, or whatever. I won't distribute it to anyone else if you don't want me to.) If you can find a small test case that exhibits the bug, that's always appreciated, but don't let that stop you from posting a large test case if you're not sure how to simplify it.
You're right that there ought to be a menu of symbols that are provided by libraries, but that proved to be rather difficult; I'm planning to implement it eventually, but I haven't done so yet.
-
FloppusMaximus, it's a pleasure to meet you, I love Mimas, congratulations!
-
I finally downloaded this on my real calc. It's awesome O.O
-
I finally downloaded this on my real calc. It's awesome O.O
That was late xD, it's awesome, super easy to use and awesome compiler.
-
I finally downloaded this on my real calc. It's awesome O.O
That was late xD, it's awesome, super easy to use and awesome compiler.
You said 'awesome' twice, and I agree ;D
Finally I can program ASM offline.
-
Just make sure, like with Axe, to backup often, though. X.x
-
Finally I can program ASM offline.
There are other compilers... For a longer time too, but this one outruns them all!
Also, why do you need to be online to program Assembly? Don't you mean in a computer?
-
Bug report:
Mimas sets bufferOnly (in plotFlag3) but doesn't reset it when quitting.
Finally I can program ASM offline.
There are other compilers... For a longer time too, but this one outruns them all!
Also, why do you need to be online to program Assembly? Don't you mean in a computer?
Yeah, I meant on a computer.
I used to use Tasm_on_Calc, then OTBP. Both were a bit slow for me.
-
I'm glad you guys like it. :)
Bug report:
Mimas sets bufferOnly (in plotFlag3) but doesn't reset it when quitting.
Are you sure about that? It shouldn't - it never uses that mode. I've just noticed, however, that it leaves the plotLoc flag set. Maybe that's what you're seeing?
(I guess I just assumed that plotLoc would be reset by the OS. Turns out that isn't the case. bufferOnly, however, is reset automatically, so even if Mimas did leave that flag set, it wouldn't cause any problems.)
I'll fix it as soon as possible, but just out of curiosity, what sort of problems does this cause?
-
Yeah, I meant on a computer.
I used to use Tasm_on_Calc, then OTBP. Both were a bit slow for me.
What I always thought was ironic about TASM_ON_CALC was that the majority of the assembler was programmed in BASIC. It also took forever just to compile a simple program.
-
I'm glad you guys like it. :)
Bug report:
Mimas sets bufferOnly (in plotFlag3) but doesn't reset it when quitting.
Are you sure about that? It shouldn't - it never uses that mode. I've just noticed, however, that it leaves the plotLoc flag set. Maybe that's what you're seeing?
(I guess I just assumed that plotLoc would be reset by the OS. Turns out that isn't the case. bufferOnly, however, is reset automatically, so even if Mimas did leave that flag set, it wouldn't cause any problems.)
I'll fix it as soon as possible, but just out of curiosity, what sort of problems does this cause?
I noticed plotLoc too. I just thought it also did something to bufferOnly because I noticed an Axe program that uses Bitmap( didn't work properly after. Fix 8 (in Axe), which resets bufferOnly, seemed to fix it. It might have been plotLoc after all, though (I'm not really sure how the Bitmap( thing works).
-
What OS do you have Deep Thought?
-
TI-83 Plus v1.19.
-
Another bug report: Including a program as a library in itself ends in an endless loop. (Okay, I should probably have expected that. But protection against it would be nice :))