User Tools

Site Tools


sd-8516_technical_manual

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
sd-8516_technical_manual [2025/12/24 04:05] – created appledogsd-8516_technical_manual [2025/12/24 04:18] (current) appledog
Line 1: Line 1:
 = SD-8516 Technical Manual = SD-8516 Technical Manual
  
-== Introduction == +== Introduction
 The **Stellar Dynamics SD-8516** represents a categorical reimagining of microprocessor architecture. This 16-bit CPU, implemented in AssemblyScript for the VC-3 computer system, delivers performance exceeding conventional silicon constraints through advanced cross-boundary resonance microcascades. The **Stellar Dynamics SD-8516** represents a categorical reimagining of microprocessor architecture. This 16-bit CPU, implemented in AssemblyScript for the VC-3 computer system, delivers performance exceeding conventional silicon constraints through advanced cross-boundary resonance microcascades.
  
Line 9: Line 8:
 * Clock speed: 10-20 MHz (targeting 3-5 MIPS) * Clock speed: 10-20 MHz (targeting 3-5 MIPS)
 * Memory: 256KB addressable via 4-bank system * Memory: 256KB addressable via 4-bank system
-* ~10× performance improvement over legacy 8510 design +* ~20× performance improvement over legacy 8510 design
- +
-== System Lore ==+
  
 +== System Lore
 Since the days of the first minicomputers, Stellar Dynamics has been at the forefront of microarchitecture design. The SD-8516 is not simply an iteration upon its predecessors; it is a categorical reimagining of what a "processor" can be when unshackled from quantum locality. Since the days of the first minicomputers, Stellar Dynamics has been at the forefront of microarchitecture design. The SD-8516 is not simply an iteration upon its predecessors; it is a categorical reimagining of what a "processor" can be when unshackled from quantum locality.
  
Line 19: Line 17:
 These advancements position the Stellar Dynamics SD-8516 as the definitive architecture for next-generation computation: a bridge between classical logic engines and the emergent technologies of multidimensional processing. These advancements position the Stellar Dynamics SD-8516 as the definitive architecture for next-generation computation: a bridge between classical logic engines and the emergent technologies of multidimensional processing.
  
-== CPU Architecture == +== CPU Architecture
- +
-=== Register Set ===+
  
 +=== Register Set
 The SD-8516 features sixteen 16-bit registers: The SD-8516 features sixteen 16-bit registers:
  
Line 45: Line 42:
 **Note:** The SD-8516 does not use register pairing except for multiplication operations, which store results in the AB register pair. **Note:** The SD-8516 does not use register pairing except for multiplication operations, which store results in the AB register pair.
  
-=== Register Encoding === +=== Register Encoding
 Registers are encoded as 4-bit values (0-15), allowing two registers per byte: Registers are encoded as 4-bit values (0-15), allowing two registers per byte:
 * Low nibble: First operand * Low nibble: First operand
Line 53: Line 49:
 Example: {{{ADD A, B}}} encodes as {{{0x01}}} (A=0, B=1) Example: {{{ADD A, B}}} encodes as {{{0x01}}} (A=0, B=1)
  
-=== Flags Register === +=== Flags Register
 The 16-bit FLAGS register contains: The 16-bit FLAGS register contains:
  
Line 76: Line 71:
 Layout: {{{Z N C V - - - - H T B E P I S -}}} Layout: {{{Z N C V - - - - H T B E P I S -}}}
  
-== Memory Architecture ==+== Memory Architecture
  
-=== Memory Map ===+=== Memory Map
  
 |= Address Range |= Description | |= Address Range |= Description |
Line 88: Line 83:
 | $E800-$E8FF | Character ROM (2048 bytes) | | $E800-$E8FF | Character ROM (2048 bytes) |
  
-=== Bank Addressing ===+=== Bank Addressing
  
 The SD-8516 supports 4 banks of 64KB each (256KB total) through special addressing modes: The SD-8516 supports 4 banks of 64KB each (256KB total) through special addressing modes:
Line 103: Line 98:
 * Bank 3: Secondary video buffer (high-resolution modes) * Bank 3: Secondary video buffer (high-resolution modes)
  
-=== System Variables === +=== System Variables
 |= Address |= Description | |= Address |= Description |
 | $EF00 | Video mode register | | $EF00 | Video mode register |
Line 122: Line 116:
 | $EF22-$EF31 | Keyboard buffer (16 bytes) | | $EF22-$EF31 | Keyboard buffer (16 bytes) |
  
-== Instruction Set Architecture ==+== Instruction Set Architecture
  
-=== Load/Store Instructions ===+=== Load/Store Instructions
  
 |= Opcode |= Mnemonic |= Description |= Bytes | |= Opcode |= Mnemonic |= Description |= Bytes |
Line 148: Line 142:
 }}} }}}
  
-=== Arithmetic Operations ===+=== Arithmetic Operations
  
 |= Instruction |= Description |= Flags Affected | |= Instruction |= Description |= Flags Affected |
Line 164: Line 158:
 | DEC | Decrement | Z, N | | DEC | Decrement | Z, N |
  
-=== Logic Operations ===+=== Logic Operations
  
 |= Instruction |= Description |= Flags Affected | |= Instruction |= Description |= Flags Affected |
Line 178: Line 172:
 | TESTB | Bitwise AND byte (no write) | Z, N | | TESTB | Bitwise AND byte (no write) | Z, N |
  
-=== Shift/Rotate Operations ===+=== Shift/Rotate Operations
  
 |= Instruction |= Description |= Flags Affected | |= Instruction |= Description |= Flags Affected |
Line 190: Line 184:
 | RORB | Rotate right byte | Z, N, C | | RORB | Rotate right byte | Z, N, C |
  
-=== Comparison & Branching ===+=== Comparison & Branching
  
 |= Instruction |= Description |= Flags Affected | |= Instruction |= Description |= Flags Affected |
Line 209: Line 203:
 | JNG | Jump if not greater | None | | JNG | Jump if not greater | None |
  
-=== Subroutine Operations ===+=== Subroutine Operations
  
 |= Instruction |= Description | |= Instruction |= Description |
Line 219: Line 213:
 | POPA | Pop all registers | | POPA | Pop all registers |
  
-=== System Operations ===+=== System Operations
  
 |= Instruction |= Description | |= Instruction |= Description |
Line 237: Line 231:
 | CLV | Clear overflow flag | | CLV | Clear overflow flag |
  
-== Sound System (SD-450) == +== Sound System (SD-450)
 The SD-8516 is paired with the SD-450 sound subsystem, featuring 4 independent voices with ADSR envelopes. The SD-8516 is paired with the SD-450 sound subsystem, featuring 4 independent voices with ADSR envelopes.
  
-=== Voice Architecture === +=== Voice Architecture
 Each voice occupies 16 bytes of memory in Bank 1: Each voice occupies 16 bytes of memory in Bank 1:
  
Line 263: Line 255:
 * Voice 3: {{{$ED30}}} * Voice 3: {{{$ED30}}}
  
-=== Waveforms === +=== Waveforms
 Gate register values: Gate register values:
 * 0: Silent (gate off) * 0: Silent (gate off)
Line 274: Line 265:
 * 6: White/pink/brown noise (type via DATA1) * 6: White/pink/brown noise (type via DATA1)
  
-=== ADSR Envelope === +=== ADSR Envelope
 The Attack-Decay-Sustain-Release envelope shapes each note: The Attack-Decay-Sustain-Release envelope shapes each note:
 * **Attack:** Time to reach peak volume (0-255 × 10ms) * **Attack:** Time to reach peak volume (0-255 × 10ms)
Line 293: Line 283:
 }}} }}}
  
-== Video System == +== Video System
- +
-=== Video Modes ===+
  
 +=== Video Modes
 The VC-3 supports both text and graphics modes: The VC-3 supports both text and graphics modes:
  
Line 306: Line 295:
 | 8 | 128×128 | 16 | Low-res mode | | 8 | 128×128 | 16 | Low-res mode |
  
-=== Text Mode Architecture === +=== Text Mode Architecture
 **Mode 1 (40×25):** **Mode 1 (40×25):**
 * Character buffer: {{{$F000-$F3E7}}} (1000 bytes) * Character buffer: {{{$F000-$F3E7}}} (1000 bytes)
Line 319: Line 307:
 * Scanline doubling for 640×400 output * Scanline doubling for 640×400 output
  
-=== Graphics Mode Architecture ===+=== Graphics Mode Architecture
  
 **Mode 3 (320×200×16):** **Mode 3 (320×200×16):**
Line 337: Line 325:
 * 1 byte per pixel (256 colors) * 1 byte per pixel (256 colors)
  
-=== Palette Format === +=== Palette Format
 Each palette entry is 3 bytes (RGB): Each palette entry is 3 bytes (RGB):
 {{{ {{{
Line 346: Line 333:
 }}} }}}
  
-== KERNAL Functions == +== KERNAL Functions
 The KERNAL ROM provides system services at {{{$E000}}}: The KERNAL ROM provides system services at {{{$E000}}}:
  
-=== Input/Output === +=== Input/Output
 **GETKEY** - Read keyboard buffer **GETKEY** - Read keyboard buffer
 {{{ {{{
Line 374: Line 359:
 }}} }}}
  
-=== Cursor Management === +=== Cursor Management
 **CTOXY** - Move cursor **CTOXY** - Move cursor
 {{{ {{{
Line 388: Line 372:
 }}} }}}
  
-=== String Utilities === +=== String Utilities
 **STRLEN** - Get string length **STRLEN** - Get string length
 {{{ {{{
Line 407: Line 390:
 }}} }}}
  
-=== Arrow Key Handlers === +=== Arrow Key Handlers
 * **ARR_LEFT** - Move cursor left (bounded) * **ARR_LEFT** - Move cursor left (bounded)
 * **ARR_RIGHT** - Move cursor right (bounded) * **ARR_RIGHT** - Move cursor right (bounded)
Line 414: Line 396:
 * **ARR_DOWN** - Move cursor down (bounded) * **ARR_DOWN** - Move cursor down (bounded)
  
-== Assembly Language == +== Assembly Language 
- +=== Syntax
-=== Syntax === +
 **Labels:** **Labels:**
 {{{ {{{
Line 443: Line 423:
 }}} }}}
  
-=== Example Programs === +=== Example Programs
 **Hello World:** **Hello World:**
 {{{ {{{
     LDA @MSG     LDA @MSG
-    LDB @MSG+1 
     LDX #0     LDX #0
     LDY #0     LDY #0
Line 504: Line 482:
  
 == Performance Characteristics == == Performance Characteristics ==
- 
 **Measured Performance:** **Measured Performance:**
-* Clock speed: 10 MHz base, up to 100 MHz in optimized configurations +* Clock speed: 10 MHz base, up to 100 MHz 
-* Sustained MIPS: 35-70 MIPS (typical) +* Sustained MIPS: 60 MIPS (i7-12700k)
-* Peak MIPS: 100+ MIPS (with optimizations)+
 * Memory bandwidth: ~280 MB/s * Memory bandwidth: ~280 MB/s
 * Sound system overhead: < 5% CPU time * Sound system overhead: < 5% CPU time
Line 519: Line 495:
 * Sound updates triggered by register writes (not polling) * Sound updates triggered by register writes (not polling)
  
-== Technical Implementation == +== Technical Implementation
 **Architecture:** WebAssembly-based virtual CPU **Architecture:** WebAssembly-based virtual CPU
 **Languages:** AssemblyScript (CPU core), JavaScript (I/O systems) **Languages:** AssemblyScript (CPU core), JavaScript (I/O systems)
-**Memory Model:** Linear 256KB RAM mapped to WebAssembly memory +**Memory Model:** 4 banks of 64k RAM 
-**Audio Backend:** Web Audio API (4-voice polyphonic) +**Audio Backend:** SD-450 4 voice polyphonic 5 waveform Audio System 
-**Video Backend:** HTML5 Canvas with pixel-perfect rendering +**Video Backend:** 9 mode Text and Graphics pixel-perfect render engine
-**Debugging:** Console logging, register dumps, breakpoint support+
  
-**Class-Based Subsystems:** +== AppendixPlanned Features
-* Video modes: Polymorphic VideoMode classes +
-* Sound voices: Voice instances with ADSR envelopes +
-* Bank addressing: Flat memory model with synthetic banking+
  
-== Appendix: Planned Features == +=== KERNAL Functions (In Development) 
- +**print_byte** - Display 16-bit number at cursor 
-=== KERNAL Functions (In Development) === +**print_char_at** - Single character without moving cursor 
- +**clear_screen** - Fill screen with spaces 
-1. **print_byte** - Display 16-bit number at cursor +**print_at** - Positioned string output 
-2. **print_char_at** - Single character without moving cursor +**string_compare** - String equality test 
-3. **clear_screen** - Fill screen with spaces +**string_to_upper** - Case conversion 
-4. **print_at** - Positioned string output +**wait_key** - Blocking key wait 
-5. **string_compare** - String equality test +**random_range** - Bounded random numbers 
-6. **string_to_upper** - Case conversion +**draw_box** - Border rendering 
-7. **wait_key** - Blocking key wait +**scroll_region** - Partial screen scrolling 
-8. **random_range** - Bounded random numbers +**save_screen/restore_screen** - Screen buffer management
-9. **draw_box** - Border rendering +
-10. **scroll_region** - Partial screen scrolling +
-11. **save_screen/restore_screen** - Screen buffer management +
- +
-=== Graphics Enhancements ===+
  
 +=== Graphics Enhancements
 * Bresenham line drawing (implemented) * Bresenham line drawing (implemented)
 * Sprite system with hardware acceleration * Sprite system with hardware acceleration
Line 556: Line 523:
 * Bitmap font rendering * Bitmap font rendering
  
-=== Sound Enhancements === +=== Sound Enhancements
- +
-* Sample playback (Opus/Ogg compressed)+
 * PCM streaming for voice/SFX * PCM streaming for voice/SFX
 * Additional waveforms (filtered noise, PWM variants) * Additional waveforms (filtered noise, PWM variants)
 +* Other sample playback (Opus/Ogg compressed)
 * LFO and vibrato effects * LFO and vibrato effects
  
Line 566: Line 532:
  
 **SD-8516 Technical Manual** - Revision 1.0 **SD-8516 Technical Manual** - Revision 1.0
-**Copyright © 2025 Stellar Dynamics Corporation**+**Copyright © 2025 Appledog Hu**
 **All specifications subject to change as quantum resonance research continues.** **All specifications subject to change as quantum resonance research continues.**
sd-8516_technical_manual.1766549101.txt.gz · Last modified: by appledog

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki