login | register
Fri 18 of May, 2012 (00:26 UTC)

V6Z80P Documentation

Similar PagesHistorys5 slideshowPrint

OSCA Hardware Registers

Created by: phil, Last modification: Mon 02 of Jan, 2012 (21:43 UTC)

Write Only Hardware Registers:


Palette
$000-$1FF 256 16bit Words, For each colour: $0RGB


Video Control Registers

  • The system memory "underneath" these registers ($200-$6ff) can be written by setting bit 7 of the port sys_alt_write_page

AddressNameDescription
$200vreg_xhwsHorizontal hardware scrolling
$201vreg_vidctrlGeneral video control
$202vreg_windowSize / position of display
$203vreg_yhws_bplcountVertical hardware scrolling (also bitplane count / pixel size)
$204vreg_rasthiMSB of raster IRQ etc
$205vreg_rastloLSB of raster IRQ
$206vreg_vidpageSelects which 8KB video page CPU sees
$207vreg_sprctrlSprite control
$208mult_writeMultiplier (16 bit)
$20amult_indexMultipicand selector
$20blinedraw_colourLine draw colour index
$20cvreg_ext_vidctrlMore video controls
$20dvreg_linecop_loLine Cop Program address LSB
$20evreg_linecop_hiLine Cop Program address MSB
$20fvreg_palette_ctrlDouble buffer Palette control


Blitter
AddressNameDescription
$210blit_src_locSource address in VRAM (15:0)
$212blit_dst_locDestination address in VRAM (15:0)
$214blit_src_modSource modulo (7:0)
$215blit_dst_modDestination modulo (7:0)
$216blit_heightLines in blit operation less one
$217blit_widthHorizontal bytes in blit operation less one, and Start Blit
$218blit_misc Modulo MSBs / Source MSB (16) / Dest MSB (16)
$219blit_src_msb Source MSBs (19:16)
$21ablit_dst_msb Destination MSBs (19:16)


Line Draw
AddressNameDescription
$220linedraw_reg0Bresenham Decision Register 0
$222linedraw_reg1Breshenham Decision Register 1
$224linedraw_reg2Line Start Address (15:0)
$226linedraw_reg3Octant code and Start Line Draw
$228linedraw_reg4Same function as reg0, 2nd register set
$22alinedraw_reg5Same function as reg1, 2nd register set
$22clinedraw_reg6Same function as reg2, 2nd register set
$22elinedraw_reg7Same function as reg3, 2nd register set
$230linedraw_lut0Look up table: Write with (65536-Window width)+1
$232linedraw_lut1Look up table: Write with (65536-Window width)-1
$234linedraw_lut2Look up table: Write with Window width + 1
$236linedraw_lut3Look up table: Write with Window width - 1
$238linedraw_lut4Look up table: Write with 1
$23alinedraw_lut5Look up table: Write with 65535
$23clinedraw_lut6Look up table: Write with (65536 - Window width)
$23elinedraw_lut7Look up table: Write with Window width


Bitplane Locations
AddressNameDescription
$240bitplane0a_locLocation of Bitplane 0
$244bitplane1a_locLocation of Bitplane 1
$248bitplane2a_locLocation of Bitplane 2
$24cbitplane3a_locLocation of Bitplane 3
$250bitplane4a_locLocation of Bitplane 4
$254bitplane5a_locLocation of Bitplane 5
$258bitplane6a_locLocation of Bitplane 6
$25cbitplane7a_locLocation of Bitplane 7
$260bitplane0b_locLocation of Bitplane 0 - register set B
$264bitplane1b_locLocation of Bitplane 0 - register set B
$268bitplane2b_locLocation of Bitplane 0 - register set B
$26cbitplane3b_locLocation of Bitplane 0 - register set B
$270bitplane4b_locLocation of Bitplane 0 - register set B
$274bitplane5b_locLocation of Bitplane 0 - register set B
$278bitplane6b_locLocation of Bitplane 0 - register set B
$27cbitplane7b_locLocation of Bitplane 0 - register set B
$243bitplane_resetClear the internal video fetch offset counter
$247bitplane_modulowords to skip at right edge of window. 0 = reuse same line.


Sprite Priority Registers
AddressDescription
$280 Bit 0: bgnd colours 00-0F mask level 0, Bit 1: bgnd colours 00-0F mask level 1
$281 Bit 0: bgnd colours 10-1F mask level 0, Bit 1: bgnd colours 10-1F mask level 1
$282 Bit 0: bgnd colours 20-2F mask level 0, Bit 1: bgnd colours 20-2F mask level 1
$283 Bit 0: bgnd colours 30-3F mask level 0, Bit 1: bgnd colours 30-3F mask level 1
$284 Bit 0: bgnd colours 40-4F mask level 0, Bit 1: bgnd colours 40-4F mask level 1
$285 Bit 0: bgnd colours 50-5F mask level 0, Bit 1: bgnd colours 50-5F mask level 1
$286 Bit 0: bgnd colours 60-6F mask level 0, Bit 1: bgnd colours 60-6F mask level 1
$287 Bit 0: bgnd colours 70-7F mask level 0, Bit 1: bgnd colours 70-7F mask level 1
$288 Bit 0: bgnd colours 80-8F mask level 0, Bit 1: bgnd colours 80-8F mask level 1
$289 Bit 0: bgnd colours 90-9F mask level 0, Bit 1: bgnd colours 90-9F mask level 1
$28A Bit 0: bgnd colours A0-AF mask level 0, Bit 1: bgnd colours A0-AF mask level 1
$28B Bit 0: bgnd colours B0-BF mask level 0, Bit 1: bgnd colours B0-BF mask level 1
$28C Bit 0: bgnd colours C0-CF mask level 0, Bit 1: bgnd colours C0-CF mask level 1
$28D Bit 0: bgnd colours D0-DF mask level 0, Bit 1: bgnd colours D0-DF mask level 1
$28E Bit 0: bgnd colours E0-EF mask level 0, Bit 1: bgnd colours E0-EF mask level 1
$28F Bit 0: bgnd colours F0-FF mask level 0, Bit 1: bgnd colours F0-FF mask level 1

Sprite Registers

$400-$5Fb - 127 x 4-byte sprite registers when double buffering is disabled (default)

or, when double buffer mode is enabled:

$400-$4Fb - First set of 63 Sprite Registers
$500-$5fb - Second set of 63 Sprite Registers


For each sprite:
OffsetDescription
$00X coordinate LSB
$01Bits 7:4 = Height, 3=Mirror, 2 = Def MSB, 1 = Y MSB, 0 = X MSB
$02Y coordinate LSB
$03Definition LSB


Multiplication Table:
$600-$7FF256 Words (signed)



Read Only Video Registers


LocationNameDescription
$700vreg_readVideo status bits (byte)
$704mult_readResult of multiplication (word)



Search


Last modif pages