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-15 13:48
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
293#define WS_LCD_CTRL_CONTRAST_LOW 0x00
294#define WS_LCD_CTRL_CONTRAST_HIGH 0x02
295#define WS_LCD_CTRL_CONTRAST_SHIFT 1
296#define WS_LCD_CTRL_CONTRAST_MASK 0x02
297#define WS_LCD_CTRL_SLEEP_ON 0x00
298#define WS_LCD_CTRL_SLEEP_OFF 0x01
299#define WS_LCD_CTRL_SLEEP_SHIFT 0
300#define WS_LCD_CTRL_SLEEP_MASK 0x01
301
305#define WS_LCD_ICON_PORT 0x15
309#define WS_LCD_ICON_SLEEP 0x01
313#define WS_LCD_ICON_ORIENT_V 0x02
317#define WS_LCD_ICON_ORIENT_H 0x04
321#define WS_LCD_ICON_AUX1 0x08
325#define WS_LCD_ICON_AUX2 0x10
329#define WS_LCD_ICON_AUX3 0x20
330
336#define WS_LCD_VTOTAL_PORT 0x16
337
341#define WS_LCD_STN_VSYNC_PORT 0x17
342
346#define WS_LCD_NEXT_LINE_PORT 0x18
347
351#define WS_LCD_ICON_LATCH_PORT 0x1A
352#define WS_LCD_ICON_LATCH_DISABLE 0x01
353#define WS_LCD_ICON_LATCH_HEADPHONE 0x02
354#define WS_LCD_ICON_LATCH_VOLUME_B 0x04
355#define WS_LCD_ICON_LATCH_VOLUME_A 0x08
356#define WS_LCD_ICON_LATCH_VOLUME 0x10
357#define WS_LCD_ICON_LATCH_CARTRIDGE 0x20
358
359#define WS_LCD_SHADE_01_PORT 0x1C
360
361#define WS_LCD_SHADE_23_PORT 0x1D
362
363#define WS_LCD_SHADE_45_PORT 0x1E
364
365#define WS_LCD_SHADE_67_PORT 0x1F
366
367#define WS_SCR_PAL_0_PORT 0x20
368#define WS_SCR_PAL_1_PORT 0x22
369#define WS_SCR_PAL_2_PORT 0x24
370#define WS_SCR_PAL_3_PORT 0x26
371#define WS_SCR_PAL_4_PORT 0x28
372#define WS_SCR_PAL_5_PORT 0x2A
373#define WS_SCR_PAL_6_PORT 0x2C
374#define WS_SCR_PAL_7_PORT 0x2E
375#define WS_SCR_PAL_8_PORT 0x30
376#define WS_SCR_PAL_9_PORT 0x32
377#define WS_SCR_PAL_10_PORT 0x34
378#define WS_SCR_PAL_11_PORT 0x36
379#define WS_SCR_PAL_12_PORT 0x38
380#define WS_SCR_PAL_13_PORT 0x3A
381#define WS_SCR_PAL_14_PORT 0x3C
382#define WS_SCR_PAL_15_PORT 0x3E
383#define WS_SCR_PAL_PORT(i) (0x20 + (2 * ((i) - 0)))
384
385#define WS_SPR_PAL_0_PORT 0x30
386#define WS_SPR_PAL_1_PORT 0x32
387#define WS_SPR_PAL_2_PORT 0x34
388#define WS_SPR_PAL_3_PORT 0x36
389#define WS_SPR_PAL_4_PORT 0x38
390#define WS_SPR_PAL_5_PORT 0x3A
391#define WS_SPR_PAL_6_PORT 0x3C
392#define WS_SPR_PAL_7_PORT 0x3E
393#define WS_SPR_PAL_PORT(i) (0x30 + (2 * ((i) - 0)))
394
396
401
405#define WS_GDMA_SOURCE_L_PORT 0x40
406
410#define WS_GDMA_SOURCE_H_PORT 0x42
411
415#define WS_GDMA_DEST_PORT 0x44
416
420#define WS_GDMA_LENGTH_PORT 0x46
421
425#define WS_GDMA_CTRL_PORT 0x48
429#define WS_GDMA_CTRL_START 0x80
430#define WS_GDMA_CTRL_INC 0x00
431#define WS_GDMA_CTRL_DEC 0x40
432
436#define WS_SDMA_SOURCE_L_PORT 0x4A
437
441#define WS_SDMA_SOURCE_H_PORT 0x4C
442
446#define WS_SDMA_LENGTH_L_PORT 0x4E
447
451#define WS_SDMA_LENGTH_H_PORT 0x50
452
453#define WS_SDMA_CTRL_PORT 0x52
457#define WS_SDMA_CTRL_ENABLE 0x80
458#define WS_SDMA_CTRL_INC 0x00
459#define WS_SDMA_CTRL_DEC 0x40
463#define WS_SDMA_CTRL_TARGET_CH2 0x00
467#define WS_SDMA_CTRL_TARGET_HYPERV 0x10
468#define WS_SDMA_CTRL_TARGET_SHIFT 4
469#define WS_SDMA_CTRL_TARGET_MASK 0x10
473#define WS_SDMA_CTRL_ONESHOT 0x00
477#define WS_SDMA_CTRL_REPEAT 0x08
478#define WS_SDMA_CTRL_HOLD 0x04
482#define WS_SDMA_CTRL_RATE_4000 0x00
486#define WS_SDMA_CTRL_RATE_6000 0x01
490#define WS_SDMA_CTRL_RATE_12000 0x02
494#define WS_SDMA_CTRL_RATE_24000 0x03
495#define WS_SDMA_CTRL_RATE_SHIFT 0
496#define WS_SDMA_CTRL_RATE_MASK 0x03
497
499
504
508#define WS_IEEP_DATA_PORT 0xBA
509
513#define WS_IEEP_COMMAND_PORT 0xBC
514
515#define WS_IEEP_CTRL_PORT 0xBE
519#define WS_IEEP_CTRL_PROTECT 0x80
523#define WS_IEEP_CTRL_ERASE 0x40
527#define WS_IEEP_CTRL_WRITE 0x20
531#define WS_IEEP_CTRL_READ 0x10
535#define WS_IEEP_CTRL_READY 0x02
539#define WS_IEEP_CTRL_DONE 0x01
540
542
547
548#define WS_HYPERV_OUT_L_PORT 0x64
549
550#define WS_HYPERV_OUT_R_PORT 0x66
551
552#define WS_HYPERV_CTRL_PORT 0x6A
553#define WS_HYPERV_CTRL_VOLUME_100 0x00
554#define WS_HYPERV_CTRL_VOLUME_50 0x01
555#define WS_HYPERV_CTRL_VOLUME_25 0x02
556#define WS_HYPERV_CTRL_VOLUME_12_5 0x03
557#define WS_HYPERV_CTRL_VOLUME_SHIFT 0
558#define WS_HYPERV_CTRL_VOLUME_MASK 0x03
559#define WS_HYPERV_CTRL_EXT_UNSIGNED 0x00
560#define WS_HYPERV_CTRL_EXT_UNSIGNED_NEGATE 0x04
561#define WS_HYPERV_CTRL_EXT_SIGNED 0x08
562#define WS_HYPERV_CTRL_EXT_IGNORE 0x0C
563#define WS_HYPERV_CTRL_EXT_SHIFT 2
564#define WS_HYPERV_CTRL_EXT_MASK 0x0C
565#define WS_HYPERV_CTRL_RATE_24000 0x00
566#define WS_HYPERV_CTRL_RATE_12000 0x10
567#define WS_HYPERV_CTRL_RATE_8000 0x20
568#define WS_HYPERV_CTRL_RATE_6000 0x30
569#define WS_HYPERV_CTRL_RATE_4800 0x40
570#define WS_HYPERV_CTRL_RATE_4000 0x50
571#define WS_HYPERV_CTRL_RATE_3000 0x60
572#define WS_HYPERV_CTRL_RATE_2000 0x70
573#define WS_HYPERV_CTRL_RATE_SHIFT 4
574#define WS_HYPERV_CTRL_RATE_MASK 0x70
575#define WS_HYPERV_CTRL_ENABLE 0x80
576#define WS_HYPERV_CTRL_RESET 0x1000
577#define WS_HYPERV_CTRL_TARGET_STEREO 0x00
578#define WS_HYPERV_CTRL_TARGET_LEFT 0x2000
579#define WS_HYPERV_CTRL_TARGET_RIGHT 0x4000
580#define WS_HYPERV_CTRL_TARGET_MONO 0x6000
581#define WS_HYPERV_CTRL_TARGET_SHIFT 13
582#define WS_HYPERV_CTRL_TARGET_MASK 0x6000
583
585
590
594#define WS_INT_VECTOR_PORT 0xB0
595
596#define WS_INT_ENABLE_PORT 0xB2
600#define WS_INT_ENABLE_UART_TX 0x01
604#define WS_INT_ENABLE_KEY_SCAN 0x02
608#define WS_INT_ENABLE_CARTRIDGE 0x04
612#define WS_INT_ENABLE_UART_RX 0x08
616#define WS_INT_ENABLE_LINE_MATCH 0x10
620#define WS_INT_ENABLE_VBL_TIMER 0x20
624#define WS_INT_ENABLE_VBLANK 0x40
628#define WS_INT_ENABLE_HBL_TIMER 0x80
629
630#define WS_INT_STATUS_PORT 0xB4
634#define WS_INT_STATUS_UART_TX 0x01
638#define WS_INT_STATUS_KEY_SCAN 0x02
642#define WS_INT_STATUS_CARTRIDGE 0x04
646#define WS_INT_STATUS_UART_RX 0x08
650#define WS_INT_STATUS_LINE_MATCH 0x10
654#define WS_INT_STATUS_VBL_TIMER 0x20
658#define WS_INT_STATUS_VBLANK 0x40
662#define WS_INT_STATUS_HBL_TIMER 0x80
663
664#define WS_INT_ACK_PORT 0xB6
668#define WS_INT_ACK_UART_TX 0x01
672#define WS_INT_ACK_KEY_SCAN 0x02
676#define WS_INT_ACK_CARTRIDGE 0x04
680#define WS_INT_ACK_UART_RX 0x08
684#define WS_INT_ACK_LINE_MATCH 0x10
688#define WS_INT_ACK_VBL_TIMER 0x20
692#define WS_INT_ACK_VBLANK 0x40
696#define WS_INT_ACK_HBL_TIMER 0x80
697
701#define WS_INT_NMI_CTRL_PORT 0xB7
705#define WS_INT_NMI_CTRL_LOW_BATTERY 0x10
706
708
713
717#define WS_KEY_SCAN_PORT 0xB5
718#define WS_KEY_SCAN_ROW_BUTTONS 0x40
719#define WS_KEY_SCAN_ROW_X 0x20
720#define WS_KEY_SCAN_ROW_Y 0x10
721#define WS_KEY_SCAN_B 0x08
722#define WS_KEY_SCAN_X4 0x08
723#define WS_KEY_SCAN_Y4 0x08
724#define WS_KEY_SCAN_A 0x04
725#define WS_KEY_SCAN_X3 0x04
726#define WS_KEY_SCAN_Y3 0x04
727#define WS_KEY_SCAN_START 0x02
728#define WS_KEY_SCAN_X2 0x02
729#define WS_KEY_SCAN_Y2 0x02
730#define WS_KEY_SCAN_X1 0x01
731#define WS_KEY_SCAN_Y1 0x01
732
734
739
740#define WS_SYSTEM_CTRL_COLOR_PORT 0x60
744#define WS_SYSTEM_CTRL_COLOR_CART_FAST_CLOCK 0x01
748#define WS_SYSTEM_CTRL_COLOR_SRAM_WAIT 0x02
752#define WS_SYSTEM_CTRL_COLOR_IO_WAIT 0x08
756#define WS_SYSTEM_CTRL_COLOR_MODE_MONO 0x00
760#define WS_SYSTEM_CTRL_COLOR_MODE_COLOR_2BPP 0x80
764#define WS_SYSTEM_CTRL_COLOR_MODE_COLOR_4BPP 0xC0
768#define WS_SYSTEM_CTRL_COLOR_MODE_COLOR_4BPP_PACKED 0xE0
769#define WS_SYSTEM_CTRL_COLOR_MODE_SHIFT 5
770#define WS_SYSTEM_CTRL_COLOR_MODE_MASK 0xE0
771#define WS_SYSTEM_CTRL_COLOR_FEAT_COLOR 0x80
772#define WS_SYSTEM_CTRL_COLOR_FEAT_4BPP 0x40
773#define WS_SYSTEM_CTRL_COLOR_FEAT_PACKED 0x20
774
775#define WS_SYSTEM_CTRL_COLOR2_PORT 0x62
779#define WS_SYSTEM_CTRL_COLOR2_MODEL_CRYSTAL 0x80
780#define WS_SYSTEM_CTRL_COLOR2_REQUEST_POWER_OFF 0x01
781
782#define WS_SYSTEM_CTRL_PORT 0xA0
786#define WS_SYSTEM_CTRL_SELF_TEST 0x80
790#define WS_SYSTEM_CTRL_ROM_WAIT 0x08
794#define WS_SYSTEM_CTRL_ROM_16BIT 0x04
798#define WS_SYSTEM_CTRL_MODEL_COLOR 0x02
802#define WS_SYSTEM_CTRL_IPL_LOCK 0x01
803
804#define WS_SYSTEM_TEST_PORT 0xA3
805#define WS_SYSTEM_TEST_UART 0x08
806#define WS_SYSTEM_TEST_VBL_TIMER 0x02
807#define WS_SYSTEM_TEST_HBL_TIMER 0x01
808
810
815
823#define WS_SOUND_FREQ_CH1_PORT 0x80
824
828#define WS_SOUND_FREQ_CH2_PORT 0x82
829
833#define WS_SOUND_FREQ_CH3_PORT 0x84
834
838#define WS_SOUND_FREQ_CH4_PORT 0x86
839
843#define WS_SOUND_VOL_CH1_PORT 0x88
844
848#define WS_SOUND_VOL_CH2_PORT 0x89
849
853#define WS_SOUND_VOICE_SAMPLE_PORT 0x89
854
858#define WS_SOUND_VOL_CH3_PORT 0x8A
859
863#define WS_SOUND_VOL_CH4_PORT 0x8B
864
865#define WS_SOUND_SWEEP_PORT 0x8C
866
867#define WS_SOUND_SWEEP_TIME_PORT 0x8D
868
869#define WS_SOUND_NOISE_CTRL_PORT 0x8E
870#define WS_SOUND_NOISE_CTRL_TAP_14 0x00
871#define WS_SOUND_NOISE_CTRL_TAP_10 0x01
872#define WS_SOUND_NOISE_CTRL_TAP_13 0x02
873#define WS_SOUND_NOISE_CTRL_TAP_4 0x03
874#define WS_SOUND_NOISE_CTRL_TAP_8 0x04
875#define WS_SOUND_NOISE_CTRL_TAP_6 0x05
876#define WS_SOUND_NOISE_CTRL_TAP_9 0x06
877#define WS_SOUND_NOISE_CTRL_TAP_11 0x07
878#define WS_SOUND_NOISE_CTRL_TAP_SHIFT 0
879#define WS_SOUND_NOISE_CTRL_TAP_MASK 0x07
880#define WS_SOUND_NOISE_CTRL_LENGTH_32767 0x00
881#define WS_SOUND_NOISE_CTRL_LENGTH_1953 0x01
882#define WS_SOUND_NOISE_CTRL_LENGTH_254 0x02
883#define WS_SOUND_NOISE_CTRL_LENGTH_217 0x03
884#define WS_SOUND_NOISE_CTRL_LENGTH_73 0x04
885#define WS_SOUND_NOISE_CTRL_LENGTH_63 0x05
886#define WS_SOUND_NOISE_CTRL_LENGTH_42 0x06
887#define WS_SOUND_NOISE_CTRL_LENGTH_28 0x07
888#define WS_SOUND_NOISE_CTRL_LENGTH_SHIFT 0
889#define WS_SOUND_NOISE_CTRL_LENGTH_MASK 0x07
893#define WS_SOUND_NOISE_CTRL_RESET 0x08
897#define WS_SOUND_NOISE_CTRL_ENABLE 0x10
898
902#define WS_SOUND_WAVE_BASE_PORT 0x8F
903#define WS_SOUND_WAVE_BASE_ADDR(n) (((unsigned int) (n)) >> 6)
904
908#define WS_SOUND_CH_CTRL_PORT 0x90
912#define WS_SOUND_CH_CTRL_CH1_ENABLE 0x01
916#define WS_SOUND_CH_CTRL_CH2_ENABLE 0x02
920#define WS_SOUND_CH_CTRL_CH3_ENABLE 0x04
924#define WS_SOUND_CH_CTRL_CH4_ENABLE 0x08
928#define WS_SOUND_CH_CTRL_CH2_VOICE 0x20
932#define WS_SOUND_CH_CTRL_CH3_SWEEP 0x40
936#define WS_SOUND_CH_CTRL_CH4_NOISE 0x80
937
941#define WS_SOUND_OUT_CTRL_PORT 0x91
945#define WS_SOUND_OUT_CTRL_HEADPHONE_DETECT 0x80
949#define WS_SOUND_OUT_CTRL_HEADPHONE_ENABLE 0x08
953#define WS_SOUND_OUT_CTRL_SPEAKER_ENABLE 0x01
957#define WS_SOUND_OUT_CTRL_SPEAKER_VOLUME_800 0x00
961#define WS_SOUND_OUT_CTRL_SPEAKER_VOLUME_400 0x02
965#define WS_SOUND_OUT_CTRL_SPEAKER_VOLUME_200 0x04
969#define WS_SOUND_OUT_CTRL_SPEAKER_VOLUME_100 0x06
970#define WS_SOUND_OUT_CTRL_SPEAKER_VOLUME_SHIFT 1
971#define WS_SOUND_OUT_CTRL_SPEAKER_VOLUME_MASK 0x06
972
973#define WS_SOUND_NOISE_LFSR_PORT 0x92
974
975#define WS_SOUND_VOICE_VOL_PORT 0x94
979#define WS_SOUND_VOICE_VOL_LEFT_NONE 0x00
983#define WS_SOUND_VOICE_VOL_LEFT_HALF 0x08
987#define WS_SOUND_VOICE_VOL_LEFT_FULL 0x0C
988#define WS_SOUND_VOICE_VOL_LEFT_SHIFT 2
989#define WS_SOUND_VOICE_VOL_LEFT_MASK 0x0C
993#define WS_SOUND_VOICE_VOL_RIGHT_NONE 0x00
997#define WS_SOUND_VOICE_VOL_RIGHT_HALF 0x02
1001#define WS_SOUND_VOICE_VOL_RIGHT_FULL 0x03
1002#define WS_SOUND_VOICE_VOL_RIGHT_SHIFT 0
1003#define WS_SOUND_VOICE_VOL_RIGHT_MASK 0x03
1004
1008#define WS_SOUND_TEST_PORT 0x95
1009#define WS_SOUND_TEST_HOLD_CH 0x01
1013#define WS_SOUND_TEST_FAST_SWEEP 0x02
1014
1018#define WS_SOUND_TEST_CHOUT_R_PORT 0x96
1019
1023#define WS_SOUND_TEST_CHOUT_L_PORT 0x98
1024
1028#define WS_SOUND_TEST_CHOUT_M_PORT 0x9A
1029
1033#define WS_SOUND_SPEAKER_VOL_PORT 0x9E
1034
1036
1041
1042#define WS_TIMER_CTRL_PORT 0xA2
1046#define WS_TIMER_CTRL_VBL_DISABLE 0x00
1050#define WS_TIMER_CTRL_VBL_ONESHOT 0x04
1054#define WS_TIMER_CTRL_VBL_REPEAT 0x0C
1055#define WS_TIMER_CTRL_VBL_SHIFT 2
1056#define WS_TIMER_CTRL_VBL_MASK 0x0C
1057#define WS_TIMER_CTRL_VBL_REPEAT_BIT 0x08
1058#define WS_TIMER_CTRL_VBL_ENABLE_BIT 0x04
1062#define WS_TIMER_CTRL_HBL_DISABLE 0x00
1066#define WS_TIMER_CTRL_HBL_ONESHOT 0x01
1070#define WS_TIMER_CTRL_HBL_REPEAT 0x03
1071#define WS_TIMER_CTRL_HBL_SHIFT 0
1072#define WS_TIMER_CTRL_HBL_MASK 0x03
1073#define WS_TIMER_CTRL_HBL_REPEAT_BIT 0x02
1074#define WS_TIMER_CTRL_HBL_ENABLE_BIT 0x01
1075
1079#define WS_TIMER_HBL_RELOAD_PORT 0xA4
1080
1084#define WS_TIMER_VBL_RELOAD_PORT 0xA6
1085
1089#define WS_TIMER_HBL_COUNTER_PORT 0xA8
1090
1094#define WS_TIMER_VBL_COUNTER_PORT 0xAA
1095
1097
1102
1103#define WS_UART_DATA_PORT 0xB1
1104
1105#define WS_UART_CTRL_PORT 0xB3
1109#define WS_UART_CTRL_ENABLE 0x80
1113#define WS_UART_CTRL_BAUD_9600 0x00
1117#define WS_UART_CTRL_BAUD_38400 0x40
1118#define WS_UART_CTRL_BAUD_SHIFT 6
1119#define WS_UART_CTRL_BAUD_MASK 0x40
1123#define WS_UART_CTRL_RX_OVERRUN_RESET 0x20
1127#define WS_UART_CTRL_TX_READY 0x04
1131#define WS_UART_CTRL_RX_OVERRUN 0x02
1135#define WS_UART_CTRL_RX_READY 0x01
1136
1138
1139#endif /* WS_PORTS_H_ */
1140