Discuss Scratch
- Discussion Forums
- » Show and Tell
- » XSCC-0001
- Xplayer_maker
-
Scratcher
5 posts
XSCC-0001
XSCC-0001 User Manual

—————————————————————————————————————————————————————
Performance
~2.9 MHz (2.9 million operations per second)
(NOTE: this was measured by doing MOV operations, the speed might be higher or lower depending on your device and operations used.)
—————————————————————————————————————————————————————
Cache
The XSCC-0001 has 512 bytes/items of cache. (Cache is not RAM and cannot handle pointers like it can.)
—————————————————————————————————————————————————————
Registers
• 1: rax
• 2: rbx
• 3: rcx
• 4: rdx
–
• 5: eax
• 6: ebx
• 7: ecx
• 8: edx
–
• 9: dx
• 10: dy
• 11: dz
—————————————————————————————————————————————————————
Pins
1: Clock Signal (Set to 1 to execute the next instruction. XSCC-0001 resets it to 0 after execution.)
–
2: Flash Signal (Set to 1 to flash the machine code provided on Pin 3.)
–
3: Flash Data (Provides the raw XSCC-0001 machine code to be flashed into the processor.)
–
4-40: General purpose I/O (Can be used for anything.)
—————————————————————————————————————————————————————
Opcodes
—————————————————————————————————————————————————————
<0x00> | MOV reg val –
<0x01> | ADD reg reg –
<0x02> | SUB reg reg –
<0x03> | MUL reg reg –
<0x04> | DIV reg reg – (only does integer division.)
<0x05> | JMP addr – –
<0x06> | CMP Reg1 operation Reg2 (compares Reg1 to Reg2 Operation Numbers:(1:== 2:!= 3:> 4:< 5:<= 6:>=))
<0x07> | CJMP addr – –
<0x08> | OUT reg pin –
<0x09> | IN reg pin –
<0x0a> | PUSH1 reg – –
<0x0b> | POP1 reg – –
<0x0c> | PUSH2 reg – –
<0x0d> | POP2 reg – –
<0x0e> | PUSH3 reg – –
<0x0f> | POP3 reg – –
<0x10> | CALL addr – –
<0x11> | RET – – –
<0x12> | MOD reg reg –
<0x13> | COPY src_reg dest_reg – (copies the value of src_reg to dest_reg)
<0x14> | HALT – – –
<0x15> | STOR reg cache_addr – (think: “STORE register at cache_addr”)
<0x16> | LOAD reg cache_addr – (think: “LOAD register from cache_addr”)
—————————————————————————————————————————————————————
ROM Format
(1 + 1 example)
Padded
Non-Padded
(Spaces are mandatory)
—————————————————————————————————————————————————————
Official Models
XSCC-0001
—————————————————————————————————————————————————————
Official Compilers
(Compatibility means how well it works with this XSCC model.)
• XASM (100% compatible)
• XCL (75% compatible)
—————————————————————————————————————————————————————
Fan-Made Compilers
ERROR 404: Compilers not found. (Maybe you could change that?)
—————————————————————————————————————————————————————
Fan-Made Models
ERROR 404: Models not found. (Maybe you could change that?)
________________
/ Scratch On! ( ) |
|_ _________/
\_____/

—————————————————————————————————————————————————————
Performance
~2.9 MHz (2.9 million operations per second)
(NOTE: this was measured by doing MOV operations, the speed might be higher or lower depending on your device and operations used.)
—————————————————————————————————————————————————————
Cache
The XSCC-0001 has 512 bytes/items of cache. (Cache is not RAM and cannot handle pointers like it can.)
—————————————————————————————————————————————————————
Registers
• 1: rax
• 2: rbx
• 3: rcx
• 4: rdx
–
• 5: eax
• 6: ebx
• 7: ecx
• 8: edx
–
• 9: dx
• 10: dy
• 11: dz
—————————————————————————————————————————————————————
Pins
1: Clock Signal (Set to 1 to execute the next instruction. XSCC-0001 resets it to 0 after execution.)
–
2: Flash Signal (Set to 1 to flash the machine code provided on Pin 3.)
–
3: Flash Data (Provides the raw XSCC-0001 machine code to be flashed into the processor.)
–
4-40: General purpose I/O (Can be used for anything.)
—————————————————————————————————————————————————————
Opcodes
—————————————————————————————————————————————————————
<0x00> | MOV reg val –
<0x01> | ADD reg reg –
<0x02> | SUB reg reg –
<0x03> | MUL reg reg –
<0x04> | DIV reg reg – (only does integer division.)
<0x05> | JMP addr – –
<0x06> | CMP Reg1 operation Reg2 (compares Reg1 to Reg2 Operation Numbers:(1:== 2:!= 3:> 4:< 5:<= 6:>=))
<0x07> | CJMP addr – –
<0x08> | OUT reg pin –
<0x09> | IN reg pin –
<0x0a> | PUSH1 reg – –
<0x0b> | POP1 reg – –
<0x0c> | PUSH2 reg – –
<0x0d> | POP2 reg – –
<0x0e> | PUSH3 reg – –
<0x0f> | POP3 reg – –
<0x10> | CALL addr – –
<0x11> | RET – – –
<0x12> | MOD reg reg –
<0x13> | COPY src_reg dest_reg – (copies the value of src_reg to dest_reg)
<0x14> | HALT – – –
<0x15> | STOR reg cache_addr – (think: “STORE register at cache_addr”)
<0x16> | LOAD reg cache_addr – (think: “LOAD register from cache_addr”)
—————————————————————————————————————————————————————
ROM Format
(1 + 1 example)
Padded
00 01 01 00 02 01 01 01 02
0 1 1 0 2 1 1 1 2
—————————————————————————————————————————————————————
Official Models
XSCC-0001
—————————————————————————————————————————————————————
Official Compilers
(Compatibility means how well it works with this XSCC model.)
• XASM (100% compatible)
• XCL (75% compatible)
—————————————————————————————————————————————————————
Fan-Made Compilers
ERROR 404: Compilers not found. (Maybe you could change that?)
—————————————————————————————————————————————————————
Fan-Made Models
ERROR 404: Models not found. (Maybe you could change that?)
________________
/ Scratch On! ( ) |
|_ _________/
\_____/
Last edited by Xplayer_maker (Aug. 4, 2026 11:23:47)
- Discussion Forums
- » Show and Tell
-
» XSCC-0001