Do you think that it is feasable and/or possible to port CP/M to the TI-8x series?
Yes
 50%  [ 4 ]
No
 50%  [ 4 ]
Total Votes : 8

seana11 wrote:
There's no pointers, so no messing around with that. Java does GCing for you so you don't have to worry about memory leaks (except for infinite loops and that stuff). It is OO from the bottom up, unlike C++ which is C with Object capability. There's also the AMAZING "Head First" series written on it.
That's not necessarily a good thing. Do you want to write Java for a low-resource platform and incur the ridiculous overhead not to mention not being able to know what actually goes on? Both languages have their own strengths, and neither one is going anywhere soon.
_player1537 wrote:
FWIW, I still do that with any language I program in. The exception being C# because Visual C# does a lot of stuff for me. But, for Java, C, C++, ASM, etc; I still do it in a text editor. Not that I have really written much in them, however. I learn the language better if I do it in a text editor.


I agree that learning a language is a lot easier in a text editor, but when programming, on the other hand, is much helped by an IDE, because it takes care of all the little nit-picky type of things for you.
KermMartian wrote:
seana11 wrote:
No one codes their Java in a text editor on the command line anymore. It's too hard to sort everything out. People use IDEs and that inserts most of the code for you. (I use Eclipse)
That's not true at all, especially as an absolute. I'll give you that a majority of people probably use an IDE, but plenty of people still write in text editors with command-line testing, just as they do for C++, PHP, etc etc etc.


I've never once used an IDE for C, C++, D or Ada. I'm quite fine without. When I do go with an IDE, I usually use Netbeans 6.9.2 along with Java, Ruby, and Groovy. Ruby I can almost absolutely say that an IDE is the way to go, as there are many functions built in that would be torturous to use without either autocomplete and/or in-IDE documentation. Netbean's documentation of Ruby commands is quite superb, and while it is almost directly ripped from ruby-doc.org, it's much easier to access and I love it so.
An IDE is much more than just a souped-up text editor. Debugging the code is at least as important as writing the code in the first place, so having quick access to debugging tools (which typically integrate with the text editor) is extremely useful.

If you're having to resort to your IDE to autogenerate most of your code for you then I'd say the language has a pretty big problem.
benryves wrote:
If you're having to resort to your IDE to autogenerate most of your code for you then I'd say the language has a pretty big problem.


I don't have it autogenerate anything non-trival, I just might forget the small difference in something like string.partition and string.rpartition, so I can press ALT+ENTER to bring up suggestions and I can compare the two and see which one would allow for me to produce less hassled code.
I'm not saying that the IDE autogenerates all of my code, it just makes coding a lot less work. For example: when I type in the first part of a method , it will give me a menu of all the available methods for the class that fit. This saves time, and also helps when using Java's extensive code libraries.
seana11 wrote:
Die you java hater! C is going the way of the Dinosaurs.


And like dinosaurs, C powers everything from cars to planes to gundams, and even to the very computer you're posting from.
(Can we please stop talking about Java? It is not even tangentially relevant.)

Knowing nearly nothing about CP/M, I think it is most certainly feasible. I think porting CP/M to a z80 calculator would be an excellent endeavor.
As far as programs go, it's more than possible to rebase a program to get it to run somewhere else, especially programs a simple as what CP/M would be using.

You'd likely even be able to retain compatibility with existing programs, to a degree.

Your main issue is going to be handling I/O, both user-side and file-side. As previously mentioned, CP/M wants an 80-char wide screen. That'd be one pixel column per char on an 84. If you want to retain compatibility, you'd have to add some sort of scrolling for the screen.


Also, once this OS is on your calc, how are you going to get files to it? Linking is dependent on Ti-OS.

As far as your poll goes, yes, it's possible. Feasible, no.

(Also, java sucks.)
Ultimate Dev'r wrote:
seana11 wrote:
Die you java hater! C is going the way of the Dinosaurs.


And like dinosaurs, C powers everything from cars to planes to gundams, and even to the very computer you're posting from.


Unfortunately, plants are what coal and oil are made from, not Dinosaurs.

Netham wrote:
Also, once this OS is on your calc, how are you going to get files to it? Linking is dependent on Ti-OS.


1. Contact Dan Englender, creator of USB8x, and ask him about how the calc-calc protocol works.
2. Write an app for TI/M for "calc-to-calc" transfers.
3. Write a Java app for the computer using the jUSB libraries. (Will trick the calc into thinking that another calc is just sending it data)
seana11 wrote:
Ultimate Dev'r wrote:
seana11 wrote:
Die you java hater! C is going the way of the Dinosaurs.


And like dinosaurs, C powers everything from cars to planes to gundams, and even to the very computer you're posting from.


Unfortunately, plants are what coal and oil are made from, not Dinosaurs.

Nobody said anything relating to plants, coal, or oil. And about C, Java relies on C because many JVMs are written in C/C++. Back on topic about TI/M (which doesn't use java)...
seana11 wrote:
Netham wrote:
Also, once this OS is on your calc, how are you going to get files to it? Linking is dependent on Ti-OS.


1. Contact Dan Englender, creator of USB8x, and ask him about how the calc-calc protocol works.
2. Write an app for TI/M for "calc-to-calc" transfers.
3. Write a Java app for the computer using the jUSB libraries. (Will trick the calc into thinking that another calc is just sending it data)

  1. Ask BrandonW also (as that's where I got my USB driver help from).
  2. Writing a TI/M <=> AOS will be harder to do, but TI/m <=> TI/M will be easier. *wink* Silent Link transfers *wink*
  3. Firstly, you will not use USB8x code, but instead periph8x (which may not work as dev. stopped on it) because your OS will have to run as a USB peripheral.


If you want to do USB, then look at Linky for host/peripheral modes and usage
Thanks AHelper, can you explain:

Quote:
Writing a TI/M <=> AOS will be harder to do, but TI/m <=> TI/M will be easier. *wink* Silent Link transfers *wink*
If you want to send/receive data to/from AOS (TIOS), then you will have to have both periph8x and usb8x working, handle silent link transfers and virtual packets, TI style, and you will have to handle the data storage types (appvars, apps, lists, w/e it throws at you).

With TI/M to/from TI/M, you can make your own protocol doing only what is needed for simple file transfers (still periph8x and usb8x).
I looked up where to find perph8x, and I found a site with this directory listing:

calc.asm
equates.inc
header.asm
hook.asm
interfaces.asm
log.asm
logview.asm
low.asm
msd.asm
periph8x.asm
periph8x.zws
recvio.asm
routines.asm
settings.inc
ti83plus.inc
util.asm

What do I need from this? Where can I get docs?
You'll have to use an assembler like Brass (inside the Doors CS SDK) or ZDS (which is BrandonW's assembler of choice, and would probably work best for this).
Which ones do I use? There's no documentation.
I would read up on how CP/M works and get exact specifications, such as RAM locations used/free, OS calls, output specs, and more. And, I would read through those things you found to see how they work and what the code does Wink If you can't understand it, pastebin it and we'll look at it.
I once read a book on this... That's how I know about it. It wasn't too specific though...
I once heard of a site called "The Google"... you should look into it.
I found a link to that obscure site, "The Google", and I found some pretty decent documentation: http://www.cpm.z80.de/drilib.html Smile

EDIT: I personally would look through every scrap of information in that site, it has everything from assembly documentation to how the OS works and even how it uses resources and more. The things on this site are nice and specific, and tons of resources at that. However, I still don't think it's a practical project Razz
  
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
Page 2 of 3
» 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