User Tools

Site Tools


notes:comporg:spring2025:virconref

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
notes:comporg:spring2025:virconref [2025/02/27 16:28] – [AND] wedgenotes:comporg:spring2025:virconref [2025/04/24 15:01] (current) – [INPUT] wedge
Line 167: Line 167:
 ^  Type  ^  Port  ^  Name  ^  Description  | ^  Type  ^  Port  ^  Name  ^  Description  |
 |  OUT  |  0x200  |  GPU_Command  |  perform GPU operation  | |  OUT  |  0x200  |  GPU_Command  |  perform GPU operation  |
-|  ???   0x201  |  GPU_RemainingPixels  |  ???  |+|  IN   0x201  |  GPU_RemainingPixels  |  ???  | 
 +|  IN  |  0x202  |  GPU_ClearColor  |  obtain current clear color  |
 |  OUT  |  0x202  |  GPU_ClearColor  |  color to clear the screen with  | |  OUT  |  0x202  |  GPU_ClearColor  |  color to clear the screen with  |
-|  ???   0x203  |  GPU_MultiplyColor  |  ???  | +|  IN   0x203  |  GPU_MultiplyColor  |  obtain current color multiplier  | 
-|  ???   0x204  |  GPU_ActiveBlending  |  ???  |+|  OUT  |  0x203  |  GPU_MultiplyColor  |  color multiplier to draw sprites with  | 
 +|  IN  |  0x204  |  GPU_ActiveBlending  |  obtain current blending mode  | 
 +|  OUT   0x204  |  GPU_ActiveBlending  |  blending method to draw sprites with  |
 |  IN  |  0x204  |  GPU_SelectedTexture  |  obtain current selected texture  | |  IN  |  0x204  |  GPU_SelectedTexture  |  obtain current selected texture  |
 |  OUT  |  0x204  |  GPU_SelectedTexture  |  texture ID to select (-1 for BIOS)  | |  OUT  |  0x204  |  GPU_SelectedTexture  |  texture ID to select (-1 for BIOS)  |
 |  IN  |  0x205  |  GPU_SelectedRegion  |  obtain current selected region  | |  IN  |  0x205  |  GPU_SelectedRegion  |  obtain current selected region  |
 |  OUT  |  0x205  |  GPU_SelectedRegion  |  region ID to select  | |  OUT  |  0x205  |  GPU_SelectedRegion  |  region ID to select  |
 +|  IN  |  0x206  |  GPU_DrawingPointX  |  obtain X position to draw selected region  |
 |  OUT  |  0x206  |  GPU_DrawingPointX  |  set X position to draw selected region  | |  OUT  |  0x206  |  GPU_DrawingPointX  |  set X position to draw selected region  |
 +|  IN  |  0x207  |  GPU_DrawingPointY  |  obtain Y position to draw selected region  |
 |  OUT  |  0x207  |  GPU_DrawingPointY  |  set Y position to draw selected region  | |  OUT  |  0x207  |  GPU_DrawingPointY  |  set Y position to draw selected region  |
-|  ???   0x208  |  GPU_DrawingScaleX  |  sets X scaling with a float as input  | +|  IN  |  0x208  |  GPU_DrawingScaleX  |  obtain X scaling as a float  | 
-|  ???   0x209  |  GPU_DrawingScaleY  |  sets Y scaling with a float as input  | +|  OUT   0x208  |  GPU_DrawingScaleX  |  sets X scaling with a float as input  | 
-|  ???   0x20A  |  GPU_DrawingAngle  |  ???  |+|  IN  |  0x209  |  GPU_DrawingScaleY  |  obtain Y scaling as a float  | 
 +|  OUT   0x209  |  GPU_DrawingScaleY  |  sets Y scaling with a float as input  | 
 +|  IN   0x20A  |  GPU_DrawingAngle  |  obtain the sprite rotation as a float  | 
 +|  OUT  |  0x20A  |  GPU_DrawingAngle  |  sets the sprite rotation with a float as input  | 
 +|  IN  |  0x20B  |  GPU_RegionMinX  |  obtain Min X coordinate for region  |
 |  OUT  |  0x20B  |  GPU_RegionMinX  |  set Min X coordinate for region  | |  OUT  |  0x20B  |  GPU_RegionMinX  |  set Min X coordinate for region  |
 +|  IN  |  0x20C  |  GPU_RegionMinY  |  obtain Min Y coordinate for region  |
 |  OUT  |  0x20C  |  GPU_RegionMinY  |  set Min Y coordinate for region  | |  OUT  |  0x20C  |  GPU_RegionMinY  |  set Min Y coordinate for region  |
 +|  IN  |  0x20D  |  GPU_RegionMaxX  |  obtain Max X coordinate for region  |
 |  OUT  |  0x20D  |  GPU_RegionMaxX  |  set Max X coordinate for region  | |  OUT  |  0x20D  |  GPU_RegionMaxX  |  set Max X coordinate for region  |
 +|  IN  |  0x20E  |  GPU_RegionMaxY  |  obtain Max Y coordinate for region  |
 |  OUT  |  0x20E  |  GPU_RegionMaxY  |  set Max Y coordinate for region  | |  OUT  |  0x20E  |  GPU_RegionMaxY  |  set Max Y coordinate for region  |
 +|  IN  |  0x20F  |  GPU_RegionHotspotX  |  obtain region Hotspot X coordinate  |
 |  OUT  |  0x20F  |  GPU_RegionHotspotX  |  set region Hotspot X coordinate  | |  OUT  |  0x20F  |  GPU_RegionHotspotX  |  set region Hotspot X coordinate  |
 +|  IN  |  0x210  |  GPU_RegionHotspotY  |  obtain region Hotspot Y coordinate  |
 |  OUT  |  0x210  |  GPU_RegionHotspotY  |  set region Hotspot Y coordinate  | |  OUT  |  0x210  |  GPU_RegionHotspotY  |  set region Hotspot Y coordinate  |
                  
Line 245: Line 259:
 |  IN  |  0x400  |  INP_SelectedGamepad  |  Which gamepad is selected (0-3)  | |  IN  |  0x400  |  INP_SelectedGamepad  |  Which gamepad is selected (0-3)  |
 |  OUT  |  0x400  |  INP_SelectedGamepad  |  Select indicated gamepad (0-3)  | |  OUT  |  0x400  |  INP_SelectedGamepad  |  Select indicated gamepad (0-3)  |
-|  ???   0x401  |  INP_GamepadConnected  |  ???  |+|  IN   0x401  |  INP_GamepadConnected  |  Status of gamepad being connected  |
 |  IN  |  0x402  |  INP_GamepadLeft  |  Left Key input  | |  IN  |  0x402  |  INP_GamepadLeft  |  Left Key input  |
 |  IN  |  0x403  |  INP_GamepadRight  |  Right Key input  | |  IN  |  0x403  |  INP_GamepadRight  |  Right Key input  |
Line 257: Line 271:
 |  IN  |  0x40B  |  INP_GamepadButtonL  |  Q key input  | |  IN  |  0x40B  |  INP_GamepadButtonL  |  Q key input  |
 |  IN  |  0x40C  |  INP_GamepadButtonR  |  W key input  | |  IN  |  0x40C  |  INP_GamepadButtonR  |  W key input  |
-        +
 ====CARTRIDGE==== ====CARTRIDGE====
 ^  Type  ^  Port  ^  Name  ^  Description  | ^  Type  ^  Port  ^  Name  ^  Description  |
-|  IN  0x500  |  CAR_Connected  |  status of cartridge being connected +|  IN  |  0x500  |  CAR_Connected  |  status of cartridge being connected 
-|  IN  0x501  |  CAR_ProgramROMSize  |  size of program ROM  | +|  IN  |  0x501  |  CAR_ProgramROMSize  |  size of program ROM  | 
-|  IN  0x502  |  CAR_NumberOfTextures  |  number of cartridge textures +|  IN  |  0x502  |  CAR_NumberOfTextures  |  number of cartridge textures 
-|  IN  0x503  |  CAR_NumberOfSounds  |  number of cartridge sounds  |+|  IN  |  0x503  |  CAR_NumberOfSounds  |  number of cartridge sounds  |
  
 ====MEMCARD==== ====MEMCARD====
Line 757: Line 771:
 ===Structure and variants=== ===Structure and variants===
 ^  Variant  ^  Form  ^  Action  | ^  Variant  ^  Form  ^  Action  |
-|  1  |<nowiki>OR DSTREG, ImmediateValue</nowiki>  |<nowiki>DSTREG = DSTREG | ImmediateValue;</nowiki>  | +|  1  |<code asm>OR DSTREG, ImmediateValue</code>  |<code c>DSTREG = DSTREG | ImmediateValue;</code>  | 
-|  2  |<nowiki>OR DSTREG, SRCREG</nowiki>  |<nowiki>DSTREG = DSTREG | SRCREG;</nowiki>  |+|  2  |<code asm>OR DSTREG, SRCREG</code>  |<code c>DSTREG = DSTREG | SRCREG;</code>  |
  
 ===Description=== ===Description===
-OR performs a **Bitwise iOR** between each pair of respective bits in the 2 specified +OR performs a **Bitwise INCLUSIVE OR** between each pair of respective bits in the 2 specified operands. The result is stored in the first of them, which is always a register.
-operands. The result is stored in the first of them, which is always a register.+
  
 ====XOR==== ====XOR====
Line 777: Line 790:
 ===Structure and variants=== ===Structure and variants===
 ^  Variant  ^  Form  ^  Action  | ^  Variant  ^  Form  ^  Action  |
-|  1  |<nowiki>XOR DSTREG, ImmediateValue</nowiki>  |<nowiki>DSTREG = DSTREG ^ ImmediateValue;</nowiki>  | +|  1  |<code asm>XOR DSTREG, ImmediateValue</code>  |<code c>DSTREG = DSTREG ^ ImmediateValue;</code>  | 
-|  2  |<nowiki>XOR DSTREG, SRCREG</nowiki>  |<nowiki>DSTREG = DSTREG ^ SRCREG;</nowiki>  |+|  2  |<code asm>XOR DSTREG, SRCREG</code>  |<code c>DSTREG = DSTREG ^ SRCREG;</code>  |
  
 ===Description=== ===Description===
Line 801: Line 814:
  
 ===Structure and variants=== ===Structure and variants===
-  * <code>(Variant 1): SHL { Register1 }ImmediateValue }</code> +^  Variant  ^  Form  ^  Action 
-  <code>(Variant 2): SHL { Register1 }, { Register2 }</code> +|  1  |<code asm>SHL DSTREG, ImmediateValue</code>  |<code c>DSTREG = DSTREG << ImmediateValue;</code>  | 
- + 2  |<code asm>SHL DSTREG, SRCREG</code>  |<code c>DSTREG DSTREG << SRCREG;</code>  |
-===Processing actions=== +
-  <code>(Variant 1): Register1 = Register1 << ImmediateValue</code> +
-  <code>(Variant 2): Register1 Register1 << Register2</code>+
  
 ===Description=== ===Description===
 SHL performs an bit shift to the left in the specified register. The second operand is SHL performs an bit shift to the left in the specified register. The second operand is
-taken as an integer number of positions to shift. Shifting 0 positions has no effect, while +taken as an integer number of positions to shift. 
-negative values result in shifting right. The shift type is logical: in shifts left, overflow is + 
-discarded and zeroes are introduced as least significant bits. In shifts right, underflow is +Shifting 0 positions has no effect, while negative values result in shifting right. 
-discarded and zeroes are introduced as most significant bits.+ 
 +The shift type is logical: in shifts left, overflow is discarded and zeroes are introduced as least significant bits. 
 + 
 +In shifts right, underflow is discarded and zeroes are introduced as most significant bits.
  
  
notes/comporg/spring2025/virconref.1740673709.txt.gz · Last modified: 2025/02/27 16:28 by wedge