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-06-19 07:31
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
573#define WS_HYPERV_CTRL_VOLUME_100 0x00
574#define WS_HYPERV_CTRL_VOLUME_50 0x01
575#define WS_HYPERV_CTRL_VOLUME_25 0x02
576#define WS_HYPERV_CTRL_VOLUME_12_5 0x03
577#define WS_HYPERV_CTRL_VOLUME_SHIFT 0
578#define WS_HYPERV_CTRL_VOLUME_MASK 0x03
579#define WS_HYPERV_CTRL_EXT_UNSIGNED 0x00
580#define WS_HYPERV_CTRL_EXT_UNSIGNED_NEGATE 0x04
581#define WS_HYPERV_CTRL_EXT_SIGNED 0x08
582#define WS_HYPERV_CTRL_EXT_IGNORE 0x0C
583#define WS_HYPERV_CTRL_EXT_SHIFT 2
584#define WS_HYPERV_CTRL_EXT_MASK 0x0C
585#define WS_HYPERV_CTRL_RATE_24000 0x00
586#define WS_HYPERV_CTRL_RATE_12000 0x10
587#define WS_HYPERV_CTRL_RATE_8000 0x20
588#define WS_HYPERV_CTRL_RATE_6000 0x30
589#define WS_HYPERV_CTRL_RATE_4800 0x40
590#define WS_HYPERV_CTRL_RATE_4000 0x50
591#define WS_HYPERV_CTRL_RATE_3000 0x60
592#define WS_HYPERV_CTRL_RATE_2000 0x70
593#define WS_HYPERV_CTRL_RATE_SHIFT 4
594#define WS_HYPERV_CTRL_RATE_MASK 0x70
595#define WS_HYPERV_CTRL_ENABLE 0x80
596#define WS_HYPERV_CTRL_RESET 0x1000
597#define WS_HYPERV_CTRL_TARGET_STEREO 0x00
598#define WS_HYPERV_CTRL_TARGET_LEFT 0x2000
599#define WS_HYPERV_CTRL_TARGET_RIGHT 0x4000
600#define WS_HYPERV_CTRL_TARGET_MONO 0x6000
601#define WS_HYPERV_CTRL_TARGET_SHIFT 13
602#define WS_HYPERV_CTRL_TARGET_MASK 0x6000
603
605
610
614#define WS_INT_VECTOR_PORT 0xB0
615
616#define WS_INT_ENABLE_PORT 0xB2
620#define WS_INT_ENABLE_UART_TX 0x01
624#define WS_INT_ENABLE_KEY_SCAN 0x02
628#define WS_INT_ENABLE_CARTRIDGE 0x04
632#define WS_INT_ENABLE_UART_RX 0x08
636#define WS_INT_ENABLE_LINE_MATCH 0x10
640#define WS_INT_ENABLE_VBL_TIMER 0x20
644#define WS_INT_ENABLE_VBLANK 0x40
648#define WS_INT_ENABLE_HBL_TIMER 0x80
649
650#define WS_INT_STATUS_PORT 0xB4
654#define WS_INT_STATUS_UART_TX 0x01
658#define WS_INT_STATUS_KEY_SCAN 0x02
662#define WS_INT_STATUS_CARTRIDGE 0x04
666#define WS_INT_STATUS_UART_RX 0x08
670#define WS_INT_STATUS_LINE_MATCH 0x10
674#define WS_INT_STATUS_VBL_TIMER 0x20
678#define WS_INT_STATUS_VBLANK 0x40
682#define WS_INT_STATUS_HBL_TIMER 0x80
683
684#define WS_INT_ACK_PORT 0xB6
688#define WS_INT_ACK_UART_TX 0x01
692#define WS_INT_ACK_KEY_SCAN 0x02
696#define WS_INT_ACK_CARTRIDGE 0x04
700#define WS_INT_ACK_UART_RX 0x08
704#define WS_INT_ACK_LINE_MATCH 0x10
708#define WS_INT_ACK_VBL_TIMER 0x20
712#define WS_INT_ACK_VBLANK 0x40
716#define WS_INT_ACK_HBL_TIMER 0x80
717
721#define WS_INT_NMI_CTRL_PORT 0xB7
725#define WS_INT_NMI_CTRL_LOW_BATTERY 0x10
726
728
733
737#define WS_KEY_SCAN_PORT 0xB5
738#define WS_KEY_SCAN_ROW_BUTTONS 0x40
739#define WS_KEY_SCAN_ROW_X 0x20
740#define WS_KEY_SCAN_ROW_Y 0x10
741#define WS_KEY_SCAN_B 0x08
742#define WS_KEY_SCAN_X4 0x08
743#define WS_KEY_SCAN_Y4 0x08
744#define WS_KEY_SCAN_A 0x04
745#define WS_KEY_SCAN_X3 0x04
746#define WS_KEY_SCAN_Y3 0x04
747#define WS_KEY_SCAN_START 0x02
748#define WS_KEY_SCAN_X2 0x02
749#define WS_KEY_SCAN_Y2 0x02
750#define WS_KEY_SCAN_X1 0x01
751#define WS_KEY_SCAN_Y1 0x01
752
754
759
760#define WS_SYSTEM_CTRL_COLOR_PORT 0x60
764#define WS_SYSTEM_CTRL_COLOR_CART_FAST_CLOCK 0x01
768#define WS_SYSTEM_CTRL_COLOR_SRAM_WAIT 0x02
772#define WS_SYSTEM_CTRL_COLOR_IO_WAIT 0x08
776#define WS_SYSTEM_CTRL_COLOR_MODE_MONO 0x00
780#define WS_SYSTEM_CTRL_COLOR_MODE_COLOR_2BPP 0x80
784#define WS_SYSTEM_CTRL_COLOR_MODE_COLOR_4BPP 0xC0
788#define WS_SYSTEM_CTRL_COLOR_MODE_COLOR_4BPP_PACKED 0xE0
789#define WS_SYSTEM_CTRL_COLOR_MODE_SHIFT 5
790#define WS_SYSTEM_CTRL_COLOR_MODE_MASK 0xE0
791#define WS_SYSTEM_CTRL_COLOR_FEAT_COLOR 0x80
792#define WS_SYSTEM_CTRL_COLOR_FEAT_4BPP 0x40
793#define WS_SYSTEM_CTRL_COLOR_FEAT_PACKED 0x20
794
795#define WS_SYSTEM_CTRL_COLOR2_PORT 0x62
799#define WS_SYSTEM_CTRL_COLOR2_MODEL_CRYSTAL 0x80
800#define WS_SYSTEM_CTRL_COLOR2_REQUEST_POWER_OFF 0x01
801
802#define WS_SYSTEM_CTRL_PORT 0xA0
806#define WS_SYSTEM_CTRL_SELF_TEST 0x80
810#define WS_SYSTEM_CTRL_ROM_WAIT 0x08
814#define WS_SYSTEM_CTRL_ROM_16BIT 0x04
818#define WS_SYSTEM_CTRL_MODEL_COLOR 0x02
822#define WS_SYSTEM_CTRL_IPL_LOCK 0x01
823
824#define WS_SYSTEM_TEST_PORT 0xA3
825#define WS_SYSTEM_TEST_UART 0x08
826#define WS_SYSTEM_TEST_VBL_TIMER 0x02
827#define WS_SYSTEM_TEST_HBL_TIMER 0x01
828
830
835
843#define WS_SOUND_FREQ_CH1_PORT 0x80
844
848#define WS_SOUND_FREQ_CH2_PORT 0x82
849
853#define WS_SOUND_FREQ_CH3_PORT 0x84
854
858#define WS_SOUND_FREQ_CH4_PORT 0x86
859
863#define WS_SOUND_VOL_CH1_PORT 0x88
864
868#define WS_SOUND_VOL_CH2_PORT 0x89
869
873#define WS_SOUND_VOICE_SAMPLE_PORT 0x89
874
878#define WS_SOUND_VOL_CH3_PORT 0x8A
879
883#define WS_SOUND_VOL_CH4_PORT 0x8B
884
885#define WS_SOUND_SWEEP_PORT 0x8C
886
887#define WS_SOUND_SWEEP_TIME_PORT 0x8D
888
889#define WS_SOUND_NOISE_CTRL_PORT 0x8E
890#define WS_SOUND_NOISE_CTRL_TAP_14 0x00
891#define WS_SOUND_NOISE_CTRL_TAP_10 0x01
892#define WS_SOUND_NOISE_CTRL_TAP_13 0x02
893#define WS_SOUND_NOISE_CTRL_TAP_4 0x03
894#define WS_SOUND_NOISE_CTRL_TAP_8 0x04
895#define WS_SOUND_NOISE_CTRL_TAP_6 0x05
896#define WS_SOUND_NOISE_CTRL_TAP_9 0x06
897#define WS_SOUND_NOISE_CTRL_TAP_11 0x07
898#define WS_SOUND_NOISE_CTRL_TAP_SHIFT 0
899#define WS_SOUND_NOISE_CTRL_TAP_MASK 0x07
900#define WS_SOUND_NOISE_CTRL_LENGTH_32767 0x00
901#define WS_SOUND_NOISE_CTRL_LENGTH_1953 0x01
902#define WS_SOUND_NOISE_CTRL_LENGTH_254 0x02
903#define WS_SOUND_NOISE_CTRL_LENGTH_217 0x03
904#define WS_SOUND_NOISE_CTRL_LENGTH_73 0x04
905#define WS_SOUND_NOISE_CTRL_LENGTH_63 0x05
906#define WS_SOUND_NOISE_CTRL_LENGTH_42 0x06
907#define WS_SOUND_NOISE_CTRL_LENGTH_28 0x07
908#define WS_SOUND_NOISE_CTRL_LENGTH_SHIFT 0
909#define WS_SOUND_NOISE_CTRL_LENGTH_MASK 0x07
913#define WS_SOUND_NOISE_CTRL_RESET 0x08
917#define WS_SOUND_NOISE_CTRL_ENABLE 0x10
918
922#define WS_SOUND_WAVE_BASE_PORT 0x8F
923#define WS_SOUND_WAVE_BASE_ADDR(n) (((unsigned int) (n)) >> 6)
924
928#define WS_SOUND_CH_CTRL_PORT 0x90
932#define WS_SOUND_CH_CTRL_CH1_ENABLE 0x01
936#define WS_SOUND_CH_CTRL_CH2_ENABLE 0x02
940#define WS_SOUND_CH_CTRL_CH3_ENABLE 0x04
944#define WS_SOUND_CH_CTRL_CH4_ENABLE 0x08
948#define WS_SOUND_CH_CTRL_CH2_VOICE 0x20
952#define WS_SOUND_CH_CTRL_CH3_SWEEP 0x40
956#define WS_SOUND_CH_CTRL_CH4_NOISE 0x80
957
961#define WS_SOUND_OUT_CTRL_PORT 0x91
965#define WS_SOUND_OUT_CTRL_HEADPHONE_DETECT 0x80
969#define WS_SOUND_OUT_CTRL_HEADPHONE_ENABLE 0x08
973#define WS_SOUND_OUT_CTRL_SPEAKER_ENABLE 0x01
977#define WS_SOUND_OUT_CTRL_SPEAKER_VOLUME_800 0x00
981#define WS_SOUND_OUT_CTRL_SPEAKER_VOLUME_400 0x02
985#define WS_SOUND_OUT_CTRL_SPEAKER_VOLUME_200 0x04
989#define WS_SOUND_OUT_CTRL_SPEAKER_VOLUME_100 0x06
990#define WS_SOUND_OUT_CTRL_SPEAKER_VOLUME_SHIFT 1
991#define WS_SOUND_OUT_CTRL_SPEAKER_VOLUME_MASK 0x06
992
993#define WS_SOUND_NOISE_LFSR_PORT 0x92
994
995#define WS_SOUND_VOICE_VOL_PORT 0x94
999#define WS_SOUND_VOICE_VOL_LEFT_NONE 0x00
1003#define WS_SOUND_VOICE_VOL_LEFT_HALF 0x08
1007#define WS_SOUND_VOICE_VOL_LEFT_FULL 0x0C
1008#define WS_SOUND_VOICE_VOL_LEFT_SHIFT 2
1009#define WS_SOUND_VOICE_VOL_LEFT_MASK 0x0C
1013#define WS_SOUND_VOICE_VOL_RIGHT_NONE 0x00
1017#define WS_SOUND_VOICE_VOL_RIGHT_HALF 0x02
1021#define WS_SOUND_VOICE_VOL_RIGHT_FULL 0x03
1022#define WS_SOUND_VOICE_VOL_RIGHT_SHIFT 0
1023#define WS_SOUND_VOICE_VOL_RIGHT_MASK 0x03
1024
1028#define WS_SOUND_TEST_PORT 0x95
1029#define WS_SOUND_TEST_HOLD_CH 0x01
1033#define WS_SOUND_TEST_FAST_SWEEP 0x02
1034
1038#define WS_SOUND_TEST_CHOUT_R_PORT 0x96
1039
1043#define WS_SOUND_TEST_CHOUT_L_PORT 0x98
1044
1048#define WS_SOUND_TEST_CHOUT_M_PORT 0x9A
1049
1053#define WS_SOUND_SPEAKER_VOL_PORT 0x9E
1054
1056
1061
1062#define WS_TIMER_CTRL_PORT 0xA2
1066#define WS_TIMER_CTRL_VBL_DISABLE 0x00
1070#define WS_TIMER_CTRL_VBL_ONESHOT 0x04
1074#define WS_TIMER_CTRL_VBL_REPEAT 0x0C
1075#define WS_TIMER_CTRL_VBL_SHIFT 2
1076#define WS_TIMER_CTRL_VBL_MASK 0x0C
1077#define WS_TIMER_CTRL_VBL_REPEAT_BIT 0x08
1078#define WS_TIMER_CTRL_VBL_ENABLE_BIT 0x04
1082#define WS_TIMER_CTRL_HBL_DISABLE 0x00
1086#define WS_TIMER_CTRL_HBL_ONESHOT 0x01
1090#define WS_TIMER_CTRL_HBL_REPEAT 0x03
1091#define WS_TIMER_CTRL_HBL_SHIFT 0
1092#define WS_TIMER_CTRL_HBL_MASK 0x03
1093#define WS_TIMER_CTRL_HBL_REPEAT_BIT 0x02
1094#define WS_TIMER_CTRL_HBL_ENABLE_BIT 0x01
1095
1099#define WS_TIMER_HBL_RELOAD_PORT 0xA4
1100
1104#define WS_TIMER_VBL_RELOAD_PORT 0xA6
1105
1109#define WS_TIMER_HBL_COUNTER_PORT 0xA8
1110
1114#define WS_TIMER_VBL_COUNTER_PORT 0xAA
1115
1117
1122
1123#define WS_UART_DATA_PORT 0xB1
1124
1125#define WS_UART_CTRL_PORT 0xB3
1129#define WS_UART_CTRL_ENABLE 0x80
1133#define WS_UART_CTRL_BAUD_9600 0x00
1137#define WS_UART_CTRL_BAUD_38400 0x40
1138#define WS_UART_CTRL_BAUD_SHIFT 6
1139#define WS_UART_CTRL_BAUD_MASK 0x40
1143#define WS_UART_CTRL_RX_OVERRUN_RESET 0x20
1147#define WS_UART_CTRL_TX_READY 0x04
1151#define WS_UART_CTRL_RX_OVERRUN 0x02
1155#define WS_UART_CTRL_RX_READY 0x01
1156
1158
1159#endif /* WS_PORTS_H_ */
1160