Difference between revisions of "X68000"

From SizeCoding
Jump to: navigation, search
(Memory map)
Line 16: Line 16:
  
 
<syntaxhighlight lang="">
 
<syntaxhighlight lang="">
address vector
+
address vector Function
Function
+
$000000 $00 SSP after reset
$000000 $00
+
$000004 $01 PC after reset
SSP after reset
+
$000008 $02 Bus error
$000004 $01
+
$00000c $03 Address error
PC after reset
+
$000010 $04 Unknown instruction
$000008 $02
+
$000014 $05 Division by 0
Bus error
+
$000018 $06 CHK instruction
$00000c $03
+
$00001c $07 TRAPV instruction, FTRAPcc instruction
Address error
+
$000020 $08 Privilege violation
$000010 $04
+
$000024 $09 Trace exception
Unknown instruction
+
$000028 $0a Unsupported instruction line 1010 emulator (SX call)
$000014 $05
+
$00002c $0b ? line 1111 emulator (DOS call, floating point operation)
Division by 0
+
$000030 $0c Unused
$000018 $06
+
$000034 $0d FPU ?????????????????
CHK instruction
+
$000038 $0e ? ?????????????
$00001c $07
+
$000034 $0d FPU Protocol violation exception handling
TRAPV instruction, FTRAPcc instruction
+
$000038 $0e   Formatting error exception handling
$000020 $08
+
$00003c $0f Uninitialized Interrupt
Privilege violation
+
$000040 $10 Unused
$000024 $09
+
$000044 $11 ?
Trace exception
+
$000048 $12 ?
$000028 $0a
+
$00004c $13 ?
Unsupported instruction line 1010 emulator (SX call)
+
$000050 $14 ?
$00002c $0b
+
$000054 $15 ?
? line 1111 emulator (DOS call, floating point operation)
+
$000058 $16 ?
$000030 $0c
+
$00005c $17 ?
Unused
+
$000060 $18 Spurious Interrupt
$000034 $0d
+
$000064 $19 Level 1 Interrupt (auto vector)
FPU ?????????????????
+
$000068 $1a ?
$000038 $0e
+
$00006c $1b ?
? ?????????????
+
$000070 $1c ?
$000034 $0d
+
$000074 $1d ?
FPU Protocol violation exception handling
+
$000078 $1e ?
$000038 $0e ''
+
$00007c $1f ?
Formatting error exception handling
+
$000080 $20 trap #0
$00003c $0f
+
$000084 $21 ? #1
Uninitialized Interrupt
+
$000088 $22 ? #2
$000040 $10
+
$00008c $23 ? #3
Unused
+
$000090 $24 ? #4
$000044 $11
+
$000094 $25 ? #5
?
+
$000098 $26 ? #6
$000048 $12
+
$00009c $27 ? #7
?
+
$0000a0 $28 ? #8 (reserved for system)
$00004c $13
+
$0000a4 $29 ? #9 (OS debugger)
?
+
$0000a8 $2a ? #10 (reset & power off)
$000050 $14
+
$0000ac $2b ? #11 (BREAK key)
?
+
$0000b0 $2c ? #12 (COPY key)
$000054 $15
+
$0000b4 $2d ? #13 (CTRL+C)
?
+
$0000b8 $2e ? #14 (error processing)
$000058 $16
+
$0000bc $2f ? #15 (IOCS call)
?
+
$0000c0 $30 FPU BSUN
$00005c $17
+
$0000c0 $30 FPU BSUN
?
+
$0000c4 $31 ? INEX1,INEX2
$000060 $18
+
$0000c8 $32 ? DZ
Spurious Interrupt
+
$0000cc $33 ? UNFL
$000064 $19
+
$0000d0 $34 ? OPERR
Level 1 Interrupt (auto vector)
+
$0000d4 $35 ? OVFL
$000068 $1a
+
$0000d8 $36 ? SNAN
?
+
$0000dc $37 ???
$00006c $1b
+
$0000dc $37 Unused
?
+
$0000e0 $38 MMU
$000070 $1c
+
$0000e4 $39 ?
?
+
$0000e8 $3a ?
$000074 $1d
+
$0000ec $3b Unused
?
+
$0000fc $3f Unused
$000078 $1e
+
$000100 $40 MFP RTC Alarm/1Hz
?
+
$000104 $41 MFP External power OFF
$00007c $1f
+
$000118 $42 MFP Front switch OFF
?
+
$00010c $43 MFP FM Audio source
$000080 $20
+
$000110 $44 MFP Timer-D (Used with BG processing)
trap #0
+
$000114 $45 MFP Timer-C (Mouse/cursor/FDD control, etc.)
$000084 $21
+
$000118 $46 MFP V-DISP
? #1
+
$00011c $47 MFP RTC Clock
$000088 $22
+
$000120 $48 MFP Timer-B
? #2
+
$000124 $49 MFP Key serial output error
$00008c $23
+
$000128 $4a MFP Key serial output empty
? #3
+
$00012c $4b MFP Key serial input error
$000090 $24
+
$000130 $4c MFP Key serial input
? #4
+
$000134 $4d MFP Timer-A
$000094 $25
+
$000138 $4e MFP CRTC*IRQ
? #5
+
$00013c $4f MFP H-SYNC
$000098 $26
+
$000140 $50 SCC(B) Transmission buffer empty
? #6
+
$000144 $51 SCC(B) ''
$00009c $27
+
$000148 $52 SCC(B) External/status changes
? #7
+
$00014c $53 SCC(B) ''
$0000a0 $28
+
$000150 $54 SCC(B) Incoming character validity (Mouse 1 byte input)
? #8 (reserved for system)
+
$000154 $55 SCC(B) ''
$0000a4 $29
+
$000158 $56 SCC(B) Special Rx condition
? #9 (OS debugger)
+
$00015c $57 SCC(B) ''
$0000a8 $2a
+
$000160 $58 SCC(A) Transmission buffer empty
? #10 (reset & power off)
+
$000164 $59 SCC(A) ''
$0000ac $2b
+
$000168 $5a SCC(A) External status changes
? #11 (BREAK key)
+
$00016c $5b SCC(A) ''
$0000b0 $2c
+
$000170 $5c SCC(A) Incoming character validity (RS-232C 1 byte input)
? #12 (COPY key)
+
$000174 $5d SCC(A) ''
$0000b4 $2d
+
$000178 $5e SCC(A) Special Rx Condition
? #13 (CTRL+C)
+
$00017c $5f SCC(A) ''
$0000b8 $2e
+
$000180 $60 I/O FDC status interruption
? #14 (error processing)
+
$000184 $61 I/O FDC insertion/discharge interruption
$0000bc $2f
+
$000188 $62 I/O HDC status interruption
? #15 (IOCS call)
+
$00018c $63 I/O Printer ready interruption
$0000c0 $30
+
$000190 $64 DMAC #0 End (FDD)
FPU BSUN
+
$000194 $65 DMAC #0 Error ('')
$0000c0 $30
+
$000198 $66 DMAC #1 End (SASI)
FPU BSUN
+
$00019c $67 DMAC #1 Error ('')
$0000c4 $31
+
$0001a0 $68 DMAC #2 End (IOCS _DMAMOVE,_DMAMOV_A,_DMAMOV_L)
? INEX1,INEX2
+
$0001a4 $69 DMAC #2 Error ('')
$0000c8 $32
+
$0001a8 $6a DMAC #3 End (ADPCM)
? DZ
+
$0001ac $6b DMAC #3 Error ('')
$0000cc $33
+
$000200 $6c SPC SCSI interruption (Internal SCSI)
? UNFL
+
$000204 $6d Unused
$0000d0 $34
+
$0003d4 $f5 Unused
? OPERR
+
$0003d8 $f6 SPC SCSI interruption (SCSI board)
$0000d4 $35
+
$0003dc $f7 Unused
? OVFL
+
$0003fc $ff Unused
$0000d8 $36
+
0x000000 RAM area
? SNAN
+
$c00000 Graphics Vram � Page 0
$0000dc $37
+
$c80000 Graphics Vram � Page 1 (256/16 color only)
???
+
$d00000 Graphics Vram � Page 2 (16 color only)
$0000dc $37
+
$d80000 Graphics Vram � Page 3 (16 color only)
Unused
+
$e00000 Text Vram � Bitplane 0
$0000e0 $38
+
$e20000 Text Vram � Bitplane 1
MMU
+
$e40000 Text Vram � Bitplane 2
$0000e4 $39
+
$e60000 Text Vram � Bitplane 3
?
+
$e80000 1.w R00 Horizontal total
$0000e8 $3a
+
$e80002 1.w R01 Horizontal synchronization end position timing
?
+
$e80004 1.w R02 Horizontal display start position
$0000ec $3b
+
$e80006 1.w R03 Horizontal display end position
Unused
+
$e80008 1.w R04 Vertical total
$0000fc $3f
+
$e8000a 1.w R05 Vertical synchronization end position timing
Unused
+
$e8000c 1.w R06 Vertical display start position
$000100 $40
+
$e8000e 1.w R07 Vertical display end position
MFP RTC Alarm/1Hz
+
$e80010 1.w R08 External synchronization horizontal adjust: Horizontal position tuning
$000104 $41
+
$e80012 1.w R09 Raster number: Used for raster interruption
MFP External power OFF
+
$e80014 1.w R10 Text Screen X coordinate
$000118 $42
+
$e80016 1.w R11 Text Screen Y coordinate
MFP Front switch OFF
+
$e80018 1.w R12 Graphics screen Scroll X0
$00010c $43
+
$e8001a 1.w R13 Graphics screen Scroll Y0
MFP FM Audio source
+
$e8001c 1.w R14 Graphics screen Scroll X1
$000110 $44
+
$e8001e 1.w R15 Graphics screen Scroll Y1
MFP Timer-D (Used with BG processing)
+
$e80020 1.w R16 Graphics screen Scroll X2
$000114 $45
+
$e80022 1.w R17 Graphics screen Scroll Y2
MFP Timer-C (Mouse/cursor/FDD control, etc.)
+
$e80024 1.w R18 Graphics screen Scroll X3
$000118 $46
+
$e80026 1.w R19 Graphics screen Scroll Y3
MFP V-DISP
+
$e80028 1.w R20 Memory mode/Display mode control
$00011c $47
+
$e8002a 1.w R21 Simultaneous access/Raster copy/Quick clear plane select
MFP RTC Clock
+
$e8002c 1.w R22 Raster copy action: Raster number
$000120 $48
+
$e8002e 1.w R23 Text screen access mask pattern
MFP Timer-B
+
$e80481 1.b Active Image capture/Quick clear/Raster copy control
$000124 $49
+
$e82000 256.w Graphics palette
MFP Key serial output error
+
$e82200 16.w Text palette (Palette block 0)
$000128 $4a
+
$e82220 240.w Sprite palette ('' 1-15)
MFP Key serial output empty
+
$e82400 1.w R0 (Screen mode initialization)
$00012c $4b
+
$e82500 1.w R1 (Priority control)
MFP Key serial input error
+
$e82600 1.w R2 (Special priority/screen display) - Layers On/Off
$000130 $4c
+
$e84000 DMAC (HD63450)
MFP Key serial input
+
$e86000 Memory controller privileged access settings (OHM/ASA)
$000134 $4d
+
$e88000 MFP (MC68901)
MFP Timer-A
+
$e8a000 RTC (RP5C15)
$000138 $4e
+
$e8c000 Printer port
MFP CRTC*IRQ
+
$e8e001 #1 Contrast
$00013c $4f
+
$e8e003 #2 Display/3D Shutter Glasses (Bit 0=Right Eye / Bit 1 = Left Eye)
MFP H-SYNC
+
$e8e005 #3 Color image unit (bit 4-0)
$000140 $50
+
$e8e007 #4 Keyboard/NMI/dot clock
SCC(B) Transmission buffer empty
+
$e8e009 #5 ROM/DRAM Wait
$000144 $51
+
$e8e00b #6 MPU Classification/Operation clock
SCC(B) ''
+
$e8e00d #7 SRAM Write
$000148 $52
+
$e8e00f #8 Unit power OFF
SCC(B) External/status changes
+
$E90001 FM Synthesizer (YM2151) - Register Address Write port
$00014c $53
+
$E90003 FM Synthesizer (YM2151) - Data R/W port
SCC(B) ''
+
$E92000 ADPCM (MSM6258V)
$000150 $54
+
$E94000 Floppy disk controller (FDC) (uPD72065)
SCC(B) Incoming character validity (Mouse 1 byte input)
+
$E94005 Floppy drive monitor (IOSC)
$000154 $55
+
$E96000 SASI
SCC(B) ''
+
$E98000 ESCC (Z8530)
$000158 $56
+
$E9A000 PPI (82C55)
SCC(B) Special Rx condition
+
$E9C000 I/O selector (IOSC)
$00015c $57
+
$E9E000 I/O expansion area (Sharp reserved)
SCC(B) ''
+
$EB0000 Sprite register (CYNTHIA)
$000160 $58
+
$EB8000 Sprite VRAM
SCC(A) Transmission buffer empty
+
$EC0000 I/O expansion area (User)
$000164 $59
+
$ed0072 2.b SX-Window environment flag (While in use with "SX")
SCC(A) ''
+
$ed0074 1.b Standard double-click time / 10
$000168 $5a
+
$ed0075 1.b Mouse speed / 2
SCC(A) External status changes
+
$ed0076 1.b Text palette hue (HSV)
$00016c $5b
 
SCC(A) ''
 
$000170 $5c
 
SCC(A) Incoming character validity (RS-232C 1 byte input)
 
$000174 $5d
 
SCC(A) ''
 
$000178 $5e
 
SCC(A) Special Rx Condition
 
$00017c $5f
 
SCC(A) ''
 
$000180 $60
 
I/O FDC status interruption
 
$000184 $61
 
I/O FDC insertion/discharge interruption
 
$000188 $62
 
I/O HDC status interruption
 
$00018c $63
 
I/O Printer ready interruption
 
$000190 $64
 
DMAC #0 End (FDD)
 
$000194 $65
 
DMAC #0 Error ('')
 
$000198 $66
 
DMAC #1 End (SASI)
 
$00019c $67
 
DMAC #1 Error ('')
 
$0001a0 $68
 
DMAC #2 End (IOCS _DMAMOVE,_DMAMOV_A,_DMAMOV_L)
 
$0001a4 $69
 
DMAC #2 Error ('')
 
$0001a8 $6a
 
DMAC #3 End (ADPCM)
 
$0001ac $6b
 
DMAC #3 Error ('')
 
$000200 $6c
 
SPC SCSI interruption (Internal SCSI)
 
$000204 $6d
 
Unused
 
$0003d4 $f5
 
Unused
 
$0003d8 $f6
 
SPC SCSI interruption (SCSI board)
 
$0003dc $f7
 
Unused
 
$0003fc $ff
 
Unused
 
0x000000
 
 
RAM area
 
$c00000
 
 
Graphics Vram � Page 0
 
$c80000
 
 
Graphics Vram � Page 1 (256/16 color only)
 
$d00000
 
 
Graphics Vram � Page 2 (16 color only)
 
 
$d80000
 
 
Graphics Vram � Page 3 (16 color only)
 
$e00000
 
 
Text Vram � Bitplane 0
 
$e20000
 
 
Text Vram � Bitplane 1
 
 
$e40000
 
 
Text Vram � Bitplane 2
 
 
$e60000
 
 
Text Vram � Bitplane 3
 
 
$e80000 1.w
 
R00 Horizontal total
 
$e80002 1.w
 
R01 Horizontal synchronization end position timing
 
$e80004 1.w
 
R02 Horizontal display start position
 
$e80006 1.w
 
R03 Horizontal display end position
 
$e80008 1.w
 
R04 Vertical total
 
$e8000a 1.w
 
R05 Vertical synchronization end position timing
 
$e8000c 1.w
 
R06 Vertical display start position
 
$e8000e 1.w
 
R07 Vertical display end position
 
$e80010 1.w
 
R08 External synchronization horizontal adjust: Horizontal position tuning
 
$e80012 1.w
 
R09 Raster number: Used for raster interruption
 
$e80014 1.w
 
R10 Text Screen X coordinate
 
$e80016 1.w
 
R11 Text Screen Y coordinate
 
$e80018 1.w
 
R12 Graphics screen Scroll X0
 
$e8001a 1.w
 
R13 Graphics screen Scroll Y0
 
$e8001c 1.w
 
R14 Graphics screen Scroll X1
 
$e8001e 1.w
 
R15 Graphics screen Scroll Y1
 
$e80020 1.w
 
R16 Graphics screen Scroll X2
 
$e80022 1.w
 
R17 Graphics screen Scroll Y2
 
$e80024 1.w
 
R18 Graphics screen Scroll X3
 
$e80026 1.w
 
R19 Graphics screen Scroll Y3
 
$e80028 1.w
 
R20 Memory mode/Display mode control
 
$e8002a 1.w
 
R21 Simultaneous access/Raster copy/Quick clear plane select
 
$e8002c 1.w
 
R22 Raster copy action: Raster number
 
$e8002e 1.w
 
R23 Text screen access mask pattern
 
$e80481 1.b
 
Active Image capture/Quick clear/Raster copy control
 
$e82000 256.w
 
Graphics palette
 
$e82200 16.w
 
Text palette (Palette block 0)
 
$e82220 240.w
 
Sprite palette ('' 1-15)
 
$e82400 1.w
 
R0 (Screen mode initialization)
 
$e82500 1.w
 
R1 (Priority control)
 
$e82600 1.w
 
R2 (Special priority/screen display) - Layers On/Off
 
 
$e84000
 
 
DMAC (HD63450)
 
$e86000
 
 
Memory controller privileged access settings (OHM/ASA)
 
$e88000
 
 
MFP (MC68901)
 
$e8a000
 
 
RTC (RP5C15)
 
$e8c000
 
 
Printer port
 
$e8e001
 
 
#1 Contrast
 
$e8e003
 
 
#2 Display/3D Shutter Glasses (Bit 0=Right Eye / Bit 1 = Left Eye)
 
 
$e8e005
 
 
#3 Color image unit (bit 4-0)
 
$e8e007
 
 
#4 Keyboard/NMI/dot clock
 
$e8e009
 
 
#5 ROM/DRAM Wait
 
$e8e00b
 
 
#6 MPU Classification/Operation clock
 
$e8e00d
 
 
#7 SRAM Write
 
$e8e00f
 
 
#8 Unit power OFF
 
$E90001
 
 
FM Synthesizer (YM2151) - Register Address Write port
 
$E90003
 
 
FM Synthesizer (YM2151) - Data R/W port
 
$E92000
 
 
ADPCM (MSM6258V)
 
$E94000
 
 
Floppy disk controller (FDC) (uPD72065)
 
$E94005
 
 
Floppy drive monitor (IOSC)
 
$E96000
 
 
SASI
 
$E98000
 
 
ESCC (Z8530)
 
$E9A000
 
 
PPI (82C55)
 
$E9C000
 
 
I/O selector (IOSC)
 
$E9E000
 
 
I/O expansion area (Sharp reserved)
 
$EB0000
 
 
Sprite register (CYNTHIA)
 
$EB8000
 
 
Sprite VRAM
 
$EC0000
 
 
I/O expansion area (User)
 
$ed0072 2.b
 
SX-Window environment flag (While in use with "SX")
 
$ed0074 1.b
 
Standard double-click time / 10
 
$ed0075 1.b
 
Mouse speed / 2
 
$ed0076 1.b
 
Text palette hue (HSV)
 
 
$ed0077 1.b
 
$ed0077 1.b
+
$ed0078 1.b Brightness palette 0-3 5bit???
+
$ed007b 1.b Printer drive (PRTD) ID
$ed0078 1.b
+
$ed007c 1.b SRAM info version#, screen status storage, start screen storage
Brightness palette 0-3 5bit???
+
$ed007d 1.b Desktop background (PICT) ID
$ed007b 1.b
+
$ed007e 1.b Screen mode
Printer drive (PRTD) ID
+
$ed007f 17.b Reserved for system use (X68030)
$ed007c 1.b
+
$ed0090 1.b Standard cache status (bit=0: off 1:on)
SRAM info version#, screen status storage, start screen storage
+
$ed0091 1.b OPM music during startup (0: OFF -1: ON)
$ed007d 1.b
+
$ed0092 1.b 10MHz Proper wait value
Desktop background (PICT) ID
+
$ed0093 1.b 16MHz ''
$ed007e 1.b
+
$ed0094 108.b Reserved for system use
Screen mode
+
$ed0100 768.b Head SRAM program address
$ed007f 17.b
+
$ed0400 15KB Head SRAMDISK address
Reserved for system use (X68030)
+
$ed3fff End of SRAM
$ed0090 1.b
+
$ed4000 Backup (64KB)
Standard cache status (bit=0: off 1:on)
+
$ee0000 Unused (128KB)
$ed0091 1.b
+
$f00000 CGROM(768KB)
OPM music during startup (0: OFF -1: ON)
+
$fc0000 SCSI IOCS / IPL(8KB)
$ed0092 1.b
+
$fe0000 ROM Debugger
10MHz Proper wait value
+
$ff0000 IPL / ROM IOCS
$ed0093 1.b
 
16MHz ''
 
$ed0094 108.b
 
Reserved for system use
 
$ed0100 768.b
 
Head SRAM program address
 
$ed0400 15KB
 
Head SRAMDISK address
 
$ed3fff
 
 
End of SRAM
 
$ed4000
 
 
Backup (64KB)
 
$ee0000
 
 
Unused (128KB)
 
$f00000
 
 
CGROM(768KB)
 
$fc0000
 
 
SCSI IOCS / IPL(8KB)
 
$fe0000
 
 
ROM Debugger
 
$ff0000
 
 
IPL / ROM IOCS
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  

Revision as of 07:02, 26 May 2025

Sharp X68000

The Sharp X68000 is a home computer created by Sharp Corporation. It was first released in 1987 and sold only in Japan.

The initial model has a 10 MHz Motorola 68000 CPU, 1 MB of RAM, and lacks a hard drive. The final model was released in 1993 with a 25 MHz Motorola 68030 CPU, 4 MB of RAM, and optional 80 MB SCSI hard drive. RAM in these systems is expandable to 12 MB, though most games and applications do not require more than 2 MB.

The X68000 has graphics hardware similar to arcade video games of the late-1980s, with custom coprocessors supporting scrolling, tiled backgrounds, and large numbers of sprites. Sound is supplied through multiple sound chips supporting 8 channels of FM synthesis and one channel of adaptive differential pulse-code modulation audio, which are mixed down to 2 analog stereo channels via a DAC chip. As such, video gaming was a major use of the X68000.

The X68000 runs an operating system called Human68k which was developed for Sharp by Hudson Soft. An MS-DOS-workalike, Human68k features English-based commands very similar to those in MS-DOS;

Setting up

Memory map

address 	vector 	Function 	
$000000 	$00 	SSP after reset 	
$000004 	$01 	PC after reset 	
$000008 	$02 	Bus error 	
$00000c 	$03 	Address error 	
$000010 	$04 	Unknown instruction 	
$000014 	$05 	Division by 0 	
$000018 	$06 	CHK instruction 	
$00001c 	$07 	TRAPV instruction, FTRAPcc instruction 	
$000020 	$08 	Privilege violation 	
$000024 	$09 	Trace exception 	
$000028 	$0a 	Unsupported instruction line 1010 emulator (SX call) 	
$00002c 	$0b 	? line 1111 emulator (DOS call, floating point operation) 	
$000030 	$0c 	Unused 	
$000034 	$0d 	FPU ????????????????? 	
$000038 	$0e 	? ????????????? 	
$000034 	$0d 	FPU Protocol violation exception handling 	
$000038 	$0e   	Formatting error exception handling 	
$00003c 	$0f 	Uninitialized Interrupt 	
$000040 	$10 	Unused 	
$000044 	$11 	? 	
$000048 	$12 	? 	
$00004c 	$13 	? 	
$000050 	$14 	? 	
$000054 	$15 	? 	
$000058 	$16 	? 	
$00005c 	$17 	? 	
$000060 	$18 	Spurious Interrupt 	
$000064 	$19 	Level 1 Interrupt (auto vector) 	
$000068 	$1a 	? 	
$00006c 	$1b 	? 	
$000070 	$1c 	? 	
$000074 	$1d 	? 	
$000078 	$1e 	? 	
$00007c 	$1f 	? 	
$000080 	$20 	trap #0 	
$000084 	$21 	? #1 	
$000088 	$22 	? #2 	
$00008c 	$23 	? #3 	
$000090 	$24 	? #4 	
$000094 	$25 	? #5 	
$000098 	$26 	? #6 	
$00009c 	$27 	? #7 	
$0000a0 	$28 	? #8 (reserved for system) 	
$0000a4 	$29 	? #9 (OS debugger) 	
$0000a8 	$2a 	? #10 (reset & power off) 	
$0000ac 	$2b 	? #11 (BREAK key) 	
$0000b0 	$2c 	? #12 (COPY key) 	
$0000b4 	$2d 	? #13 (CTRL+C) 	
$0000b8 	$2e 	? #14 (error processing) 	
$0000bc 	$2f 	? #15 (IOCS call) 	
$0000c0 	$30 	FPU BSUN 	
$0000c0 	$30 	FPU BSUN 	
$0000c4 	$31 	? INEX1,INEX2 	
$0000c8 	$32 	? DZ 	
$0000cc 	$33 	? UNFL 	
$0000d0 	$34 	? OPERR 	
$0000d4 	$35 	? OVFL 	
$0000d8 	$36 	? SNAN 	
$0000dc 	$37 	??? 	
$0000dc 	$37 	Unused 	
$0000e0 	$38 	MMU 	
$0000e4 	$39 	? 	
$0000e8 	$3a 	? 	
$0000ec 	$3b 	Unused 	
$0000fc 	$3f 	Unused 	
$000100 	$40 	MFP RTC Alarm/1Hz 	
$000104 	$41 	MFP External power OFF 	
$000118 	$42 	MFP Front switch OFF 	
$00010c 	$43 	MFP FM Audio source 	
$000110 	$44 	MFP Timer-D (Used with BG processing) 	
$000114 	$45 	MFP Timer-C (Mouse/cursor/FDD control, etc.) 	
$000118 	$46 	MFP V-DISP 	
$00011c 	$47 	MFP RTC Clock 	
$000120 	$48 	MFP Timer-B 	
$000124 	$49 	MFP Key serial output error 	
$000128 	$4a 	MFP Key serial output empty 	
$00012c 	$4b 	MFP Key serial input error 	
$000130 	$4c 	MFP Key serial input 	
$000134 	$4d 	MFP Timer-A 	
$000138 	$4e 	MFP CRTC*IRQ 	
$00013c 	$4f 	MFP H-SYNC 	
$000140 	$50 	SCC(B) Transmission buffer empty 	
$000144 	$51 	SCC(B) '' 	
$000148 	$52 	SCC(B) External/status changes 	
$00014c 	$53 	SCC(B) '' 	
$000150 	$54 	SCC(B) Incoming character validity (Mouse 1 byte input) 	
$000154 	$55 	SCC(B) '' 	
$000158 	$56 	SCC(B) Special Rx condition 	
$00015c 	$57 	SCC(B) '' 	
$000160 	$58 	SCC(A) Transmission buffer empty 	
$000164 	$59 	SCC(A) '' 	
$000168 	$5a 	SCC(A) External status changes 	
$00016c 	$5b 	SCC(A) '' 	
$000170 	$5c 	SCC(A) Incoming character validity (RS-232C 1 byte input) 	
$000174 	$5d 	SCC(A) '' 	
$000178 	$5e 	SCC(A) Special Rx Condition 	
$00017c 	$5f 	SCC(A) '' 	
$000180 	$60 	I/O FDC status interruption 	
$000184 	$61 	I/O FDC insertion/discharge interruption 	
$000188 	$62 	I/O HDC status interruption 	
$00018c 	$63 	I/O Printer ready interruption 	
$000190 	$64 	DMAC #0 End (FDD) 	
$000194 	$65 	DMAC #0 Error ('') 	
$000198 	$66 	DMAC #1 End (SASI) 	
$00019c 	$67 	DMAC #1 Error ('') 	
$0001a0 	$68 	DMAC #2 End (IOCS _DMAMOVE,_DMAMOV_A,_DMAMOV_L) 	
$0001a4 	$69 	DMAC #2 Error ('') 	
$0001a8 	$6a 	DMAC #3 End (ADPCM) 	
$0001ac 	$6b 	DMAC #3 Error ('') 	
$000200 	$6c 	SPC SCSI interruption (Internal SCSI) 	
$000204 	$6d 	Unused 	
$0003d4 	$f5 	Unused 	
$0003d8 	$f6 	SPC SCSI interruption (SCSI board) 	
$0003dc 	$f7 	Unused 	
$0003fc 	$ff 	Unused 	
0x000000 	RAM area 	
$c00000 	Graphics Vram � Page 0 	
$c80000 	Graphics Vram � Page 1 (256/16 color only) 	
$d00000 	Graphics Vram � Page 2 (16 color only)
$d80000 	Graphics Vram � Page 3 (16 color only) 	
$e00000 	Text Vram � Bitplane 0 	
$e20000 	Text Vram � Bitplane 1
$e40000 	Text Vram � Bitplane 2
$e60000 	Text Vram � Bitplane 3
$e80000 	1.w 	R00 Horizontal total 	
$e80002 	1.w 	R01 Horizontal synchronization end position timing 	
$e80004 	1.w 	R02 Horizontal display start position 	
$e80006 	1.w 	R03 Horizontal display end position 	
$e80008 	1.w 	R04 Vertical total 	
$e8000a 	1.w 	R05 Vertical synchronization end position timing 	
$e8000c 	1.w 	R06 Vertical display start position 	
$e8000e 	1.w 	R07 Vertical display end position 	
$e80010 	1.w 	R08 External synchronization horizontal adjust: Horizontal position tuning 	
$e80012 	1.w 	R09 Raster number: Used for raster interruption 	
$e80014 	1.w 	R10 Text Screen X coordinate 	
$e80016 	1.w 	R11 Text Screen Y coordinate 	
$e80018 	1.w 	R12 Graphics screen Scroll X0 	
$e8001a 	1.w 	R13 Graphics screen Scroll Y0 	
$e8001c 	1.w 	R14 Graphics screen Scroll X1 	
$e8001e 	1.w 	R15 Graphics screen Scroll Y1 	
$e80020 	1.w 	R16 Graphics screen Scroll X2 	
$e80022 	1.w 	R17 Graphics screen Scroll Y2 	
$e80024 	1.w 	R18 Graphics screen Scroll X3 	
$e80026 	1.w 	R19 Graphics screen Scroll Y3 	
$e80028 	1.w 	R20 Memory mode/Display mode control 	
$e8002a 	1.w 	R21 Simultaneous access/Raster copy/Quick clear plane select 	
$e8002c 	1.w 	R22 Raster copy action: Raster number 	
$e8002e 	1.w 	R23 Text screen access mask pattern 	
$e80481 	1.b 	Active Image capture/Quick clear/Raster copy control 	
$e82000 	256.w 	Graphics palette 	
$e82200 	16.w 	Text palette (Palette block 0) 	
$e82220 	240.w 	Sprite palette ('' 1-15) 	
$e82400 	1.w 	R0 (Screen mode initialization) 	
$e82500 	1.w 	R1 (Priority control) 	
$e82600 	1.w 	R2 (Special priority/screen display) - Layers On/Off
$e84000 	DMAC (HD63450) 	
$e86000 	Memory controller privileged access settings (OHM/ASA) 	
$e88000 	MFP (MC68901) 	
$e8a000 	RTC (RP5C15) 	
$e8c000 	Printer port 	
$e8e001 	#1 Contrast 	
$e8e003 	#2 Display/3D Shutter Glasses (Bit 0=Right Eye / Bit 1 = Left Eye)
$e8e005 	#3 Color image unit (bit 4-0) 	
$e8e007 	#4 Keyboard/NMI/dot clock 	
$e8e009 	#5 ROM/DRAM Wait 	
$e8e00b 	#6 MPU Classification/Operation clock 	
$e8e00d 	#7 SRAM Write 	
$e8e00f 	#8 Unit power OFF 	
$E90001 	FM Synthesizer (YM2151) - Register Address Write port 	
$E90003 	FM Synthesizer (YM2151) - Data R/W port 	
$E92000 	ADPCM (MSM6258V) 	
$E94000 	Floppy disk controller (FDC) (uPD72065) 	
$E94005 	Floppy drive monitor (IOSC) 	
$E96000 	SASI 	
$E98000 	ESCC (Z8530) 	
$E9A000 	PPI (82C55) 	
$E9C000 	I/O selector (IOSC) 	
$E9E000 	I/O expansion area (Sharp reserved) 	
$EB0000 	Sprite register (CYNTHIA) 	
$EB8000 	Sprite VRAM 	
$EC0000 	I/O expansion area (User) 	
$ed0072 	2.b 	SX-Window environment flag (While in use with "SX") 	
$ed0074 	1.b 	Standard double-click time / 10 	
$ed0075 	1.b 	Mouse speed / 2 	
$ed0076 	1.b 	Text palette hue (HSV) 	
$ed0077 	1.b 	
$ed0078 	1.b 	Brightness palette 0-3 5bit??? 	
$ed007b 	1.b 	Printer drive (PRTD) ID 	
$ed007c 	1.b 	SRAM info version#, screen status storage, start screen storage 	
$ed007d 	1.b 	Desktop background (PICT) ID 	
$ed007e 	1.b 	Screen mode 	
$ed007f 	17.b 	Reserved for system use (X68030) 	
$ed0090 	1.b 	Standard cache status (bit=0: off 1:on) 	
$ed0091 	1.b 	OPM music during startup (0: OFF -1: ON) 	
$ed0092 	1.b 	10MHz Proper wait value 	
$ed0093 	1.b 	16MHz '' 	
$ed0094 	108.b 	Reserved for system use 	
$ed0100 	768.b 	Head SRAM program address 	
$ed0400 	15KB 	Head SRAMDISK address 	
$ed3fff 	End of SRAM 	
$ed4000 	Backup (64KB) 	
$ee0000 	Unused (128KB) 	
$f00000 	CGROM(768KB) 	
$fc0000 	SCSI IOCS / IPL(8KB) 	
$fe0000 	ROM Debugger 	
$ff0000 	IPL / ROM IOCS

Video display

To be added


Vsync

Port $18021 bit 3 will go high (1) when Vsync starts, then we need to write a 1 to that same bit at the same port to clear the Vsync event. Therefore, in effect we can write 255 to port $18021, then read from $18021 until it's nonzero to get the Vsync event.

waitVBlank:
    move.w $e88000,d0
    and.w #%00010000,d0            ;Wait for vblank to start
    beq waitVBlank
waitVBlank2:   
    move.w $e88000,d0
    and.w #%00010000,d0            ;Wait for Vblank to end
    bne waitVBlank2
    rts

Plotting to screen

To be added

Sound

The X68000 has a YM2151 FM Soundchip on board with 8 channels. Each channel's sound can be built up with 4 different 'slots'... meaning there are a total of 32 slots... these slots are turned on or off when the sound is triggered

For more information, check out the YM2151 specs at [1]

Additional Resources