A perfect introduction to assembly programming for MOS 6502 well done in the form of an interactive tutorial:
https://skilldrick.github.io/easy6502/
Any example of the tutorial can be edited, assembled and executed step by step right in your WEB browser. Cool!
https://skilldrick.github.io/easy6502/
Any example of the tutorial can be edited, assembled and executed step by step right in your WEB browser. Cool!
Are you interested in mechanics of the X11 protocol? This interactive tutorial shows the internals of the X Server right on the WEB page, thanks to the author who has implemented a subset of the protocol in javanoscript. The tutorial demonstrates on simple examples how most of the common things are implemented in window systems.
https://magcius.github.io/xplain/article/
https://magcius.github.io/xplain/article/
One more cool thing! An experimental minimalistic language-based operating system with lisp-like REPL instead of the shell interpreter. As the author says, the OS follows the ideas of Plan9/Inferno in the sense that every resource can be seen as a file.
https://github.com/mntmn/interim
https://github.com/mntmn/interim
GitHub
GitHub - mntmn/interim: The Interim Operating System
The Interim Operating System. Contribute to mntmn/interim development by creating an account on GitHub.
Akaros is a research operating system for parallel computing with high per-node efficiency in mind. It provides own concepts for thread management to use all the power of the available hardware. Convenient API known to most users is also available. This system incorporates some ideas and source code from Inferno OS (device drivers model, networking stack and namespaces). There is a port of golang runtime to Akaros and it passes all the tests!
http://akaros.cs.berkeley.edu
http://akaros.cs.berkeley.edu
Language-based operating systems are a magnificent topic. The following project focuses on lisp as a host language but the author states that other manageable languages can be used in future. Applications in this system live in the same address space, but the runtime enforces their separation through the concept of environments. Applications can use only functions provided by OS in their environments, so the OS fully controls what some application can see and do.
https://3lproject.org
https://3lproject.org
Astrologers proclaim the day of lisp and language-based operating systems. Mezzano is an operating system written in common lisp. It has a graphical user interface and a number of useful applications: a text editor, an IRC client, a file manager and a client for remote shell over telnet. Looks perfect.
https://github.com/froggey/Mezzano
https://github.com/froggey/Mezzano
GitHub
GitHub - froggey/Mezzano: An operating system written in Common Lisp
An operating system written in Common Lisp. Contribute to froggey/Mezzano development by creating an account on GitHub.
I dare say, all programmers have heard about Smalltalk - an old object-oriented language that inspired Bjarne Stroustrup on the way to his C++. Ideas introduced by Smalltalk are also used in Objective C (method invocation as message passing) and other modern languages. Learning Smalltalk changes how the programmer thinks about object-oriented programming. Extreme simplicity of the language results in compactness of compiler and VM implementation. Today our hero is SOM or Simple Object Machine - a research virtual machine for a modern dialect of Smalltalk.
http://som-st.github.io
http://som-st.github.io
Are you familiar with raycasting - the algorithm used by Wolfenstein 3D, Duke Nukem, Doom and other famous DOS games? The following article shows a good example in JavaScript, you can easily change and test it in any modern browser.
http://www.playfuljs.com/a-first-person-engine-in-265-lines/
http://www.playfuljs.com/a-first-person-engine-in-265-lines/
One more link related to GameDev. Fabien Sanglard is an author of many detailed articles about engines of popular computer games. He has a great book about technical tricks used in the engine of Wolfenstein 3D. I bought an electronic copy on Amazon and finished reading it just in one day! Brilliant!
http://fabiensanglard.net
http://fabiensanglard.net
Recently I had a task to make a high-speed lockless communication channel for a virtual HID device and its clients. I looked for a simple lockless queue solution in C and found this library. Unfortunately it didn't fit to our requirements, but I bookmarked the homepage of the project. Pay attention to the license and good test infrastructure.
http://www.liblfds.org
http://www.liblfds.org