Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
hardware:i_o_ports [2016/05/30 13:20]
ex_writer [Input/Output Ports]
hardware:i_o_ports [2016/06/13 23:20] (current)
ex_writer [Input/Output Ports]
Line 2: Line 2:
  
  
-^ Port Number (hex) ^ Output ​Port ^ Function ^ Input Port ^ Function ^ +^ Port ^ Output ^ Function ^ Input ^ Function ^ 
-| COL0R | Color Register 0 (Right) | | | +0H | COL0R | Color Register 0 (Right) | | | 
-| COL1R | Color Register 1 | | | +1H | COL1R | Color Register 1 | | | 
-| COL2R | Color Register 2 | | | +2H | COL2R | Color Register 2 | | | 
-| COL3R | Color Register 3 | | | +3H | COL3R | Color Register 3 | | | 
-| COL0L | Color Register 0 (Left) | | | +4H | COL0L | Color Register 0 (Left) | | | 
-| COL1L | Color Register 1 | | | +5H | COL1L | Color Register 1 | | | 
-| COL2L | Color Register 2 | | | +6H | COL2L | Color Register 2 | | | 
-| COL3L | Color Register 3 | | | +7H | COL3L | Color Register 3 | | | 
-| CONCM | Consumer/​Commercial mode | INTST | [[magic ​register#​intercept|Intercept]] Status Feedback | +8H | CONCM | Consumer/​Commercial mode | INTST | [[hardware:magic system#​intercept|Intercept]] Status Feedback | 
-| HORCB | [[color ​mapping#horizontal ​color boundary|Horizontal Color Boundary]], [[color ​mapping#background ​color|BG Color]] | | | +9H | HORCB | [[hardware:color#frame color|Frame color]], [[hardware:color#horizontal ​color boundary|Horizontal ​Color Boundary]] | | | 
-| VERBL | Vertical ​Blank Register ​| | | +AH | VERBL | Vertical ​Blanking Line | | | 
-| COLBX | Color Block Transfer | | | +BH | COLBX | Color Block Transfer | | | 
-| MAGIC | [[Magic Register]] | | | +CH | MAGIC | [[hardware:​magic system#​magic register|Magic Register]] | | | 
-| INFBK | Interrupt Feedback | | | +DH | INFBK | Interrupt Feedback | | | 
-| INMOD | Interrupt Enable and Mode | VERAF | Vertical Address Feedback | +EH | INMOD | Interrupt Enable and Mode | VERAF | Vertical Address Feedback | 
-| INLIN | Interrupt Line | HORAF | Horizontal Address Feedback | +FH | INLIN | Interrupt Line | HORAF | Horizontal Address Feedback | 
-10 | TONMO | Tone Master Oscillator | SW0 | Player 1 Control Handle | +10H | TONMO | Tone Master Oscillator | SW0 | Player 1 Control Handle | 
-11 | TONEA | Tone A Frequency | SW1 | Player 2 Control Handle | +11H | TONEA | Tone A Frequency | SW1 | Player 2 Control Handle | 
-12 | TONEB | Tone B Frequency | SW2 | Player 3 Control Handle | +12H | TONEB | Tone B Frequency | SW2 | Player 3 Control Handle | 
-13 | TONEC | Tone C Frequency | SW3 | Player 4 Control Handle | +13H | TONEC | Tone C Frequency | SW3 | Player 4 Control Handle | 
-14 | VIBRA | Vibrato/Tremolo ​| KEY0 | Keypad Column 0 (right) | +14H | VIBRA | Vibrato ​Speed/Depth | KEY0 | Keypad Column 0 (right) | 
-15 VOLAB |Tone C Volume, Noise Modulation Control ​| KEY1 | Keypad Column 1 | +15H VOLC Modulation Type (Noise/​Vibrato), ​Tone C Volume | KEY1 | Keypad Column 1 | 
-16 VOLC | Tone Volume, Tone Volume | KEY2 | Keypad Column 2 | +16H VOLAB | Tone Volume, Tone Volume | KEY2 | Keypad Column 2 | 
-17 | VOLN | Noise Volume | KEY3 | Keypad Column 3 (left) | +17H | VOLN | Noise Volume | KEY3 | Keypad Column 3 (left) | 
-18 | SNDBX | Sound Block Transfer | | | +18H | SNDBX | Sound Block Transfer | | | 
-19 | XPAND | Expander Pixel Definition | | | +19H | XPAND | Expander Pixel Definition | | | 
-1C | | | POT0 | Player 0 Pot | +1CH | | | POT0 | Player 0 Pot | 
-1D | | | POT1 | Player 1 Pot | +1DH | | | POT1 | Player 1 Pot | 
-1E | | | POT2 | Player 2 Pot | +1EH | | | POT2 | Player 2 Pot | 
-1F | | | POT3 | Player 3 Pot |+1FH | | | POT3 | Player 3 Pot |
  
 ---- ----
- 
 ===== Port Descriptions ===== ===== Port Descriptions =====
  
-<​WRAP ​alert>​Currently incomplete</​WRAP>​+<​WRAP ​todo>​Currently incomplete</​WRAP>​ 
 +==== COL0R, 1R, 2R, 3R ($0–$3) ==== 
 + 
 +These registers define the color (bits 3–7) and brightness (bits 0–2) of pixels that are to the right of the color boundary as defined by the register at I/O address $9. 
 + 
 +==== COL0L, 1L, 2L, 3L ($4–$7) ==== 
 + 
 +These registers define the color (bits 3–7) and brightness (bits 0–2) of pixels that are to the left of the color boundary as defined by the register at I/O address $9. 
 ==== CONCM ($8) ==== ==== CONCM ($8) ====
  
 Select video mode (0 = low res 160x102, 1 = high res 320x204). Select video mode (0 = low res 160x102, 1 = high res 320x204).
 +
 +==== HORCB ($9) ====
 +
  
 ==== VERBL ($A) ==== ==== VERBL ($A) ====
Line 47: Line 57:
 Vertical Blank. The Address chip needs this register to determine the scan line below which Screen Refresh is no longer needed. The Data chip must duplicate this register to determine when to turn on the border color. Vertical Blank. The Address chip needs this register to determine the scan line below which Screen Refresh is no longer needed. The Data chip must duplicate this register to determine when to turn on the border color.
  
-==== INMOD ($E) ====+==== COLBX ($B) ====
  
-Interrupt Enable and Mode/​Vertical Line Feedback. On write, ​this register ​enables ​ interrupts and determines the interrupt mode of each. On read, this register contains the vertical line number ​that a Light Pen Interrupt was received on. Bit 3 of the Interrupt Enable port (0x0Ewhen set enables line interrupts, while bit 1 of the same register enables the Light Pen interrupt.+A block transfer to this register ​will load Color registers 7 through 0 (in that orderwith the data written to this address.
  
-==== INLIN ($F) ====+==== MAGIC ($C) ==== 
 + 
 +[[hardware:​magic system#​Magic register]] 
 + 
 +==== INFBK ($D) ==== 
 + 
 +Interrupt feedback register. Upon interrupt acknowledge by the Z80, the previously-written contents of this register are driven back to the Z80 through the microcycle bus. 
 + 
 +==== INMOD / VERAF ($E) ==== 
 + 
 +Interrupt Enable and Mode/​Vertical Line Feedback. On write, this register enables ​ interrupts and determines the interrupt mode of each. On read, this register contains the vertical line number that a Light Pen Interrupt was received on. Bit 3 of the Interrupt Enable port (0EH) when set enables line interrupts, while bit 1 of the same register enables the Light Pen interrupt. 
 + 
 +==== INLIN / HORAF ($F) ====
  
 Interrupt Line/​Horizontal Address Feedback. On write, this register sets the scan line number on which to generate a line interrupt back to the Z80. On read, this register contains the horizontal address (i.e., position in the line) that a Light Pen Interrupt was received on. Interrupt Line/​Horizontal Address Feedback. On write, this register sets the scan line number on which to generate a line interrupt back to the Z80. On read, this register contains the horizontal address (i.e., position in the line) that a Light Pen Interrupt was received on.
 +
 +==== TONMO / SW0 ($10) ====
 +
 +TONMO is the "​tone"​ (i.e., frequency) of the [[hardware:​music processor#​master oscillator]].
 +
 +SW0
 +==== XPAND ($19) ====
 +
 +Expand register.
  
 ---- ----
  
-[NM:106, 143, source listing 5]+[NM:106, 143, source listing 5]\\
 Reference: [[http://​www.ballyalley.com/​ml/​ml_source/​WOW_Latest_working_copy_of_full_disassembly_022104.asm|Wizard of Wor arcade disassembly]] Reference: [[http://​www.ballyalley.com/​ml/​ml_source/​WOW_Latest_working_copy_of_full_disassembly_022104.asm|Wizard of Wor arcade disassembly]]