JSLinux is a PC emulator written in JavaScript. It allows you to run a Linux distribution, or other operating systems like Windows 2000, entirely within a web browser. Fabrice Bellard, the creator, has implemented several different emulated architectures including x86, ARM, and RISC-V, showcasing the versatility of the project. The site provides several pre-built virtual machines to try, offering various Linux distributions with different desktop environments and even a minimal version of Windows 2000. It demonstrates a remarkable feat of engineering, bringing relatively complex operating systems to the web without the need for plugins or extensions.
A JavaScript-based Transputer emulator has been developed and is performant enough for practical use. It emulates a T425 Transputer, including its 32-bit processor, on-chip RAM, and link interfaces for connecting multiple virtual Transputers. The emulator aims for accuracy and speed, leveraging WebAssembly and other optimizations. While still under development, it can already run various programs, offering a readily accessible way to explore and experiment with this parallel computing architecture within a web browser. The project's website provides interactive demos and source code.
Hacker News users discussed the surprising speed and cleverness of a JavaScript-based Transputer emulator. Several praised the author's ingenuity in optimizing the emulator, making it performant enough for practical uses like running old Transputer demos. Some commenters reminisced about their past experiences with Transputers, highlighting their unique architecture and the challenges of parallel programming. Others expressed interest in exploring the emulator further, with suggestions for potential applications like running old games or educational purposes. A few users discussed the technical aspects of the emulator, including the use of Web Workers and the limitations of JavaScript for emulating parallel architectures. The overall sentiment was positive, with many impressed by the project's technical achievement and nostalgic value.
RPCEmu emulates Risc PC systems, including the A7000 and various StrongARM-based machines. It accurately recreates the hardware of these Acorn computers, allowing users to run original RISC OS software, including applications, games, and the desktop environment itself. The emulator boasts high compatibility and performance, supporting features like ARMv3, ARMv4, and StrongARM CPUs, FPA math co-processor, VIDC1 and VIDC20 graphics, and various sound and networking devices. RPCEmu aims for complete hardware accuracy, making it a valuable tool for preserving and experiencing these classic Acorn systems.
Hacker News users expressed significant enthusiasm for RPCEmu, praising its accuracy and the developer's dedication. Several commenters reminisced about using Acorn machines, particularly the Archimedes, sharing personal anecdotes and highlighting the platform's unique RISC OS. Some discussed the technical challenges of emulating older hardware and software, while others inquired about specific features like networking and sound support. The positive feedback underscores the impact of RPCEmu in preserving the legacy of Acorn computers and making them accessible to a wider audience. A few users also expressed interest in contributing to the project or exploring the emulated systems for the first time.
This project showcases a JavaScript-based Chip-8 emulator. The emulator is implemented entirely in JavaScript, allowing it to run directly in a web browser. It aims to provide a simple and accessible way to experience classic Chip-8 games. The project is hosted on GitHub and includes the emulator's source code, making it easy for others to explore, learn from, and contribute to the project.
Hacker News users discussed the JavaScript Chip-8 emulator, primarily focusing on its educational value for learning emulator development. Several commenters shared their own positive experiences with Chip-8 as a starting point, praising its simplicity and well-defined specifications. Some discussed specific implementation details like handling timers and quirky ROM behavior. Others suggested potential improvements or additions, such as adding debugging features or exploring different rendering approaches like using canvas or WebGL. One commenter highlighted the emulator's usefulness for testing and debugging ROMs, while another appreciated the clean code and ease of understanding. Overall, the comments reflected a positive reception to the project, emphasizing its educational merit and potential as a foundation for more complex emulator projects.
Retro Boy is a simple Game Boy emulator written in Rust and compiled to WebAssembly, allowing it to run directly in a web browser. It features a basic but functional graphical user interface and supports sound, offering a playable experience for a selection of ROMs. While not aiming for perfect accuracy or advanced features, it focuses on clean code and serves as a learning project showcasing Rust and WebAssembly for emulation.
Hacker News users generally praised the Retro Boy emulator for its clean Rust implementation and WebAssembly deployment. Several commenters appreciated the project's simplicity and educational value, seeing it as a good starting point for learning emulator development or Rust. Some discussed performance aspects of WebAssembly and the challenges of accurate emulation. A few users compared it favorably to other Game Boy emulators and highlighted the benefits of Rust's safety features for this type of project. Others pointed out the clever use of a single match
statement in the CPU emulation code. The developer's engagement in the comments, answering questions and acknowledging feedback, was also positively received.
SheepShaver is a free and open-source emulator that allows you to run classic PowerPC Mac OS versions (from 7.5.2 up to 9.0.4) on modern macOS, Windows, and Linux systems. It requires a ROM image from a compatible Mac model to function and offers good performance for many older Mac applications and games. While support for newer macOS versions relies on community patches, SheepShaver remains a viable option for revisiting classic Mac software.
Commenters on Hacker News express nostalgia for classic Mac OS and discuss their experiences using SheepShaver. Some highlight its speed and compatibility, even on low-powered hardware like the Raspberry Pi. Others reminisce about specific games and software that ran well on the emulator. A few users mention the limitations of emulating older systems and suggest alternative emulators like Basilisk II for 68k Macs. Some discuss the legal gray area of ROM acquisition, essential for running SheepShaver. The thread also touches on the challenges of preserving old software and hardware, as well as the ongoing interest in retro computing.
Masswerk's Virtual Punch Card Creator lets you design and visualize your own punched cards using a web-based interface. It emulates the classic IBM 80-column format, allowing you to input characters and see their corresponding hole punches in real-time. You can then download your creation as an SVG image or share a unique link to your design. The tool offers various customization options, including card colors and corner cuts, adding a touch of personalization to this nostalgic piece of computing history.
HN commenters were fascinated by the virtual keypunch simulator, praising its attention to detail and the nostalgic feeling it evoked. Some shared personal anecdotes of using actual keypunches, reminiscing about the satisfying chunk sound and the physicality of the process. Others discussed the history and mechanics of keypunches, including the different models and their quirks. Several expressed appreciation for the simulator's educational value, allowing younger generations to experience a piece of computing history. The tactile feedback and the limitations of the technology were highlighted as aspects that fostered a different kind of focus and intentionality compared to modern coding environments. A few commenters pointed out related projects, such as a virtual teletype simulator.
John Earnest's Chip-8 Archive offers a comprehensive collection of ROMs for the Chip-8 virtual machine. The archive meticulously categorizes games, utilities, and other programs, providing descriptions, screenshots, and playability information. It aims to be a definitive resource for Chip-8 enthusiasts, preserving and showcasing the platform's software library. The site also includes a convenient search feature and technical information about the Chip-8 system itself, making it a valuable tool for both playing and understanding this historical virtual machine.
HN users discuss the Chip-8's role as a popular target for emulator beginners due to its simplicity and well-documented specifications. Several commenters share nostalgic memories of implementing Chip-8 interpreters, citing it as a formative experience in their programming journeys. Some highlight the educational value of the platform, recommending it for learning about emulation, graphics programming, and computer architecture. A few discuss variations in ROMs and interpreters, acknowledging the lack of a strict standard despite the common specifications. The discussion also touches on the Chip-8's limited sound capabilities and the availability of resources like online manuals and debuggers. Several users share links to their own Chip-8 implementations or related projects.
Spice86 is an open-source x86 emulator specifically designed for reverse engineering real-mode DOS programs. It translates original x86 code to C# and dynamically recompiles it, allowing for easy code injection, debugging, and modification. This approach enables stepping through original assembly code while simultaneously observing the corresponding C# code. Spice86 supports running original DOS binaries and offers features like memory inspection, breakpoints, and code patching directly within the emulated environment, making it a powerful tool for understanding and analyzing legacy software. It focuses on achieving high accuracy in emulation rather than speed, aiming to facilitate deep analysis of the original code's behavior.
Hacker News users discussed Spice86's unique approach to x86 emulation, focusing on its dynamic recompilation for real mode and its use in reverse engineering. Some praised its ability to handle complex scenarios like self-modifying code and TSR programs, features often lacking in other emulators. The project's open-source nature and stated goal of aiding reverse engineering efforts were also seen as positives. Several commenters expressed interest in trying Spice86 for analyzing older DOS programs and games. There was also discussion comparing it to existing tools like DOSBox and QEMU, with some suggesting Spice86's targeted focus on real mode might offer advantages for specific reverse engineering tasks. The ability to integrate custom C# code for dynamic analysis was highlighted as a potentially powerful feature.
RT64 is a modern, accurate, and performant Nintendo 64 graphics renderer designed for both emulators and native ports. It aims to replicate the original N64's rendering quirks and limitations while offering features like high resolutions, widescreen support, and various upscaling filters. Leveraging a plugin-based architecture, it can be integrated into different emulator frontends and allows for custom shaders and graphics enhancements. RT64 also supports features like texture dumping and analysis tools, facilitating the study and preservation of N64 graphics. Its focus on accuracy makes it valuable for developers interested in faithful N64 emulation and for creating native ports of N64 games that maintain the console's distinctive visual style.
Hacker News users discuss RT64's impressive N64 emulation accuracy and performance, particularly its ability to handle high-poly models and advanced graphical effects like reflections that were previously difficult or impossible. Several commenters express excitement about potential future applications, including upscaling classic N64 games and enabling new homebrew projects. Some also note the project's use of modern rendering techniques and its potential to push the boundaries of N64 emulation further. The clever use of compute shaders is highlighted, as well as the potential benefits of the renderer being open-source. There's general agreement that this project represents a substantial advancement in N64 emulation technology.
Summary of Comments ( 99 )
https://news.ycombinator.com/item?id=43678590
Hacker News users discuss Fabrice Bellard's JSLinux, mostly praising its technical brilliance. Several commenters express amazement at running Linux in a browser, highlighting its use of a compiled-to-JavaScript PC emulator. Some discuss potential applications, including education and preserving older software. A few point out limitations, like performance and the inability to access local filesystems easily, and some reminisce about similar projects like v86. The conversation also touches on the legality of distributing copyrighted BIOS images within such an emulator.
The Hacker News post titled "JSLinux" (https://news.ycombinator.com/item?id=43678590) has several comments discussing Fabrice Bellard's impressive work emulating a PC in JavaScript. Many commenters express awe and admiration for the technical achievement.
One recurring theme is the sheer ingenuity and difficulty of emulating a complex system like x86 in a browser environment. Several commenters point out the performance limitations inherent in JavaScript, making the project's speed even more remarkable. They discuss the various optimizations Bellard likely employed to achieve such performance, including techniques like Just-In-Time compilation (JIT) within the JavaScript engine. Some speculate on the specific strategies used to overcome performance bottlenecks, and the cleverness required to translate x86 instructions into something a browser can handle efficiently.
Another key discussion point centers around the practical implications of such technology. Some commenters envision potential applications in online education, allowing students to access and experiment with different operating systems without needing dedicated hardware. Others highlight the potential for preserving older software and making it accessible through a web browser. The ability to run legacy applications directly in the browser, without the need for emulation software or virtual machines, is seen as a significant advantage.
There's also a conversation around the security aspects of running an emulated system within a browser. Commenters acknowledge the potential risks involved and discuss the importance of sandboxing the emulated environment to prevent malicious code from escaping and affecting the host system. The inherent security model of web browsers and how it interacts with the emulated environment is a point of interest.
Several commenters share their own experiences with JSLinux and similar projects, discussing its utility and limitations. Some mention using it for specific tasks like testing websites on older browsers or experimenting with vintage software. Others recall encountering performance issues with more demanding applications, acknowledging the inherent limitations of browser-based emulation.
Finally, some comments delve into the historical context of Bellard's work, highlighting his other significant contributions to the open-source community, like FFmpeg and QEMU. His reputation as a highly skilled and innovative developer adds to the overall appreciation for the JSLinux project. Commenters express respect for his consistent ability to push the boundaries of what's possible with software.