Message from @M4Gunner
Discord ID: 488754834111987714
zC6 is a fictional CPU with 36 instructions
cant you pare it down to 12 or 14? 😄
I could, but I'm leaving it at 36 to make it both fairly good with performance and easier to work with
the original, zC5 had way more instructions, zC6 uses a more advanced target system
it only exists on paper then?
well, it exists both on paper and has a prototype emulator which I'm about to rewrite in another language
cool
i hope it sees combat
;P thanks
36 isntructions, does that make it RISC?
tricky question. compared to x86, yes, it's RISC
compared to ARM, no, it's CISC
x86 literally has two books worth of instructions
ARM has very few
MISC -- Medium Instruction Set Computer
haha
well
know what PowerISA stands for if you unpack the nested acronyms?
Performance Optimized With Enhanced Reduced Instruction Set Computer Instruction Set Architecture
as far as the actual design in real life, it would be pretty complicated. the CPU has a built in threading-esque system that requires a fairly large built in storage device for switching between atleast 1024 register groups (each execution range is allocated 64 internal registers and full access to RAM), which means you'd need a 64 kB cache built into the CPU just for switching code range instances
yes
i will work on a port
thank god
literally
yes
well
@meratrix get bent by this assembly
how hard will it be to port doom over?
(and does TempleOS even run Doom??)
i was going to before terry died mainly because I was hoping that, at some point, I could put in a request to make compatibility with zC6's radically different component bus system
the problem is that templeos is exclusively x86 and uses the x86 style of I/O
@Deleted User is that ARM?
zC6 just sends requests to an output queue which is read by a device (hopefully on a zC6 computer's motherboard) called the component bus, which handles device identification and labelled device requests
@M4Gunner it's MIPS so it's RISC
wow MIPS
do you work with MIPS alot or are you just studying
for example, to output to the terminal, you send `0x02` (tells component bus to send data to another device) and then `0x00` (the standard ID for the terminal) and then whatever data the device accepts for input, in this case a single ASCII code point. to send another character, you have to repeat the first two outputs
``` Standard registration order:
ID 0: Terminal/Serial output (first)
ID 1: Graphical display
ID 2: Static data storage device (e.g Hard Drive)
ID 3: Keyboard input device
ID 4: Pointer input device```
consumer grade or niche?
whats the cpu supposed to cost