Sweet, sounds good. I do have some questions about your last item, as I dont fully understand what it entails. I was going to allow you to "connect" multiple instances of the program via the link/usb port. How would I simulate having the CalcNet2.2 hub?
SirCmpwn wrote:
Sweet, sounds good. I do have some questions about your last item, as I dont fully understand what it entails. I was going to allow you to "connect" multiple instances of the program via the link/usb port. How would I simulate having the CalcNet2.2 hub?
Just tie the link line states together. Electrically, it works like this:

1) All lines float normally at high (+5V)
2) Any calculator can assert a line by pulling it low (0V)
3) If any calculator pulls a line (tip or ring) low, then every calculator sees that corresponding line pulled low
4) If one or more calculators pulls the line low, then it remains low until all the calculators release it. If calc 1 pulls tip low, and calc 2 pulls tip low, and calc 1 releases tip, tip is still low until calc 2 releases.

That's pretty much all you need to know.
So basically act as if every calculator was plugged in to every other one? That's delightfully simple.
SirCmpwn wrote:
So basically act as if every calculator was plugged in to every other one? That's delightfully simple.
Indeed, just as simple as the "hardware" that is a CALCnet2.2 hub: A bunch of link cables in parallel.
Very nice, I was expecting to spend quite some time emulating that.
SirCmpwn wrote:
Very nice, I was expecting to spend quite some time emulating that.
PindurTI already does the exact same thing, luckily, so until there's another emulator that supports it I can take my CALCnet/gCn screenshots in PTI.
Yeah, I was wondering about that.
SirCmpwn wrote:
Yeah, I was wondering about that.
About what, whether PindurTI supports CALCnet-style linking of its four instances? If so, it does. If something else, what exactly were you wondering about?
Sorry that I was unclear - I was wondering how you made screenshots demonstrating the networking capabilities of CalcNet 2.2
SirCmpwn wrote:
Sorry that I was unclear - I was wondering how you made screenshots demonstrating the networking capabilities of CalcNet 2.2
Ah, PindurTI. I believe that PTI has the capability because Timendus was experimenting with CLAP (Calculator Link Alternative Protocol) back in the day, which I cited in the Cn2.2 whitepaper, but the project remained unfinished. At any rate, it works just like a Cn2.2 hub, so it works for me.
Update
Hello,
After much gnashing of teeth, the assembler works! It will correctly assemble any instruction, and assembler directives such as db, dw, and org. It also has support for decimal, binary, and hexadecimal literals, formatted in whatever way pleases you (1Dh vs $1D). Include files, macros, and some other things are yet to come. Here's a pretty picture, if you're interested:
(Click Here) (Too large of a resolution to post)
Tomorrow, I clean up some things in the IDE, add support for multiple files, and include files. I'll add some other things as well, but tiDE shall be fully funcitonal as an assembly IDE before the week is over, I guarantee it Smile
That's nice to hear, congrats. I notice on my handy-dandy calendar that it is now February; do you plan on making any KnightOS progress in the near future? When you release your assembler, if you do, I'll look forward to compiling some programs with it and trying to break it.
Nice job on this SIr Smile I also notice that you are using WabbitEmu, so how is your emulator coming? I'll try to at least compile Raven2 and Platformer to see how it does. Also, can/will it support things like ".db" ".org" ".repeat" ".fill" ".dw" etc?
_player1537 wrote:
Nice job on this SIr Smile I also notice that you are using WabbitEmu, so how is your emulator coming? I'll try to at least compile Raven2 and Platformer to see how it does. Also, can/will it support things like ".db" ".org" ".repeat" ".fill" ".dw" etc?
Yeah, those are important. How about .list and .nolist? I assume it can't do Apps yet?
It will support all of the above, and right now, it cannot do apps. In fact, it just spits out hex from a single file, and I did a bit of a hack to make an 8xp for testing. Within the next week or two, it should be fully functional.
As for KnightOS progress, the reason I'm working so hard on this is so that I will have a means to work on KnightOS.
The emulator is not functional yet, and not the focus of my efforts at the moment (although it will be once the assembler is complete). For now, I will just use WabbitEmu.
When I believe the assembler to be finished, I will release a tiDE "z80 Beta" with most of the planned z80 support, and I hope you will all help me in trying to assemble your various projects, and reporting any problems.
augh, I keep on forgetting to look at at source and stuff... stupid life taking up my time Razz
I just added equate/include file support, leaving four tasks for the assembler: ZDS style label permissions, macros, Brass assembler directives, and the math engine.
EDIT: Tasm-style macros now work, which means the following code correctly compiles:

Code:
nolist
include "ti83plus.inc"
list

db $BB, $6D
org $9D95
Start:
   bcall(_RunIndicOff)
   bcall(_ClrLCDFull)
   bcall(_HomeUp)
   ld hl, Message
   bcall(_PutS)
   bcall(_getKey)
   ret
Message:
   db "Hello World!", 0

EDIT2: I also got ZDS style macros working, although there are some bugs with them I need to sort out.
ZDS-style macros as in #define PopGUIStacks(n) ld a,n \ call PopGUIStacks? If so, good luck getting those working.
No, what you mentioned are Tasm, which already works. ZDS macros are slightly different:

Code:
PopGUIStacks n macro
ld a, n
call PopGUIStacks
.endm

These work, but they screw up pass two, and makes the rest of the code have issues.
Update
I just had tiDE assemble "ld (6 + 8 * 14h / %11011 - 'b'), a" correctly. The math engine in tiDE is now working, folks, with a couple of easily fixed exceptions (for instance, the linker overwrites referenced values, when it should add to them instead, meaning things like "LabelNameHere + 2" end up as just "LabelNameHere").
Now, I pose to the community a question: when do you use parenthesis in your immediate values? Do I have to add those? I ask because it will be tricky with stuff like:

Code:
ld a, (2 + (5 - 2) * 3)
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
» Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8  Next
» View previous topic :: View next topic  
Page 4 of 8
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement