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 - matthias1992

Pages: 1 ... 17 18 [19] 20 21 ... 29
271
[OTcalc] Z80-Software / Re: OT Basic
« on: August 11, 2010, 04:06:53 pm »
I have another suggestion, This one I borrowed from Visual Basic.
Code: [Select]
Try
..some code
Catch
..errorhandling code
End try

The try-catch-end statement Tries to run the code, if it fails however the error is "catched" and can be handled appropiately. In Visual Basic one would do:
Code: [Select]
Try
..some code
Catch ex as Exception
..errorhandling code
End Try
However for OTBasic I'd just do "Catch" instead of "Catch ex as Exception" or worse "Catch System.Diagnostics.Rightrestrictions as Exception" (< that is not a real error btw). Also "End Try" can be "End". The use of this is that you can safely test code and use code that might not work on every calc. Say a user has for some reason restricted rights on a calc and A program does a function/command or whatever that falls outside those rights, then the user would get a message saying what the problem was, thanks to try-catch-end.
I think it is specifically handy for programs or routines that are prone to errors. Since I assume there is a implented break function to prevent (like we have now, the on that prevents RAM clears) it might be less useful. It really depends on how the OS is programmed and if there is something like 'rights' cause then it's useful.

Edit1:
For the Language Design section: How about a undo/redo function? So if you accidentally hit clear you can still get your line back. I would make the redo's/undo's limited though to keep memory usage low. Maybe even auto-backupping when enabled? (for the paranoid amongst us)
Edit2:
I Have no clue whatsoever how the KOS GUI is gonna look like but maybe we could implent some of it's GUI elements (e.g. Button, Label, WindowForm (once again I dunno if these will actually exist, just saying)) make them callable as drawing functions. This could however be also a external "package" which brings me to my next idea. Making the langauge 'package' compatible. With that I mean that certain commands can be added via a package. This package contains the tokens for the commands and KOS compatible routines to run them. This way users can extend the langauge to their likingning.
Edit3:
Another conditional structure I'd like to see is this one (which I borrowed from batch):
Code: [Select]
If Exists sString
..do something
End
This tests whether string String exists or not. This can be useful to say, have user able to remove a game but to save the game data/save game. With one check you could then easily see if there was any saved that and act appropiately. I think this is very, very useful!

272
[OTcalc] Z80-Hardware / Re: eZ80 Hardware Discussion
« on: August 10, 2010, 03:14:33 pm »
Therefore, anyone on the hardware team should write up a *full* spec, including ports and everything, and post it.  Then, we can nitpick at it until it is usable, and I can make an emulator.  Let's get this show on the road, folks!

I'll work on that. But I'll leave out all the [opional] peripherals!

273
[OTcalc] Z80-Software / Re: OT Basic
« on: August 08, 2010, 05:04:40 pm »
Really very much sorry for the double post but if I just modify my previous post it will be easily overglanced so temporarily I'll say it here (/me hopes there are no ill-mooded moderators around)

Add vectors as a data structure! Like so:

Vector2
Vector3
Vector4

just like in C#/XNA. Sir will most likely know what I am talking about, its very usefull.

274
[OTcalc] Z80-Software / Re: OT Basic
« on: August 08, 2010, 05:01:59 pm »
How about Mosaic for the harder language?  z80 assembly is pretty straightforward in terms of support :P  And Mosaic is already planned on being bundled in KOS.
This isn't KOS, this is OTZ80. I doubt Mosaic supports eZ80 anyway ;)
True but KOS is very likely to be implented into this system though...Altough I still personally prefer to see a whole new OS for it (which can also be KOS but is specifically written for the eZ80 to take full advantage of speed increases and new commands)

275
[OTcalc] Z80-Software / Re: OT Basic
« on: August 08, 2010, 04:47:32 pm »
How about Mosaic for the harder language?  z80 assembly is pretty straightforward in terms of support :P  And Mosaic is already planned on being bundled in KOS.
That isn't a bad idea. But I do think the gap between Z80 and this OTBasic would be too big. This is why I recommend making a golden midway that isn't pre-installed but externally downloadable. Going from basic to asm is a steep learning curve going through AOT first eases you in since it will support inline asm and will have some pretty advanced funtionalities (like flag manipulation), don't worry though It won't be by far a replacement for Mosaic. I guess that adds the counter up to three languages of which I suggest only the Basic Language is preinstalled.

276
[OTcalc] Z80-Software / Re: OT Basic
« on: August 08, 2010, 04:15:13 pm »
I suggest making two languages, the easy one, basic should be interpreted. The harder one should be compiled. We could make some sort C-like language on it where every variable needs to be declared (I suggest any variable may be max. 8 char long?). I do think the basic version should be like Visual-Basic. Easy to use.

I do think having similarities is good but there may be some extra's to it. I'd love to develop a whole new language which takes the best of both worlds, the speed (or near it) of assembly yet the ease of use of basic. I am not talking about something Axe like hear because personally I don't find Axe that easy to use, especially because all the similar tokens confuse me. I suggest delivering this second language with a on-calc SDK and Compiler (all in one) as a external download. This so that newbs can't damage their calculator by playing around with the language (if it were pre-installed).

I'd say for the Advanced level (which i will from now on refer to as AOT: Advanced OmniTech) language to support a difference between data types to save space. This in contradiction to the Basic language which I suggest can have 8 char length varaibles that can be a string or a matrix or anything else just by assigning values like so:

MyVar = "ABCD"
MyVar = 10
MyVar = [[1,2][3,4]]

This does cause gaps in memory filled with garbage because you switch between types but I think it is easy. A other way would be doing a prefix like so:

sMyVar = "ABCD"
rMyVar = 10
mMyVar = [[1,2][3,4]]

The prefix doesn't count as character in the variables name. The AOT will (in my idea of it) declare variables like so:

New String MyVar = "ABCD"

or:

New String MyVar;
Myvar = "ABCD"

Aot will see the difference between Shorts, Doubles, Int's and Reals (and floats) as long as the type is declared (which is a must). For a Short it will reserve less space in memory so a advanced programmer can declare the types he needs.

Ok here I think is some keydifferences between Ti-Basic and OTBasic
First off all since there is more space we can use more descriptive tokens then par example: expr(). Secondly since the screen will hopefully be bigger there isn't a problem in making tokens longer in terms of displaying them.

definetely make indents for loops, very useful when young programmers get into more advanced PC languages, if they used OTB before (and they probaly will) then the gap between these languages would be smaller.

= assigns, no more sto token. This means assignments can be done in strings. Which means You can do subprograms in strings.

Custom named vars! Hopefully >5 chars long. Most likely with a pre- or suffix to define its type (int, real, mtrx, string etc)though but we will have to see about that later. This allows to create manual vars so different programs won't overwrite your variables. This does take up space but with a simple new command:
Code: [Select]
UndeclareYou can remove the vars you don't need to be saved and keep the ones that say, store level/player data. So you could do:
Code: [Select]
Undeclare Myvar1, Myvar2, Myvar3or:
Code: [Select]
Undeclare All()The parenthesis behind All could then contain nothing which litteraly deletes all declared vars or it could contain a type as, int, string, mtrx, real.
Code: [Select]
Undeclare All(int)This undeclares/ removes all vars of the type integer

Edit: Here are some more thoughts about AOT (not OTBasic as the above) syntax

Operators:

= is the assignment operator
== is the equal operator
/= (i can't do the non-equal sign here) is the non-equal operator
+ is plus
- is negative (I don't know if we need to make a distinction between - and (-) as the Ti calc does but I assume not)
* is multiply
/ is division
: is a logical and so you could have If A:B=1 (which tests if a=1 and b=1)
| is a logical or so you could have If A|B=1 (which tests if a=1 or b=1)
++ Increment with one stores to itself
-- decrement with one stores to itself
+= Increment with one assign to a new varaible or itself (which would be rather stupid considering the availability of ++ and --)
-= Decrement with one assign to a new varaible or itself (which would be rather stupid considering the availability of ++ and --)

IO:

Print [text | string | variable],[text | string | variable], [etc..] print a text, string or variable or a combination of those at the current cursorposition
Write X-location, Y-location, [text | string | var], [text | string | var], [text | string | var] , [etc] print a text, string or variable or a combination of those at the specified x and y position
Mprint [equation] writes out the specified eqaution in a pretty-print style.

277
[OTcalc] ARM-Hardware / Re: Major OTARM calc changes!
« on: August 08, 2010, 10:48:06 am »
Quote
Excellent. Please post your ideas. I really think we should do wifi.  Also, I'm reading up on arm asm for the os. Albert, are you going to be the head of arm hardware or software? I personally don't want linux and would rather create my own os. How much experience do you have with hardware vs. Firmware

Hmm well I do recommend using a linux like kernel though, it's very powerful. But indeed linux can be confusing and we want a easy GUi, so let's use the power of the linux kernel but the ease of use say, windows. Altough most programmers hate it you gotta say its quite easy to use. That is until the errors kick in.

278
OTcalc / Re: Let's build our own calculator!
« on: August 08, 2010, 10:25:02 am »
Well im assuming the first designs will be on a breadboard? :).
Partly maybe...I believe we are opting for a devboard, at least for the ARM version. I think with BenRyves's help we can do the eZ80 version without a devboard. I do ahve some breadboards and quite some components too though so I can do some testing if needed. I think I could buy a eZ80 as well, albeit I am not sure if my local electronics shop has it...

I first want to see a structured plan of attack. Then we can start prototyping.

279
[OTcalc] Z80-Hardware / Re: VOTE: CPU for OTZ80 - eZ80 20 MHz or 50 MHz?
« on: August 07, 2010, 05:49:19 pm »
I keep recommending 50.

The argument that it drains batteries is to my belief false, mostly because of all components in a PC the processor consumes the least. We could better take off the real killer, the screen. Just remove the backlight and add in the juice. I know a calc isn't a pC but just saying proccesor consume little to no power.

The argument that it costs more is also 'debunked' price difference is ~$5

So please vote for 50mhz! It adds greatly to resale value!

280
OTcalc / Re: Let's build our own calculator!
« on: August 07, 2010, 05:19:24 pm »
Yeah, plus if it's on the side of the device, it could easily be brushed against and users would loose all their valuable data.

You mean the power swithc? That is why I choose a slide switch, the one that has pretty "heavy" resistance and needs to click, if you keep it in a bag or pocket it can not possibly turn off with that sort of switch. Just my (humble) opinion.

281
[OTcalc] Z80-Hardware / Re: VOTE: CPU for OTZ80 - eZ80 20 MHz or 50 MHz?
« on: August 07, 2010, 04:57:59 pm »
20

Less power usage. The price difference is not great, but for the user, the long-term price difference will be, with all those batteries being wasted.

I can hardly call THAT wasted. With 50mhz we have the world! (okay a little dramatic but read on..it gets more dramatic :P)

why so conservative all? This is a very rare change we have! We want it to be durable right? so make it 50! We could do multitasking (drawing graphs whilst doing 1+1) and much more! The possibilities are far more unbound and the price difference is near nihil. We could easily underclock the calc later anyway and let the user choose betwen slow mode and fast mode. With rechargeable batteries batterties shouldn't be a problem.

We have until now pretty much copied TI, the design "must" be the same, we use the same sort of processors we add some ram. But oh no, no bigger screens please, no faster processors please. I mean really, this is a unique change! We could make the calculator far more then a calculator when choosing 50mhz! It adds to resale value and it costs about $5 more in production.

Will you let slip away yet another change to make this product great?!


I have been noticed that this comment might very well been seen as offending, if that is so then my apologies for its intends were not so. The above was just a act of desperation to get people voting for 50mhz. The "joke" about no bigger screens and no faster processor wasn't aimed at anyone specifically. it's intend was to help others "realize" that up till now 'we' haven't really done anything spectacular with the OTeZ80. This is just my opinion and above are the arguments for supporting it. If anyone felt jumped on by this then I, again, apologise. Just realize that it's intends were not to do so.

282
[OTcalc] Z80-Hardware / Re: eZ80 Clock speed
« on: August 07, 2010, 04:45:45 pm »
I just saw it...

I was ultra ninja'd

283
[OTcalc] Z80-Hardware / eZ80 Clock speed
« on: August 07, 2010, 04:43:56 pm »
sda

284
OTcalc / Re: Let's build our own calculator!
« on: August 07, 2010, 03:41:04 pm »
Yeah, personally, I'm for making a working version right now.  Maybe start with the z80, since more people know about it.
Agreed. I'll stop designing it was just mocking-up. Let's all move to the hardware section so we can decide on that and get rolling...
* matthias1992 waves this topic goodbye

285
OTcalc / Re: Let's build our own calculator!
« on: August 07, 2010, 03:33:51 pm »
I would prefer having the link ports in the top, makes connecting with a short cable easier.
Could be done. Point is that sckethup messes up when placing circles and rectungles on a arched surface...

We really need to not make them too big. One concern people have is not getting their calc stolen. When people keep their calc somewhere else than on themselves (read: in their pockets), they have higher chances to get it stolen. If they can't even fit their calc in their pocket, then they have a little problem.

As for the ports, they should probably be on the top. I also don't think arrows should be in the middle. I find it hard to control stuff on the Nspire keypad because of that. Either put it on the right side like other calcs, or put it to the left, like on a Playstation, Xbox or Nintendo controller.
I can't say anything about that. We will have to see how large the pcb's will be, then we can discuss this further. Of course the intend is to get it as small as possible but this shouldn't in anyway be a reason for choosing smaller and thus (often) less-good hardware.

Pages: 1 ... 17 18 [19] 20 21 ... 29