It's hard for me to objectively approach news like that, because of my past history with the lead developer's respect for intellectual property. I guess that's cool, though, despite my skepticism about
Quote:
by this time tomorrow you'll be able to transfer files (I/O) to your calculator
since I've been hearing versions of that for two or three years at this point.
KermMartian wrote:
Quote:
by this time tomorrow you'll be able to transfer files (I/O) to your calculator
since I've been hearing versions of that for two or three years at this point.


Do note I said hopefully Razz

EDIT:



The (slightly outdated) userspace code for this is here: https://sr.ht/ATkM.txt

iofsd (Input/Output file system daemon) was created so the calculator can now expose its filesystem to a connected PC (over SilverLink, not USB).
Will this be available in the default build, or will we have to compile this into it ourselves, like other packages? Will the currently available packages be sendable as-is? And, will there be a windows version of the client for connectivity?
KnightOS looks like a very cool project. When I finish the C course this year, I'll give contributing a try.
Luxen wrote:
Will this be available in the default build, or will we have to compile this into it ourselves, like other packages? Will the currently available packages be sendable as-is? And, will there be a windows version of the client for connectivity?


'this' being iofsd/being able to access your calculators file system? At the moment you need to build it yourself (pretty easy though). Once its in a stable condition, it will be made into a release (Kernel 0.6.11 as opposed to 0.6.10, probably).

Also, I made a basic demo program in C showing how to use the corelib (userspace) library in C. The code is available here: https://github.com/MaxLeiter/CoreLibCDemo
z80e, KnightOS's default z80 emulator, is now able to run TI-OS Smile


It now passes the zexall and zexdoc tests, demonstrating that is an accurate z80 emulator (so it's reliable!)
Due to these changes, z80e can also now run KnightOS's old demo program


Also, there's now a docker image which provides a Debian machine with the KnightOS SDK installed for ease-of-use
MaxLeiter wrote:
Also, there's now a docker image which provides a Debian machine with the KnightOS SDK installed for ease-of-use


a package seems more appropriate than a virtual machine.
elfprince13 wrote:
MaxLeiter wrote:
Also, there's now a docker image which provides a Debian machine with the KnightOS SDK installed for ease-of-use


a package seems more appropriate than a virtual machine.

What do you mean by package? Like one for distros? If so, theres currently an aur package
You could find out by clicking the link. There's an obvious connection between the target URL and the phrase "Debian machine"
elfprince13 wrote:
You could find out by clicking the link. There's an obvious connection between the target URL and the phrase "Debian machine"


The docker machine works on more than just Debian, which is the whole point. It'll run on mac, windows, and linux with no fiddling.
Virtualizing an OS to provide an SDK is overkill. It's also a sign that your project either has a massive dependency hell problem or lazy developers.
elfprince13 wrote:
Virtualizing an OS to provide an SDK is overkill. It's also a sign that your project either has a massive dependency hell problem or lazy developers.
To be more specific, why does it have to be a docker image rather than a package with straightforward dependencies on other packages? What are its dependencies?
KermMartian wrote:
elfprince13 wrote:
Virtualizing an OS to provide an SDK is overkill. It's also a sign that your project either has a massive dependency hell problem or lazy developers.
To be more specific, why does it have to be a docker image rather than a package with straightforward dependencies on other packages? What are its dependencies?

It doesnt have to be a docker, its just an optional tool. Arch (aur) does have a straightforward package, and there isnt a deb or anything because no ones made it yet. The dependencies (and general install instructions) are available here
Are there any exe installers, because I have to run linux on an old computer(and no idea how to use cygwin), as I don't know how to do it in windows 10. Also I tried installing the sdk about a month ago, and I couldn't install two of the dependencies. Didn't really try to install them as I didn't feel like spending two much time installing this though.
awesommee333 wrote:
Are there any exe installers, because I have to run linux on an old computer(and no idea how to use cygwin), as I don't know how to do it in windows 10. Also I tried installing the sdk about a month ago, and I couldn't install two of the dependencies. Didn't really try to install them as I didn't feel like spending two much time installing this though.

im on my phone so cant really help, but one of the dependencies you probably had issues with was ImageMagick; feel free to ask on IRC where you can get more help (#knightos on freenode)
Small update, but I think it's worth a post.



The relevant code can be found in stdio.c and format.c

    libc, KnightOS's C library, now has variants of printf implemented
    z80e, KnightOS's z80 emulator, now has flash support
    libc also has some filesystem bindings (creating directories, symlinks, checking if they exist, etc)
    packages.knightos.org now has support for resetting/forgetting passwords (finally)
All quoted from SirCmpwn on CodeWalrus
Quote:

This kernel adds experimental I/O support.

Features
TI link port protocol support
Concurrent link port access
TI Keyboard support

New syscalls:
ioSendBuffer
ioRegisterHandler

Bugs fixed
Mishandled stack in streamWriteBuffer
Writing beyond EOF in streamWriteBuffer extends the file as appropriate
createDirectory returns Z on success

Changes
When there are no active threads, the kernel spins instead of crashing. Note that if there are no threads (not just no _active_ threads), the kernel will still crash as appropriate.
Kernel now keeps internal "clock" for I/O timing

I have also pushed new versions of libc and corelib. Both have seen lots of improvements from the community, with expanded support for the POSIX API in libc as well as expanded support for KnightOS syscalls from C code, and corelib includes TI keyboard support as well as full coverage of the assembly API from C code.

The I/O layer is unstable and not done, but I have some cool demos that I've put together that can do things like control KnightOS from a PC (by simulating the TI keyboard protocol) and sending/receiving files over the I/O port. I'm working on adding link port/link assist support to z80e so that I can better debug these features and improve the reliability of the kernel I/O layer.
Can you tell us more about how concurrent link port access works? That sounds very difficult to coordinate to me; I would have expected it to be a resource that would require exclusive access. Thank you for this update! I appreciate you keeping us abreast of the latest additions and features.
KermMartian wrote:
Can you tell us more about how concurrent link port access works? That sounds very difficult to coordinate to me; I would have expected it to be a resource that would require exclusive access. Thank you for this update! I appreciate you keeping us abreast of the latest additions and features.

Sorry for the late response.
The majority of the code is here.

Basically, you [the userspace] register to receive packets with a given machine ID (using ioRegisterHandler), and add outgoing packets to a queue shared among all threads (using ioSendBuffer).

The code is relatively well commented and can explain it better then I can, so I won't try d:

In other news, SirCmpwn added some improvements to z80e. Here's his quote from CodeWalrus:
Quote:

I was going to work on I/O support today, but got off track when I started working on improvements to z80e's debugger instead. Now it can load scas [KnightOS assembler + linker] object files and show you the source maps (even in the context of a relocatable KnightOS thread)! It also loads up all the symbols for you to debug with. Prior to this change, you'd just see a straight up disassembly during debugging sessions with no context from your code. I also spent some time working on kcc to try and make it possible to view C source code in the z80e debugger like this, but that's going to require more effort than I was willing to put in today (just some refactoring in scas).


Can't we just read this on CodeWalrus if we were interested? What's the point of crossposting?
  
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 ... , 27, 28, 29  Next
» View previous topic :: View next topic  
Page 28 of 29
» 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