This project the result of reverse engineering the iconic Commodore 64 game Archon (c) 1983 by Free Fall Associates.
The reproduction code is intended to be a true replication of the source logic with the exception of original memory locations.
The code is fully relocatable and pays no heed to original memory locations. Original memory locations are provided as comments above each variable, constant or routine for reference.
Extensive comments have been provided to help understand the source code.
Library for embedding inline assembly directly inside bash. This is sheer madness - it injects machine code (assembled assembly language) directly into /proc/$$/mem
for execution. Currently only supports x86-64.
A sub-1KB, self-hosting, native code Forth without compromise
At the core of paraforth is a very small assembly program - just an association list of names to subroutines, and an input loop for invoking them. By pre-populating the list with just enough functionality to build a macro assembler, a self-extensible language kernel is born.
This project is a long-running exercise in building the smallest self-sufficient Forth possible, without ANY sacrifices in speed or usability. No inputting pre-assembled machine code at runtime, and no cobbling together logic operations from NAND.
The entire language, save for just 15 words and 756 bytes of machine code, is implemented in itself - legibly - and builds in place on startup. Additionally, support for full bootstrapping coming soon.
Full source code for Impulse Tracker, including sound drivers, network drivers, and some supporting documentation.
To build Impulse Tracker, you will need Turbo Assembler v4.1, Turbo Link v3.01, Borland MAKE v4.0, and a DOS environment. Building IT.EXE should be just a single call to MAKE
.
pdp7-unix is a project to resurrect Unix on the PDP-7 from scans of the original assembly code done by Norman Wilson. The scans of PDP-7 Unix are in the Unix Archive as the files 0*.pdf.
This is a reconstruction of the original 1981-82 IBM PC BIOS source code using scanning and transcription of the BIOS listings found in the IBM Technical Reference manuals.
All 3 versions of the IBM PC BIOS were built using Intel ASM86 on an Intel development system. In each case the BIOS source code is a single large file and the BIOS code is 8KB which resides at F000:E000
Study the complete source code for a self-hosting compiler that runs on and generates code for CP/M on the Z80 processor. No prior knowledge in the field of compiler construction is required. The T3X/0 language that is discussed and implemented in the book has its roots in Pascal and BCPL and is very simple. A full 20-page manual is contained in the book.
The reader should know at least one procedural programming language, such as C or Pascal, and at least one assembly language, ideally the one for the Z80 CPU. They should also know the basics of the CP/M operating system. For the determined autodicact a short introduction to Z80 assembly language is also included in the book.
Intel 8086 monitor program that fits in a single boot sector.
This is a skeleton C64 program that will allow you to add your own custom functions and commands to the C64's BASIC. We all know how much the C64's BASIC sucks, so with this you can add the commands that you've always wanted!
A lot of the code in here comes from the book The Advanced Machine Language Book for the Commodore 64 by Abacus Software. There's a section in the later part of the book that shows you how to add your own custom commands.
I simply took this and ran with it. I also commented it as best as I could. I know that it can be very hard to follow other people's 6510 assembly, but I'm really hoping it's clear what each line of code does.
scare is a multi-arch assembly REPL and emulator for your command line.
There aren't many modern assembly REPLs out there. The ones that do exist are either opaque webapps, or are tied to specific architecture or platform. scare was built for people who want to test, experiment, or otherwise play with assembly code. All assembled code is run in an emulator, which executes only the code you give it. The multi-architecture design for the underlying scarelib library is meant to be modular, allowing for new architectures to be added quickly.
A complete textbook on computer architecture and assembly language programming, as a website, in easy-to-digest pages.
What can you do with Vision BASIC? Pretty much anything you want to. Speed will no longer be a problem! Why? Because on it's own, Vision BASIC is VERY fast! But when you need to crank out even more speed, all you need to do is insert machine language anywhere you wish to. Yes, you can actually type machine language instructions right next to BASIC commands! You won't need to load in external machine language files, and you won't need to poke machine language code to memory. This is because Vision BASIC also doubles as an assembler – you can write BASIC programs with it or machine language programs with it, or a blend of the two!
Vision BASIC also includes a whole new batch of commands to help you realize your programming dreams! Need sprites? Vision BASIC's got you covered! Need sound and graphics? Yep, gotcha covered there too! Vision BASIC was designed to greatly minimize your need to POKE around with all those crazy registers. In fact, you might never need to POKE again! And if you find yourself needing a command or function that isn't available, you can simply create it yourself – by creating the needed subroutine and calling it by whatever name you choose to give it. These "user defined" commands and functions can be saved into separate files and added to your programs whenever you need them!
An 8-bit minicomputer with a fully custom architecture. Hardware schematics, software (firmware), and an emulator for testing.
8-bit data width. 16-bit address space (with banking). 8 general purpose registers (5 normal, 2 indirect addressing, 1 flag), 16 instruction RISC instruction set, port mapped I/O.
xBIOS is like a programmers version of DOS. With it you can easily access files from your programs without using Atari DOS. It is smaller than DOS and therefore saves memory in your programs. You can even run programs from as low as $0200, however $0800 or $2000 are more common.
Limitations
CEmu is a GUI application that empowers users to write assembly and test it by compiling it to bytecode and executing it in an QEMU-based emulator. CEmu combines all the advantages of a basic assembly IDE, compilation and execution environment, by relying on the great libraries Keystone, Unicorn and Capstone engines in a Qt powered GUI. It allows you to test binary samples, check your shellcodes or even simply learn how to write assembly code, all of this for the following architectures:
A framework used by penetration testers for building custom exploits for infiltrating systems. Written in Ruby. Comes with a large library of payloads and other nifty and fascinating tools. It's worth learning to use if you're serious about penetration testing or exploit development. Also, the cutting edge of attack technologies winds up coming out of the Metasploit project.
A list of all of the interrupts in the 32-bit x86 CPU architecture.
Someone fed ROM dumps from a couple of Atari games into distellamap and generated maps of function calls, with sprite dumps. Amazing, how simple games were back then...
A disassembler for Windows. One of the best in the field, and v2.0 just went beta. It's shareware, though it doesn't appear to lack any functionality if you haven't purchased it yet.