libws libws
WSwan hardware library for the Wonderful toolchain
Loading...
Searching...
No Matches
ports.h
Go to the documentation of this file.
1// SPDX-License-Identifier: CC0-1.0
2//
3// Auto-generated by hardware-definitions/generate.py on 2025-08-09 10:37
4#ifndef __ASSEMBLER__
5#include <stdint.h>
6#endif
7
8#ifndef WS_PORTS_H_
9#define WS_PORTS_H_
10
15
19#define WS_CART_BANK_ROML_PORT 0xC0
20
24#define WS_CART_BANK_RAM_PORT 0xC1
25
29#define WS_CART_BANK_ROM0_PORT 0xC2
30
34#define WS_CART_BANK_ROM1_PORT 0xC3
35
39#define WS_CART_BANK_FLASH_PORT 0xCE
40#define WS_CART_BANK_FLASH_ENABLE 0x01
41#define WS_CART_BANK_FLASH_DISABLE 0x00
42
46#define WS_CART_EXTBANK_ROML_PORT 0xCF
47
51#define WS_CART_EXTBANK_RAM_PORT 0xD0
52
56#define WS_CART_EXTBANK_ROM0_PORT 0xD2
57
61#define WS_CART_EXTBANK_ROM1_PORT 0xD4
62
64
69
73#define WS_CART_EEP_DATA_PORT 0xC4
74
78#define WS_CART_EEP_COMMAND_PORT 0xC6
79
80#define WS_CART_EEP_CTRL_PORT 0xC8
84#define WS_CART_EEP_CTRL_ABORT 0x80
88#define WS_CART_EEP_CTRL_ERASE 0x40
92#define WS_CART_EEP_CTRL_WRITE 0x20
96#define WS_CART_EEP_CTRL_READ 0x10
100#define WS_CART_EEP_CTRL_READY 0x02
101#define WS_CART_EEP_CTRL_DONE 0x01
102
104
109
110#define WS_CART_GPIO_DIR_PORT 0xCC
111
112#define WS_CART_GPIO_DATA_PORT 0xCD
113
115
120
121#define WS_CART_KARNAK_TIMER_IRQ_PORT 0xD6
122#define WS_CART_KARNAK_TIMER_IRQ_ENABLE 0x80
123
124#define WS_CART_KARNAK_ADPCM_IN_PORT 0xD8
125
126#define WS_CART_KARNAK_ADPCM_OUT_PORT 0xD9
127
129
134
135#define WS_CART_RTC_CTRL_PORT 0xCA
136#define WS_CART_RTC_CTRL_READ_BIT 0x01
137#define WS_CART_RTC_CTRL_READY 0x80
138#define WS_CART_RTC_CTRL_ACTIVE 0x10
139#define WS_CART_RTC_CTRL_CMD_RESET 0x00
140#define WS_CART_RTC_CTRL_CMD_WRITE_STATUS 0x02
141#define WS_CART_RTC_CTRL_CMD_READ_STATUS 0x03
142#define WS_CART_RTC_CTRL_CMD_WRITE_DATETIME 0x04
143#define WS_CART_RTC_CTRL_CMD_READ_DATETIME 0x05
144#define WS_CART_RTC_CTRL_CMD_WRITE_TIME 0x06
145#define WS_CART_RTC_CTRL_CMD_READ_TIME 0x07
146#define WS_CART_RTC_CTRL_CMD_WRITE_ALARM 0x08
147#define WS_CART_RTC_CTRL_CMD_SHIFT 0
148#define WS_CART_RTC_CTRL_CMD_MASK 0x1F
149
150#define WS_CART_RTC_DATA_PORT 0xCB
151
153
158
159#define WS_DISPLAY_CTRL_PORT 0x00
163#define WS_DISPLAY_CTRL_SCR1_ENABLE 0x01
167#define WS_DISPLAY_CTRL_SCR2_ENABLE 0x02
171#define WS_DISPLAY_CTRL_SPR_ENABLE 0x04
175#define WS_DISPLAY_CTRL_SPR_WIN_ENABLE 0x08
179#define WS_DISPLAY_CTRL_SCR2_WIN_INSIDE 0x20
183#define WS_DISPLAY_CTRL_SCR2_WIN_OUTSIDE 0x30
184#define WS_DISPLAY_CTRL_SCR2_WIN_SHIFT 4
185#define WS_DISPLAY_CTRL_SCR2_WIN_MASK 0x30
186#define WS_DISPLAY_CTRL_SCR2_WIN_ENABLE_BIT 0x20
187#define WS_DISPLAY_CTRL_SCR2_WIN_OUTSIDE_BIT 0x10
188
192#define WS_DISPLAY_BACK_PORT 0x01
193
199#define WS_DISPLAY_LINE_PORT 0x02
200
204#define WS_DISPLAY_LINE_IRQ_PORT 0x03
205
209#define WS_SPR_BASE_PORT 0x04
210#define WS_SPR_BASE_ADDR(n) (((unsigned int) (n)) >> 9)
211
215#define WS_SPR_FIRST_PORT 0x05
216
220#define WS_SPR_COUNT_PORT 0x06
221
225#define WS_SCR_BASE_PORT 0x07
226#define WS_SCR_BASE_ADDR1(n) (((unsigned int) (n)) >> 11)
227#define WS_SCR_BASE_ADDR2(n) ((((unsigned int) (n)) >> 11) << 4)
228
232#define WS_SCR2_WIN_X1_PORT 0x08
233
237#define WS_SCR2_WIN_Y1_PORT 0x09
238
242#define WS_SCR2_WIN_X2_PORT 0x0A
243
247#define WS_SCR2_WIN_Y2_PORT 0x0B
248
252#define WS_SPR_WIN_X1_PORT 0x0C
253
257#define WS_SPR_WIN_Y1_PORT 0x0D
258
262#define WS_SPR_WIN_X2_PORT 0x0E
263
267#define WS_SPR_WIN_Y2_PORT 0x0F
268
272#define WS_SCR1_SCRL_X_PORT 0x10
273
277#define WS_SCR1_SCRL_Y_PORT 0x11
278
282#define WS_SCR2_SCRL_X_PORT 0x12
283
287#define WS_SCR2_SCRL_Y_PORT 0x13
288
292#define WS_LCD_CTRL_PORT 0x14
296#define WS_LCD_CTRL_CONTRAST_LOW 0x00
300#define WS_LCD_CTRL_CONTRAST_HIGH 0x02
306#define WS_LCD_CTRL_CONTRAST_SHIFT 1
307#define WS_LCD_CTRL_CONTRAST_MASK 0x02
311#define WS_LCD_CTRL_DISPLAY_DISABLE 0x00
315#define WS_LCD_CTRL_DISPLAY_ENABLE 0x01
319#define WS_LCD_CTRL_DISPLAY_SHIFT 0
320#define WS_LCD_CTRL_DISPLAY_MASK 0x01
321
325#define WS_LCD_ICON_PORT 0x15
329#define WS_LCD_ICON_SLEEP 0x01
333#define WS_LCD_ICON_ORIENT_V 0x02
337#define WS_LCD_ICON_ORIENT_H 0x04
341#define WS_LCD_ICON_AUX1 0x08
345#define WS_LCD_ICON_AUX2 0x10
349#define WS_LCD_ICON_AUX3 0x20
350
356#define WS_LCD_VTOTAL_PORT 0x16
357
361#define WS_LCD_STN_VSYNC_PORT 0x17
362
366#define WS_LCD_NEXT_LINE_PORT 0x18
367
371#define WS_LCD_ICON_LATCH_PORT 0x1A
372#define WS_LCD_ICON_LATCH_DISABLE 0x01
373#define WS_LCD_ICON_LATCH_HEADPHONE 0x02
374#define WS_LCD_ICON_LATCH_VOLUME_B 0x04
375#define WS_LCD_ICON_LATCH_VOLUME_A 0x08
376#define WS_LCD_ICON_LATCH_VOLUME 0x10
377#define WS_LCD_ICON_LATCH_CARTRIDGE 0x20
378
379#define WS_LCD_SHADE_01_PORT 0x1C
380
381#define WS_LCD_SHADE_23_PORT 0x1D
382
383#define WS_LCD_SHADE_45_PORT 0x1E
384
385#define WS_LCD_SHADE_67_PORT 0x1F
386
387#define WS_SCR_PAL_0_PORT 0x20
388#define WS_SCR_PAL_1_PORT 0x22
389#define WS_SCR_PAL_2_PORT 0x24
390#define WS_SCR_PAL_3_PORT 0x26
391#define WS_SCR_PAL_4_PORT 0x28
392#define WS_SCR_PAL_5_PORT 0x2A
393#define WS_SCR_PAL_6_PORT 0x2C
394#define WS_SCR_PAL_7_PORT 0x2E
395#define WS_SCR_PAL_8_PORT 0x30
396#define WS_SCR_PAL_9_PORT 0x32
397#define WS_SCR_PAL_10_PORT 0x34
398#define WS_SCR_PAL_11_PORT 0x36
399#define WS_SCR_PAL_12_PORT 0x38
400#define WS_SCR_PAL_13_PORT 0x3A
401#define WS_SCR_PAL_14_PORT 0x3C
402#define WS_SCR_PAL_15_PORT 0x3E
403#define WS_SCR_PAL_PORT(i) (0x20 + (2 * ((i) - 0)))
404
405#define WS_SPR_PAL_0_PORT 0x30
406#define WS_SPR_PAL_1_PORT 0x32
407#define WS_SPR_PAL_2_PORT 0x34
408#define WS_SPR_PAL_3_PORT 0x36
409#define WS_SPR_PAL_4_PORT 0x38
410#define WS_SPR_PAL_5_PORT 0x3A
411#define WS_SPR_PAL_6_PORT 0x3C
412#define WS_SPR_PAL_7_PORT 0x3E
413#define WS_SPR_PAL_PORT(i) (0x30 + (2 * ((i) - 0)))
414
416
421
425#define WS_GDMA_SOURCE_L_PORT 0x40
426
430#define WS_GDMA_SOURCE_H_PORT 0x42
431
435#define WS_GDMA_DEST_PORT 0x44
436
440#define WS_GDMA_LENGTH_PORT 0x46
441
445#define WS_GDMA_CTRL_PORT 0x48
449#define WS_GDMA_CTRL_START 0x80
450#define WS_GDMA_CTRL_INC 0x00
451#define WS_GDMA_CTRL_DEC 0x40
452
456#define WS_SDMA_SOURCE_L_PORT 0x4A
457
461#define WS_SDMA_SOURCE_H_PORT 0x4C
462
466#define WS_SDMA_LENGTH_L_PORT 0x4E
467
471#define WS_SDMA_LENGTH_H_PORT 0x50
472
473#define WS_SDMA_CTRL_PORT 0x52
477#define WS_SDMA_CTRL_ENABLE 0x80
478#define WS_SDMA_CTRL_INC 0x00
479#define WS_SDMA_CTRL_DEC 0x40
483#define WS_SDMA_CTRL_TARGET_CH2 0x00
487#define WS_SDMA_CTRL_TARGET_HYPERV 0x10
488#define WS_SDMA_CTRL_TARGET_SHIFT 4
489#define WS_SDMA_CTRL_TARGET_MASK 0x10
493#define WS_SDMA_CTRL_ONESHOT 0x00
497#define WS_SDMA_CTRL_REPEAT 0x08
498#define WS_SDMA_CTRL_HOLD 0x04
502#define WS_SDMA_CTRL_RATE_4000 0x00
506#define WS_SDMA_CTRL_RATE_6000 0x01
510#define WS_SDMA_CTRL_RATE_12000 0x02
514#define WS_SDMA_CTRL_RATE_24000 0x03
515#define WS_SDMA_CTRL_RATE_SHIFT 0
516#define WS_SDMA_CTRL_RATE_MASK 0x03
517
519
524
528#define WS_IEEP_DATA_PORT 0xBA
529
533#define WS_IEEP_COMMAND_PORT 0xBC
534
535#define WS_IEEP_CTRL_PORT 0xBE
539#define WS_IEEP_CTRL_PROTECT 0x80
543#define WS_IEEP_CTRL_ERASE 0x40
547#define WS_IEEP_CTRL_WRITE 0x20
551#define WS_IEEP_CTRL_READ 0x10
555#define WS_IEEP_CTRL_READY 0x02
559#define WS_IEEP_CTRL_DONE 0x01
560
562
567
568#define WS_HYPERV_OUT_L_PORT 0x64
569
570#define WS_HYPERV_OUT_R_PORT 0x66
571
572#define WS_HYPERV_CTRL_PORT 0x6A
576#define WS_HYPERV_CTRL_VOLUME_100 0x00
580#define WS_HYPERV_CTRL_VOLUME_50 0x01
584#define WS_HYPERV_CTRL_VOLUME_25 0x02
588#define WS_HYPERV_CTRL_VOLUME_12_5 0x03
589#define WS_HYPERV_CTRL_VOLUME_SHIFT 0
590#define WS_HYPERV_CTRL_VOLUME_MASK 0x03
594#define WS_HYPERV_CTRL_EXT_UNSIGNED 0x00
598#define WS_HYPERV_CTRL_EXT_UNSIGNED_NEGATE 0x04
602#define WS_HYPERV_CTRL_EXT_SIGNED 0x08
606#define WS_HYPERV_CTRL_EXT_IGNORE 0x0C
607#define WS_HYPERV_CTRL_EXT_SHIFT 2
608#define WS_HYPERV_CTRL_EXT_MASK 0x0C
609#define WS_HYPERV_CTRL_RATE_24000 0x00
610#define WS_HYPERV_CTRL_RATE_12000 0x10
611#define WS_HYPERV_CTRL_RATE_8000 0x20
612#define WS_HYPERV_CTRL_RATE_6000 0x30
613#define WS_HYPERV_CTRL_RATE_4800 0x40
614#define WS_HYPERV_CTRL_RATE_4000 0x50
615#define WS_HYPERV_CTRL_RATE_3000 0x60
616#define WS_HYPERV_CTRL_RATE_2000 0x70
617#define WS_HYPERV_CTRL_RATE_SHIFT 4
618#define WS_HYPERV_CTRL_RATE_MASK 0x70
622#define WS_HYPERV_CTRL_ENABLE 0x80
623#define WS_HYPERV_CTRL_RESET 0x1000
627#define WS_HYPERV_CTRL_TARGET_STEREO 0x00
631#define WS_HYPERV_CTRL_TARGET_LEFT 0x2000
635#define WS_HYPERV_CTRL_TARGET_RIGHT 0x4000
639#define WS_HYPERV_CTRL_TARGET_MONO 0x6000
640#define WS_HYPERV_CTRL_TARGET_SHIFT 13
641#define WS_HYPERV_CTRL_TARGET_MASK 0x6000
642
644
649
653#define WS_INT_VECTOR_PORT 0xB0
654
655#define WS_INT_ENABLE_PORT 0xB2
659#define WS_INT_ENABLE_UART_TX 0x01
663#define WS_INT_ENABLE_KEY_SCAN 0x02
667#define WS_INT_ENABLE_CARTRIDGE 0x04
671#define WS_INT_ENABLE_UART_RX 0x08
675#define WS_INT_ENABLE_LINE_MATCH 0x10
679#define WS_INT_ENABLE_VBL_TIMER 0x20
683#define WS_INT_ENABLE_VBLANK 0x40
687#define WS_INT_ENABLE_HBL_TIMER 0x80
688
689#define WS_INT_STATUS_PORT 0xB4
693#define WS_INT_STATUS_UART_TX 0x01
697#define WS_INT_STATUS_KEY_SCAN 0x02
701#define WS_INT_STATUS_CARTRIDGE 0x04
705#define WS_INT_STATUS_UART_RX 0x08
709#define WS_INT_STATUS_LINE_MATCH 0x10
713#define WS_INT_STATUS_VBL_TIMER 0x20
717#define WS_INT_STATUS_VBLANK 0x40
721#define WS_INT_STATUS_HBL_TIMER 0x80
722
723#define WS_INT_ACK_PORT 0xB6
727#define WS_INT_ACK_UART_TX 0x01
731#define WS_INT_ACK_KEY_SCAN 0x02
735#define WS_INT_ACK_CARTRIDGE 0x04
739#define WS_INT_ACK_UART_RX 0x08
743#define WS_INT_ACK_LINE_MATCH 0x10
747#define WS_INT_ACK_VBL_TIMER 0x20
751#define WS_INT_ACK_VBLANK 0x40
755#define WS_INT_ACK_HBL_TIMER 0x80
756
760#define WS_INT_NMI_CTRL_PORT 0xB7
764#define WS_INT_NMI_CTRL_LOW_BATTERY 0x10
765
767
772
776#define WS_KEY_SCAN_PORT 0xB5
777#define WS_KEY_SCAN_ROW_BUTTONS 0x40
778#define WS_KEY_SCAN_ROW_X 0x20
779#define WS_KEY_SCAN_ROW_Y 0x10
780#define WS_KEY_SCAN_B 0x08
781#define WS_KEY_SCAN_X4 0x08
782#define WS_KEY_SCAN_Y4 0x08
783#define WS_KEY_SCAN_A 0x04
784#define WS_KEY_SCAN_X3 0x04
785#define WS_KEY_SCAN_Y3 0x04
786#define WS_KEY_SCAN_START 0x02
787#define WS_KEY_SCAN_X2 0x02
788#define WS_KEY_SCAN_Y2 0x02
789#define WS_KEY_SCAN_X1 0x01
790#define WS_KEY_SCAN_Y1 0x01
791
793
798
799#define WS_SYSTEM_CTRL_COLOR_PORT 0x60
803#define WS_SYSTEM_CTRL_COLOR_CART_FAST_CLOCK 0x01
807#define WS_SYSTEM_CTRL_COLOR_SRAM_WAIT 0x02
811#define WS_SYSTEM_CTRL_COLOR_IO_WAIT 0x08
815#define WS_SYSTEM_CTRL_COLOR_MODE_MONO 0x00
819#define WS_SYSTEM_CTRL_COLOR_MODE_COLOR_2BPP 0x80
823#define WS_SYSTEM_CTRL_COLOR_MODE_COLOR_4BPP 0xC0
827#define WS_SYSTEM_CTRL_COLOR_MODE_COLOR_4BPP_PACKED 0xE0
828#define WS_SYSTEM_CTRL_COLOR_MODE_SHIFT 5
829#define WS_SYSTEM_CTRL_COLOR_MODE_MASK 0xE0
830#define WS_SYSTEM_CTRL_COLOR_FEAT_COLOR 0x80
831#define WS_SYSTEM_CTRL_COLOR_FEAT_4BPP 0x40
832#define WS_SYSTEM_CTRL_COLOR_FEAT_PACKED 0x20
833
834#define WS_SYSTEM_CTRL_COLOR2_PORT 0x62
838#define WS_SYSTEM_CTRL_COLOR2_MODEL_CRYSTAL 0x80
842#define WS_SYSTEM_CTRL_COLOR2_REQUEST_POWER_OFF 0x01
843
844#define WS_SYSTEM_CTRL_PORT 0xA0
848#define WS_SYSTEM_CTRL_SELF_TEST 0x80
852#define WS_SYSTEM_CTRL_ROM_WAIT 0x08
856#define WS_SYSTEM_CTRL_ROM_16BIT 0x04
860#define WS_SYSTEM_CTRL_MODEL_COLOR 0x02
864#define WS_SYSTEM_CTRL_IPL_LOCK 0x01
865
866#define WS_SYSTEM_TEST_PORT 0xA3
870#define WS_SYSTEM_TEST_UART 0x08
871#define WS_SYSTEM_TEST_VBL_TIMER 0x02
872#define WS_SYSTEM_TEST_HBL_TIMER 0x01
873
875
880
888#define WS_SOUND_FREQ_CH1_PORT 0x80
889
893#define WS_SOUND_FREQ_CH2_PORT 0x82
894
898#define WS_SOUND_FREQ_CH3_PORT 0x84
899
903#define WS_SOUND_FREQ_CH4_PORT 0x86
904
908#define WS_SOUND_VOL_CH1_PORT 0x88
909
913#define WS_SOUND_VOL_CH2_PORT 0x89
914
918#define WS_SOUND_VOICE_SAMPLE_PORT 0x89
919
923#define WS_SOUND_VOL_CH3_PORT 0x8A
924
928#define WS_SOUND_VOL_CH4_PORT 0x8B
929
933#define WS_SOUND_SWEEP_PORT 0x8C
934
938#define WS_SOUND_SWEEP_TIME_PORT 0x8D
939
940#define WS_SOUND_NOISE_CTRL_PORT 0x8E
941#define WS_SOUND_NOISE_CTRL_TAP_14 0x00
942#define WS_SOUND_NOISE_CTRL_TAP_10 0x01
943#define WS_SOUND_NOISE_CTRL_TAP_13 0x02
944#define WS_SOUND_NOISE_CTRL_TAP_4 0x03
945#define WS_SOUND_NOISE_CTRL_TAP_8 0x04
946#define WS_SOUND_NOISE_CTRL_TAP_6 0x05
947#define WS_SOUND_NOISE_CTRL_TAP_9 0x06
948#define WS_SOUND_NOISE_CTRL_TAP_11 0x07
949#define WS_SOUND_NOISE_CTRL_TAP_SHIFT 0
950#define WS_SOUND_NOISE_CTRL_TAP_MASK 0x07
951#define WS_SOUND_NOISE_CTRL_LENGTH_32767 0x00
952#define WS_SOUND_NOISE_CTRL_LENGTH_1953 0x01
953#define WS_SOUND_NOISE_CTRL_LENGTH_254 0x02
954#define WS_SOUND_NOISE_CTRL_LENGTH_217 0x03
955#define WS_SOUND_NOISE_CTRL_LENGTH_73 0x04
956#define WS_SOUND_NOISE_CTRL_LENGTH_63 0x05
957#define WS_SOUND_NOISE_CTRL_LENGTH_42 0x06
958#define WS_SOUND_NOISE_CTRL_LENGTH_28 0x07
959#define WS_SOUND_NOISE_CTRL_LENGTH_SHIFT 0
960#define WS_SOUND_NOISE_CTRL_LENGTH_MASK 0x07
964#define WS_SOUND_NOISE_CTRL_RESET 0x08
968#define WS_SOUND_NOISE_CTRL_ENABLE 0x10
969
973#define WS_SOUND_WAVE_BASE_PORT 0x8F
974#define WS_SOUND_WAVE_BASE_ADDR(n) (((unsigned int) (n)) >> 6)
975
979#define WS_SOUND_CH_CTRL_PORT 0x90
983#define WS_SOUND_CH_CTRL_CH1_ENABLE 0x01
987#define WS_SOUND_CH_CTRL_CH2_ENABLE 0x02
991#define WS_SOUND_CH_CTRL_CH3_ENABLE 0x04
995#define WS_SOUND_CH_CTRL_CH4_ENABLE 0x08
999#define WS_SOUND_CH_CTRL_CH2_VOICE 0x20
1003#define WS_SOUND_CH_CTRL_CH3_SWEEP 0x40
1007#define WS_SOUND_CH_CTRL_CH4_NOISE 0x80
1008
1012#define WS_SOUND_OUT_CTRL_PORT 0x91
1016#define WS_SOUND_OUT_CTRL_HEADPHONE_DETECT 0x80
1020#define WS_SOUND_OUT_CTRL_HEADPHONE_ENABLE 0x08
1024#define WS_SOUND_OUT_CTRL_SPEAKER_ENABLE 0x01
1028#define WS_SOUND_OUT_CTRL_SPEAKER_VOLUME_800 0x00
1032#define WS_SOUND_OUT_CTRL_SPEAKER_VOLUME_400 0x02
1036#define WS_SOUND_OUT_CTRL_SPEAKER_VOLUME_200 0x04
1040#define WS_SOUND_OUT_CTRL_SPEAKER_VOLUME_100 0x06
1041#define WS_SOUND_OUT_CTRL_SPEAKER_VOLUME_SHIFT 1
1042#define WS_SOUND_OUT_CTRL_SPEAKER_VOLUME_MASK 0x06
1043
1047#define WS_SOUND_NOISE_LFSR_PORT 0x92
1048
1049#define WS_SOUND_VOICE_VOL_PORT 0x94
1053#define WS_SOUND_VOICE_VOL_LEFT_NONE 0x00
1057#define WS_SOUND_VOICE_VOL_LEFT_HALF 0x08
1061#define WS_SOUND_VOICE_VOL_LEFT_FULL 0x0C
1062#define WS_SOUND_VOICE_VOL_LEFT_SHIFT 2
1063#define WS_SOUND_VOICE_VOL_LEFT_MASK 0x0C
1067#define WS_SOUND_VOICE_VOL_RIGHT_NONE 0x00
1071#define WS_SOUND_VOICE_VOL_RIGHT_HALF 0x02
1075#define WS_SOUND_VOICE_VOL_RIGHT_FULL 0x03
1076#define WS_SOUND_VOICE_VOL_RIGHT_SHIFT 0
1077#define WS_SOUND_VOICE_VOL_RIGHT_MASK 0x03
1078
1082#define WS_SOUND_TEST_PORT 0x95
1083#define WS_SOUND_TEST_HOLD_CH 0x01
1087#define WS_SOUND_TEST_FAST_SWEEP 0x02
1088
1092#define WS_SOUND_TEST_CHOUT_R_PORT 0x96
1093
1097#define WS_SOUND_TEST_CHOUT_L_PORT 0x98
1098
1102#define WS_SOUND_TEST_CHOUT_M_PORT 0x9A
1103
1107#define WS_SOUND_SPEAKER_VOL_PORT 0x9E
1108
1110
1115
1116#define WS_TIMER_CTRL_PORT 0xA2
1120#define WS_TIMER_CTRL_VBL_DISABLE 0x00
1124#define WS_TIMER_CTRL_VBL_ONESHOT 0x04
1128#define WS_TIMER_CTRL_VBL_REPEAT 0x0C
1129#define WS_TIMER_CTRL_VBL_SHIFT 2
1130#define WS_TIMER_CTRL_VBL_MASK 0x0C
1131#define WS_TIMER_CTRL_VBL_REPEAT_BIT 0x08
1132#define WS_TIMER_CTRL_VBL_ENABLE_BIT 0x04
1136#define WS_TIMER_CTRL_HBL_DISABLE 0x00
1140#define WS_TIMER_CTRL_HBL_ONESHOT 0x01
1144#define WS_TIMER_CTRL_HBL_REPEAT 0x03
1145#define WS_TIMER_CTRL_HBL_SHIFT 0
1146#define WS_TIMER_CTRL_HBL_MASK 0x03
1147#define WS_TIMER_CTRL_HBL_REPEAT_BIT 0x02
1148#define WS_TIMER_CTRL_HBL_ENABLE_BIT 0x01
1149
1153#define WS_TIMER_HBL_RELOAD_PORT 0xA4
1154
1158#define WS_TIMER_VBL_RELOAD_PORT 0xA6
1159
1163#define WS_TIMER_HBL_COUNTER_PORT 0xA8
1164
1168#define WS_TIMER_VBL_COUNTER_PORT 0xAA
1169
1171
1176
1177#define WS_UART_DATA_PORT 0xB1
1178
1179#define WS_UART_CTRL_PORT 0xB3
1183#define WS_UART_CTRL_ENABLE 0x80
1187#define WS_UART_CTRL_BAUD_9600 0x00
1191#define WS_UART_CTRL_BAUD_38400 0x40
1192#define WS_UART_CTRL_BAUD_SHIFT 6
1193#define WS_UART_CTRL_BAUD_MASK 0x40
1197#define WS_UART_CTRL_RX_OVERRUN_RESET 0x20
1201#define WS_UART_CTRL_TX_READY 0x04
1205#define WS_UART_CTRL_RX_OVERRUN 0x02
1209#define WS_UART_CTRL_RX_READY 0x01
1210
1212
1213#endif /* WS_PORTS_H_ */
1214