Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
That small kit you requested is here.
Is it something similar for TI-89 titanium?

Cheers!
Charlie
CharlieMAC wrote:
Is it something similar for TI-89 titanium?

Cheers!
Charlie


Not as far as I know. If you want to write an OS for that, you'll have to roll your own.
Or base it on Punix, if you can get the source.

Edit: rather, PedRom looks to be further along. Looks like all it lacks are base applications to run, where punix is still an incomplete kernel. As of now, pedrom lacks usb support, but you could impliment the linky drivers or any of the 84 drivers (same USB chip)
Don't forget about PedroM!
I was editing it in while you posted Razz

And it appears both have source. that's a plus.
PedroM development stopped iirc, and, well, punix is on-going. You should ask christop about developing it, but :-\
AHelper wrote:
PedroM development stopped iirc, and, well, punix is on-going. You should ask christop about developing it, but :-\

Did I hear my name? Very Happy

Punix development is indeed on-going, though not as much as I'd like lately.

I'll admit that Punix isn't exactly the best option for rolling your own OS. The code that you really need to get started is the boot code, interrupt handlers, and basic low-level hardware drivers that I lifted and modified from PedroM. You may be able to pick out some other generic routines here and there, but don't expect it to be easy.

I'd kind of like to pull out useful routines from Punix and build an OS kit myself, but I don't have all that much time these days.

If you want to take a stab at it anyway, you can get the source code at https://sourceforge.net/projects/punix/files/betas/ (punix-beta4.zip is the latest) or with the following command to get the most current:

Code:
svn co https://punix.svn.sourceforge.net/svnroot/punix/trunk punix


By the way, Punix doesn't support the TI-89 Titanium (yet). That's on my to-do list, and it shouldn't be too difficult (possibly just change the memory layout here and there and a few drivers). But those are minor details compared to writing the rest of the OS.
But Punix is so powerful and Unix-y compared with PedRom! I have high hopes for it having seen the good design and hard work that christop has put into it over the months (probably years now).
KermMartian wrote:
But Punix is so powerful and Unix-y compared with PedRom! I have high hopes for it having seen the good design and hard work that christop has put into it over the months (probably years now).

Definitely years. In fact, I found some Punix source files that are dated 2004 (!).

I managed to find a couple hours this weekend to make a basic TI-68k starter OS. I pulled out most Punix/Unix-specific stuff and left in the essential start-up code and some adaptable bare-bones drivers. The nice thing (IMO) is that there's still a lot of C code which should make it easier to change.

I'd like to post my own starter OS eventually, but I don't really want to highjack this z80 thread. Is there an existing thread for 68k, or should I create a new one?
I don't believe there's an existing one, so I'd be honored if you'd create a new one. And congratulations on your persistence in working on it for eight (!) years now!
I made a thread for my TI-68k OS starter kit here: http://www.cemetech.net/forum/viewtopic.php?t=7345
Just wanted to point out something that was misleading here. On the first page, this:

Code:
   jr Boot
     db 0,0,0,0,0,0
   db 0, 0 ; rst 08h
   db 0,0,0,0,0
   db 0, 0   ; rst 10h
   db 0,0,0,0,0
   db 0,0   ; rst 18h
    db 0,0,0,0,0
   db 0, 0 ; rst 20h
   db 0,0,0,0,0
   db 0,0   ; rst 28h
   db 0,0,0,0,0
   db 0,0   ; rst 30h
   db 0,0,0,0,0,0,0
   db 0, 0 ; rst 38h / System Interrupt
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
   db 0,0,0,0,0,0,0,0,0
   jp Boot
   dw 0A55Ah
Boot:
        ; This executes at boot

Is not the os header. It's the bootcode. To have a valid kernel, you need at least 2 pages, page 0x00 for the bootcode and page 0x1A that will contain 2 kernel headers; (one at 0x0000 and the other at 0x4000), and the values 0x4100 to 0x4200 should be filled with 0xFF. Here is the bare minimal for a kernel, which can be built with brass and linked with rabbitsign:

Code:
.binarymode intel

.defpage $00, 16*1024, $0000
.page $00

boot:
   jp _start         ; rst 00h
     .db 0, 0, 0, 0, 0
   .db 0, 0         ; rst 08h
   .db 0, 0, 0, 0, 0
   .db 0, 0         ; rst 10h
   .db 0, 0, 0, 0, 0
   .db 0, 0         ; rst 18h
    .db 0, 0, 0, 0, 0
   .db 0, 0         ; rst 20h
   .db 0, 0, 0, 0, 0
   .db 0, 0         ; rst 28h
   .db 0, 0, 0, 0, 0
   .db 0, 0         ; rst 30h
   .db 0, 0, 0, 0, 0, 0, 0
   .db 0, 0         ; rst 38h
   .db 0, 0, 0, 0, 0, 0, 0, 0,
   .db 0, 0, 0, 0, 0, 0, 0, 0,
   .db 0, 0, 0, 0, 0, 0, 0, 0
   jp _start
   .dw $A55A
_start:
   ret
   



.defpage $1A, 17*1024, $0000
.page $1A
.org $0000
   .db $80, $0F, $00, $00, $00, $00   ; master field
   .db $80, $11, $04         ; certificate id
   .db $80, $21, $01         ; version major
   .db $80, $31, $00         ; version minor
   .db $80, $81, $02         ; page count
   .db $80, $A1, $03         ; hardware
   .db $80, $7F            ; finalizer
.org $4000
   .db $80, $0F, $00, $00, $00, $00   ; master field
   .db $80, $11, $04         ; certificate id
   .db $80, $21, $01         ; version major
   .db $80, $31, $00         ; version minor
   .db $80, $81, $02         ; page count
   .db $80, $A1, $03         ; hardware
   .db $80, $7F            ; finalizer
.org $4100
   .fill $100, $FF
How do I start using AsmOS? Do I write the code for the OS (other than the header provided in the .zip) in boot.asm? What do I do???
  
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 5 of 5
» All times are GMT - 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