[ad_1]
Developer James Stanley is engaged on a a homebrew 16-bit CPU, working his personal UNIX-and-CP/M-like working system: The Easy Computing and Arithmetic Microcoded Course of, or SCAMP.
“The CPU could be very primitive. It does not help interrupts, and has no MMU [Memory Management Unit], and no idea of privilege ranges,” Stanley writes by means of tempering expectations of the undertaking. “It presently runs at 1MHz, above that the CompactFlash interface falls over. It runs a homebrew working system, with a homebrew programming language and compiler, and may self-host the kernel and the entire system utilities. The setting tastes a bit like an early Unix, however works like CP/M.”
Like many homebrew processor initiatives, SCAMP began life in a {hardware} description language: Verilog. It did not keep there for lengthy, although: Stanley turned that Verilog implementation, runnable in simulation or on a field-programmable gate array, into equivalents carried out in 74xx-series logic chips — then constructed the multi-board stacked pc in {hardware}.
“It’s a 16-bit CPU. The bus is 16-bit, registers are 16-bit, addresses are 16-bit, and reminiscence contents are 16-bit,” Stanley writes “The higher 8 bits of an instruction choose the opcode, and the decrease 8 bits can be found for small instant values. There isn’t a help for: cache, interrupts, digital reminiscence, DMA, privilege rings, floating level, and ~anything that’s not strictly essential.”
Stanley has written a collection of functions, together with one which renders the Mandelbrot set. (📷: James Stanley)
Whereas Stanley works on the working system, programming language, and a number of functions — together with one which attracts the Mandelbrot set to the terminal in ASCII artwork — on the true {hardware}, although, he has additionally launched an emulator that lets anybody play with the expertise in-browser. There are plans for upgrades, too, together with add-on boards, which might supply {hardware} multiplication and random quantity technology, higher debugging services, further fixed-point arithmetic features, and even a Z-machine interpreter to run traditional interactive fiction video games.
The supply code for the undertaking, launched beneath the permissive Unlicense License, is on the market on GitHub; posts in regards to the construct can be found on Stanley’s weblog; and the emulator is on the market on Stanley’s web site.
[ad_2]
