Differences

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

Link to this comparison view

x68000:iocs_work_area [2017/08/14 15:14]
neko68k
x68000:iocs_work_area [2019/08/27 20:45]
Line 1: Line 1:
-====== IOCS WORK MANUAL ====== 
- 
-====IOCS Work List(ROM version 1.10)==== 
- 
-==Keyboard== 
-^Address^Size^Description^ 
-|$800|16.b|Key press state| 
-|$810| 1.b|Keyboard LED status| 
-|$811| 1.b|Shift key state| 
-|$812| 1.w|Key buffer data bytes| 
-|$814| 1.l|〃  ​   write pointer| 
-|$818| 1.l|〃  ​   read pointer| 
-|$81c|64.w|key buffer| 
- 
-==Serial== 
-^Address^Size^Description^ 
-|$89c| 1.w|RS-232C receive buffer data byte count| 
-|$89e| 1.l|〃 〃  ​   write pointer| 
-|$8a2| 1.l|〃 〃  ​   read pointer| 
-|$8a6|64.w|〃 receive buffer| 
-|$926| 1.w|〃 communication mode| 
-|$928| 1.b|〃 SI/SO   State 0:SO   1:SI (bit0:​Receive bit1:Send)| 
-|$929| 1.b|〃 XON/​XOFF State 0:XOFF 1:XON(〃)| 
- 
-==Mouse== 
-^Address^Size^Description^ 
-|$92a| 1.w|Mouse data receive byte count| 
-|$92c| 1.l|〃  ​   receive buffer write pointer| 
-|$930| 3.b|〃  ​   receive buffer| 
-|$933| 1.b|Current MSCTRL terminal state| 
-|$934| 1.l|Mouse receive data processing address (soft keyboard)| 
-|$948| 1.l|〃  ​   (mouse cursor)| 
-|$93c| 1.b|CRT mode| 
- 
-==T-VRAM== 
-^Address^Size^Description^ 
-|$93d| 1.b|Number of graphic pages(?)| 
-|$93e| 1.l|Text number of bytes in 1 line| 
-|$942| 1.w|Text operation target page number| 
-|$944| 1.l|〃 starting address of plane| 
-|$948| 1.l|Text display start address offset| 
-|$94c| 1.l|Start address of soft keyboard drawing plane(X68000 only)| 
-|$950| 1.w|〃 display X coordinate| 
-|$952| 1.w|〃 Y| 
-|$954| 1.w|Text clipping range (X minimum value)| 
-|$956| 1.w|〃 (Y minimum value)| 
-|$958| 1.w|〃 (X maximum value+1)| 
-|$95a| 1.w|〃 (Y maximum value+1)| 
- 
-==G-VRAM== 
-^Address^Size^Description^ 
-|$95c| 1.l|Start address of graphics operation page| 
-|$960| 1.l|Number of bytes per line 〃| 
-|$964| 1.w|〃  ​   screen color number-1 (not available if 0)| 
-|$966| 1.w|〃  ​   drawing color code| 
-|$968| 1.w|〃  ​   clipping range (X minimum value)| 
-|$96a| 1.w|〃  ​   (Y minimum value)| 
-|$96c| 1.w|〃  ​   (X maximum value)| 
-|$96e| 1.w|〃  ​   (Y maximum value)| 
- 
-==Text Processing== 
-^Address^Size^Description^ 
-|$970| 1.w|Number of text digits - 1| 
-|$972| 1.w|Number of text rows - 1| 
-|$974| 1.w|Cursor X coordinate| 
-|$976| 1.w|〃 Y coordinate| 
-|$978| 1.l|BEEP sound PCM data address| 
-|$97c| 1.w|〃  ​   Data length| 
-|$97e| 1.l|Extended ESC sequence processing address| 
-|$982| 1.l|ESC sequence buffer write pointer| 
-|$986|10.b|ESC sequence buffer (from ESC next)| 
-|$990| 1.b|1st byte of double-byte character| 
-|$991| 1.b|Cursor display status (0:off !0:on)| 
-|$992| 1.b|Cursor flashing switch (0:off !0:on)| 
-|$993| 1.b|Application cursor flashing switch (0:on !0:off)| 
-|$994| 1.b|Text display color| 
-|$995| 1.b|〃  ​     save buffer| 
-|$996| 1.l|cursor coordinate storage buffer| 
- 
-==Font Addresses== 
-^Address^Size^Description^ 
-|$99a| 1.l|Font address of external character group 0| 
-|$99e| 1.l|〃  ​   1〃| 
-|$9a2| 1.l|〃  ​   2〃| 
-|$9a6| 1.l|〃  ​   3〃| 
-|$9aa| 1.l|〃  ​   4〃| 
-|$9ae| 1.l|〃  ​   5〃| 
- 
-==Perihpheral Timers== 
-^Address^Size^Description^ 
-|$9b2| 1.w|Mouse data receive timer initial value| 
-|$9b4| 1.w|〃 timer counter| 
-|$9b6| 1.l|〃 processing address| 
-|$9ba| 1.w|Cursor flashing timer initial value| 
-|$9bc| 1.w|〃 timer counter| 
-|$9be| 1.l|〃 processing address| 
-|$9c2| 1.w|FD motor stop timer initial value| 
-|$9c4| 1.w|〃 timer counter| 
-|$9c6| 1.l|〃 processing address| 
-|$9ca| 1.w|Alarm power off timer initial value| 
-|$9cc| 1.w|〃 timer counter| 
-|$9ce| 1.l|〃 processing address| 
- 
-==Misc== 
-^Address^Size^Description^ 
-|$9d2| 1.l|Time to power off| 
-|$9d6| 1.l|Uptime (1 minute granularity)| 
-|$9da| 1.b|Setting value of OPM register $1b|  
-|$9db| 1.b|Unused| 
-|$9dc| 1.b|Graphics screen usage mode| 
-|$9dd| 1.b|Text ​   〃| 
-|$9de| 1.b|ROM debugger start switch (0: off !0: on)| 
-|$9df| 1.b|How to start| 
-|$9e0| 1.b|Startup unit number(PDA)| 
- 
-==Peripheral Status== 
-^Address^Size^Description^ 
-|$9e1| 1.b|FD ​ drive status (bit 7 = 1: accessing bit 6 = 1: motor on) \\ %10 During access, motor on \\ %01 Access terminated, motor on on(turned off by Timer-C interrupt) \\ %00 Access terminated, motor off| 
-|$9e2| 1.b|FDC LEDCTRL/​EJECTMASK setting| 
-|$9e6| 4.w|〃 ​ drive status/disk exchange flag| 
-|$9ee|10.b|〃 ​ command buffer| 
-|$9f8| 6.b|SASI command buffer| 
-|$9fe|16.b|〃 ​  ​capacity flag(?)| 
-|$a0e| 1.w|Running IOCS call number(-1 if not running)| 
- 
-==Printer== 
-^Address^Size^Description^ 
-|$a10| 1.b|Printer abort flag| 
-|$a11| 1.b|〃 kanji mode flag (0:​alhpanumeric !0:kanji)| 
-|$a12| 1.b|〃 1st byte of double-byte character| 
-|$a13| 1.b|Number of printed lines to date| 
-|$a14| 1.w|〃  ​ number of printed digits| 
-|$a16|98.b|Printer parameters| 
-|$a78| 1.b|Number of lines of 1 page - 1| 
-|$a79| 1.b|Number of digits of one line - 1| 
- 
-==Soft keyboard/​Mouse cursor== 
-^Address^Size^Description^ 
-|$a7a| 1.l|Soft keyboard display plane start address (plane 3)| 
-|$a7e| 1.l|〃 (plane 2)| 
-|$a82| 1.w|VSYNC check flag when drawing mouse cursor (0:off !0:on)| 
-|$a84| 1.w|Minimum travel distance to consider as dragging - 1| 
-|$a86| 1.w|Animation speed of mouse cursor| 
-|$a88| 1.w|Unknown($0000)| 
-|$a8a| 1.w|Unknown($00f6)| 
-|$a8c| 1.w|Column at which the mouse cursor can be displayed starting position(0)| 
-|$a8e| 1.w|〃  ​ line start position(0)| 
-|$a90| 1.w|〃  ​ column end position(128)| 
-|$a92| 1.w|〃  ​ line end position(1008)| 
-|$a94| 1.w|Unknown(1024)| 
-|$a96| 1.w|Unknown(1008)| 
-|$a98| 1.w|Number of text bytes per line| 
-|$a9a| 1.w|Mouse cursor movement range (X minimum value)| 
-|$a9c| 1.w|〃  ​     (Y  minimum value)| 
-|$a9e| 1.w|〃  ​     (X maximum value)| 
-|$aa0| 1.w|〃  ​     (Y maximum value)| 
-|$aa2| 1.b|Mouse cursor display switch (0: Erase !0: Display)| 
-|$aa3| 1.b|Not used| 
-|$aa4| 7.l|Pointer to pattern data base (6+1 pieces)(?)| 
-|$ac0| 1.w|Mouse cursor animation display number| 
-|$ac2| 1.w|〃  ​    speed counter| 
-|$ac4| 1.w|Mouse cursor animation flag (-1: animate)| 
-|$ac6| 1.w|Mouse left button state (0: not pressed -1: pressed)| 
-|$ac8| 1.w|〃 ​   right button〃| 
-|$aca| 1.w|Movement amount in mouse X direction| 
-|$acc| 1.w|〃 ​   Y direction〃| 
-|$ace| 1.w|Mouse cursor X coordinate| 
-|$ad0| 1.w|〃  ​     Y coordinate| 
-|$ad2| 1.w|〃  ​     X coordinate save buffer| 
-|$ad4| 1.w|〃  ​     Y coordinate〃| 
-|$ad6| 1.w|Hotspot X coordinate| 
-|$ad8| 1.w|〃  ​     Y coordinate| 
-|$ada| 1.w|Mouse cursor display start column| 
-|$adc| 1.w|〃  ​     line| 
-|$ade| 1.w|Mouse IOCS call processing flag (-1: in processing)| 
-|$ae4| 6.w|〃  ​   register temporary storage area| 
-|$af0|64.b|Text save buffer (plane 2)| 
-|$b30|64.b|〃  ​   (plane 3)| 
-|$b70|16.l|Pointer to mouse cursor pattern data| 
-|$bb0| 1.w|Soft keyboard X coordinate| 
-|$bb2| 1.w|〃 Y coordinate| 
-|$bb4| 1.w|Drag start X coordinate| 
-|$bb6| 1.w|〃 Y coordinate| 
-|$bb8| 1.w|Key code of the key pressed on the soft keyboard| 
-|$bba| 1.l|〃  ​   key data address| 
-|$bbe| 1.b|Mouse status at the last processing (button state)| 
-|$bbf| 1.b|Mouse receive data processing flag (bit 7=1: processing bit 0=1: Soft keyboard displayed)| 
-|$bc0| 1.b|Soft keyboard key input repeat counter| 
-|$bc1| 1.b|Soft keyboard control mode| 
-|$bc2| 1.b|Mouse cursor/soft keyboard display status| 
-|$bc3| 1.b|Soft keyboard key pressed flag (0: not pressed 1: pressed)| 
-|$bc4| 1.b|Soft keyboard processing flag (-1: processing)| 
-|$bc5| 1.b|Special key processing flag (bit 0~3: corresponding to trap #10~13)| 
- 
-==On-screen calculator== 
-^Address^Size^Description^ 
-|$bc6| 1.b|Calculator display flag (0: erase 1: display)| 
-|$bc7| 1.b|〃 ​ radix (0: decimal 1: hexadecimal)| 
-|$bc8| 1.b|〃 ​ addition, subtraction,​ multiplication,​ division (1:+ 2:- 3:* 4:/)| 
-|$bc9| 1.b|〃 ​ decimal point flag (0: integer 1: decimal)| 
-|$bca| 1.w|〃 ​ output counter| 
-|$bcc| 1.l|〃 ​ output read pointer| 
-|$bd0|22.w|〃 ​ output buffer| 
-|$bfc| 1.w|〃 ​ X coordinate| 
-|$bfe| 1.w|〃 ​ Y coordinate| 
-|$c00| 2.l|〃 ​ stored numeric value (floating point)| 
-|$c08| 2.l|〃 ​ calculation result (〃)| 
-|$c10| 2.l|〃 ​ working ​ (〃)| 
-|$c18| 1.w|〃 ​ number of input digits| 
-|$c1a| 1.b|〃 ​ error flag (0: normal 1: error)| 
-|$c1b|16.b|〃 ​ numeric string buffer| 
-|$c2b| 6.b|〃 ​ base number 〃| 
-|$c31| 1.b|Unused| 
- 
-==ADPCM== 
-^Address^Size^Description^ 
-|$c32| 1.b|ADPCM playback/​recording mode (bit 8=1: split transfer mode)| 
-|$c33| 1.b|〃 ​   DMA transfer error status| 
-|$c34| 1.b|DMA channel 2 transfer mode| 
-|$c35| 1.b|〃 error status| 
- 
-==Font Stuff== 
-^Address^Size^Description^ 
-|$c36|16.b|6*12 buffer for font acquisition| 
-|$c46|72.b|Buffer for creating fonts| 
-|$c8e| 1.b|Unused| 
- 
-==FDD Status== 
-^Address^Size^Description^ 
-|$c8f| 1.b|FDD receive result flag| 
-|$c90| 8.b|FD0 receive buffer result status| 
-|$c98| 8.b|FD1 〃| 
-|$ca0| 8.b|FD2 〃| 
-|$ca8| 8.b|FD3 〃| 
- 
-==Misc== 
-^Address^Size^Description^ 
-|$cb0| 1.b|Unused| 
-|$cb1| 3.b|Mouse receive data (set after 3 bytes are ready| 
-|$cb4| 1.b|Number of SASI-HD| 
-|$cb5| 1.b|RS-232C Receive data mask (low bit becomes 1 by bit length(?))| 
- 
-==Sysport== 
-^Address^Size^Description^ 
-|$cb6| 1.b|System port MPU type(0:​68000 1:68010 2:68020 3:68030 4:68040)| 
-|$cb7| 1.b|〃  ​      MPU clock (0:10 1:16 2:20 3:25 4:33 5:40 6:50 MHz unit)| 
-|$cb8| 1.b|ROM wait loop count (1ms time in dbra empty loop)| 
-|$cba| 1.b|RAM〃| 
- 
-====IOCS Work List(ROM version 1.30)==== 
- 
-==Sysport== 
-^Address^Size^Description^ 
-|$cbc|1.b|MPU type (0:68000 1:68010 2:68020 3:68030 4:68040 6:68060)| 
-|$cbd|1.b|FPU present (0:no 1:yes)| 
-|$cbe|1.b|MMU present (〃)| 
-|$cbf|1.b|Startup information (0:Power on -1:Reset -2:Hot start)| 
-|$cc0|1.b|SCSI transfer size| 
-|$cc1|1.b|Unused| 
-|$cc2|1.b|Main body ID conformance inspection flag (-1: checked)| 
-|$cc3|1.b|SCSI not connected flag (if bit for each ID is 1 it is unusable)| 
- 
-==IOCS?== 
-^Address^Size^Description^ 
-|$cc4|1.l|IOCS _B_VERIFY Process address storage buffer| 
-|$cc8|2.l|Unknown| 
-|$cd0|1.l|IOCS _B_WRITE 〃| 
-|$cd4|1.l|IOCS _B_READ 〃| 
-|$cd8|3.l|Unknown| 
-|$ce4|1.l|IOCS _B_FORMAT 〃| 
- 
-==Various== 
-^Address^Size^Description^ 
-|$d00|1.l|FD extended PDA constant table address acquisition processing address| 
-|$d04|1.l|Extended FDD address of motor-on processing| 
-|$d08|1.w|Text scrolling method (0: raster copy -1: soft control)| 
-|$d0a|1.w|Smooth scroll mode (0: jump 4, 8, 16: smooth)| 
-|$d0c|1.w|Cursor flashing enable switch (0: blinking -1: displayed)| 
-|$d0e|1.w|〃 inverted start line x 4| 
-|$d10|2.b|〃 inversion pattern| 
-|$d12|1.l|BEEP sound processing address (valid when BEEP sound address is -1)| 
-|$d16|1.l|ESC processing address (%%^%%[[ system only, standard if 0)| 
-|$d1a|1.w|Graphics drawing mode (0: normal 1: inverted)| 
-|$d1c|1.w|_TXXLINE/​_TXYLINE length decrease value| 
- 
-==Others== 
- 
-^Address^Size^Description^ 
-|$cec|1.b|SCHDISK build-in flag (bit for each ID is already set to 1)| 
  
 
 x68000/iocs_work_area.txt · Last modified: 2019/08/27 20:45 (external edit)
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 4.0 International
Recent changes RSS feed Driven by DokuWiki