!!################################ !!ALSA Information Script v 0.4.56 !!################################ !!Script ran on: Sat Jun 13 17:43:39 UTC 2009 !!Linux Distribution !!------------------ Ubuntu 9.04 \n \l DISTRIB_ID=Ubuntu DISTRIB_DESCRIPTION="Ubuntu 9.04" !!DMI Information !!--------------- Manufacturer: Product Name: !!Kernel Information !!------------------ Kernel release: 2.6.28-13-generic Operating System: GNU/Linux Architecture: i686 Processor: unknown SMP Enabled: Yes !!ALSA Version !!------------ Driver version: 1.0.18rc3 Library version: 1.0.18 Utilities version: 1.0.18 !!Loaded ALSA modules !!------------------- snd_hda_intel !!Sound Servers on this system !!---------------------------- Pulseaudio: Installed - Yes (/usr/bin/pulseaudio) Running - No ESound Daemon: Installed - Yes (/usr/bin/esd) Running - No Jack: Installed - Yes (/usr/bin/jackd) Running - No !!Soundcards recognised by ALSA !!----------------------------- 1 [Intel ]: HDA-Intel - HDA Intel HDA Intel at 0xf4580000 irq 16 !!PCI Soundcards installed in the system !!-------------------------------------- 00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01) !!Advanced information - PCI Vendor/Device/Susbsystem ID's !!-------------------------------------------------------- 00:1b.0 0403: 8086:27d8 (rev 01) Subsystem: 103c:30a2 !!Modprobe options (Sound related) !!-------------------------------- snd-atiixp-modem: index=-2 snd-intel8x0m: index=-2 snd-via82xx-modem: index=-2 snd-usb-audio: index=-2 snd-usb-us122l: index=-2 snd-usb-usx2y: index=-2 snd-usb-caiaq: index=-2 snd-cmipci: mpu_port=0x330 fm_port=0x388 snd-pcsp: index=-2 snd-hda-intel: index=0 !!Loaded sound module options !!-------------------------- !!Module: snd_hda_intel bdl_pos_adj : 1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 enable : Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y enable_msi : 0 id : ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, index : 1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 model : ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, position_fix : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 power_save : 0 power_save_controller : Y probe_mask : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 single_cmd : N !!HDA-Intel Codec information !!--------------------------- --startcollapse-- Codec: Analog Devices AD1981 Address: 0 Vendor Id: 0x11d41981 Subsystem Id: 0x103c30a2 Revision Id: 0x100200 No Modem Function Group found Default PCM: rates [0x7f]: 8000 11025 16000 22050 32000 44100 48000 bits [0xe]: 16 20 24 formats [0x1]: PCM Default Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Default Amp-Out caps: ofs=0x3d, nsteps=0x3f, stepsize=0x05, mute=1 GPIO: io=4, o=0, i=0, unsolicited=1, wake=0 IO[0]: enable=0, dir=0, wake=0, sticky=0, data=1 IO[1]: enable=0, dir=0, wake=0, sticky=0, data=1 IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0 IO[3]: enable=0, dir=0, wake=0, sticky=0, data=1 Node 0x02 [Audio Output] wcaps 0x30311: Stereo Digital Converter: stream=0, channel=0 Digital: Digital category: 0x0 PCM: rates [0x60]: 44100 48000 bits [0x2]: 16 formats [0x5]: PCM AC3 Delay: 3 samples Connection: 2 0x01* 0x04 Node 0x03 [Audio Output] wcaps 0x441: Stereo Converter: stream=0, channel=0 Power: setting=D0, actual=D0 Processing caps: benign=1, ncoeff=70 Node 0x04 [Audio Input] wcaps 0x100511: Stereo Converter: stream=0, channel=0 SDI-Select: 0 PCM: rates [0x7f]: 8000 11025 16000 22050 32000 44100 48000 bits [0x6]: 16 20 formats [0x1]: PCM Power: setting=D0, actual=D0 Connection: 1 0x15 Node 0x05 [Pin Complex] wcaps 0x400187: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-In vals: [0x00 0x00] Amp-Out caps: ofs=0x3d, nsteps=0x3f, stepsize=0x05, mute=1 Amp-Out vals: [0xaf 0xaf] Pincap 0x0001173f: IN OUT HP EAPD Detect Trigger ImpSense Vref caps: HIZ 50 GRD 80 EAPD 0x2: EAPD Pin Default 0x01014010: [Jack] Line Out at Ext Rear Conn = 1/8, Color = Green DefAssociation = 0x1, Sequence = 0x0 Pin-ctls: 0x40: OUT VREF_HIZ Unsolicited: tag=00, enabled=0 Connection: 2 0x03 0x0e* Node 0x06 [Pin Complex] wcaps 0x400185: Stereo Amp-Out Amp-Out caps: ofs=0x3d, nsteps=0x3f, stepsize=0x05, mute=1 Amp-Out vals: [0x2f 0x2f] Pincap 0x0000001f: OUT HP Detect Trigger ImpSense Pin Default 0x0221401f: [Jack] HP Out at Ext Front Conn = 1/8, Color = Green DefAssociation = 0x1, Sequence = 0xf Pin-ctls: 0xc0: OUT HP Unsolicited: tag=37, enabled=1 Connection: 2 0x03 0x0e* Node 0x07 [Pin Complex] wcaps 0x400104: Mono Amp-Out Amp-Out caps: ofs=0x3d, nsteps=0x3f, stepsize=0x05, mute=1 Amp-Out vals: [0x80] Pincap 0x00000010: OUT Pin Default 0x50070030: [N/A] Line Out at Int N/A Conn = Analog, Color = Unknown DefAssociation = 0x3, Sequence = 0x0 Pin-ctls: 0x40: OUT Connection: 1 0x0f Node 0x08 [Pin Complex] wcaps 0x400083: Stereo Amp-In Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-In vals: [0x02 0x02] Pincap 0x00001727: IN Detect Trigger ImpSense Vref caps: HIZ 50 GRD 80 Pin Default 0x02a19040: [Jack] Mic at Ext Front Conn = 1/8, Color = Pink DefAssociation = 0x4, Sequence = 0x0 Pin-ctls: 0x24: IN VREF_80 Unsolicited: tag=38, enabled=1 Node 0x09 [Pin Complex] wcaps 0x400187: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-In vals: [0x00 0x00] Amp-Out caps: ofs=0x3d, nsteps=0x3f, stepsize=0x05, mute=1 Amp-Out vals: [0xbf 0xbf] Pincap 0x00001737: IN OUT Detect Trigger ImpSense Vref caps: HIZ 50 GRD 80 Pin Default 0x01813041: [Jack] Line In at Ext Rear Conn = 1/8, Color = Blue DefAssociation = 0x4, Sequence = 0x1 Pin-ctls: 0x20: IN VREF_HIZ Unsolicited: tag=00, enabled=0 Connection: 2 0x03* 0x0e Node 0x0a [Pin Complex] wcaps 0x400301: Stereo Digital Pincap 0x00000010: OUT Pin Default 0x41450020: [N/A] SPDIF Out at Ext Rear Conn = Optical, Color = Unknown DefAssociation = 0x2, Sequence = 0x0 Pin-ctls: 0x40: OUT Connection: 1 0x02 Node 0x0b [Audio Selector] wcaps 0x300101: Stereo Connection: 6 0x03 0x0c 0x09 0x0e* 0x05 0x18 Node 0x0c [Audio Mixer] wcaps 0x200101: Stereo Connection: 2 0x1e 0x1f Node 0x0d [Audio Selector] wcaps 0x30010c: Mono Amp-Out Amp-Out caps: ofs=0x0f, nsteps=0x0f, stepsize=0x0b, mute=1 Amp-Out vals: [0x80] Connection: 2 0x10* 0x16 Node 0x0e [Audio Mixer] wcaps 0x200101: Stereo Connection: 8 0x0d 0x11 0x12 0x13 0x1a 0x1b 0x1c 0x1d Node 0x0f [Audio Mixer] wcaps 0x200100: Mono Connection: 1 0x0b Node 0x10 [Beep Generator Widget] wcaps 0x700000: Mono Node 0x11 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out Amp-Out caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1 Amp-Out vals: [0x13 0x13] Connection: 1 0x03 Node 0x12 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out Amp-Out caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1 Amp-Out vals: [0x80 0x80] Connection: 1 0x08 Node 0x13 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out Amp-Out caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1 Amp-Out vals: [0x80 0x80] Connection: 1 0x09 Node 0x14 [Power Widget] wcaps 0x500500: Mono Power: setting=D0, actual=D0 Connection: 13 0x0d* 0x0e 0x0f 0x10 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1d Node 0x15 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out Amp-Out caps: ofs=0x00, nsteps=0x0f, stepsize=0x05, mute=1 Amp-Out vals: [0x0c 0x0b] Connection: 8 0x0c 0x09 0x0e* 0x0f 0x19 0x05 0x18 0x17 Node 0x16 [Pin Complex] wcaps 0x400000: Mono Pincap 0x00000020: IN Pin Default 0x90f30050: [Fixed] Other at Int N/A Conn = ATAPI, Color = Unknown DefAssociation = 0x5, Sequence = 0x0 Pin-ctls: 0x20: IN Node 0x17 [Pin Complex] wcaps 0x400081: Stereo Pincap 0x00000027: IN Detect Trigger ImpSense Pin Default 0x50930044: [N/A] Aux at Int N/A Conn = ATAPI, Color = Unknown DefAssociation = 0x4, Sequence = 0x4 Pin-ctls: 0x20: IN Unsolicited: tag=00, enabled=0 Node 0x18 [Pin Complex] wcaps 0x400187: Stereo Amp-In Amp-Out Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0 Amp-In vals: [0x00 0x00] Amp-Out caps: ofs=0x3d, nsteps=0x3f, stepsize=0x05, mute=1 Amp-Out vals: [0x00 0x00] Pincap 0x00001737: IN OUT Detect Trigger ImpSense Vref caps: HIZ 50 GRD 80 Pin Default 0x01a19043: [Jack] Mic at Ext Rear Conn = 1/8, Color = Pink DefAssociation = 0x4, Sequence = 0x3 Pin-ctls: 0x24: IN VREF_80 Unsolicited: tag=00, enabled=0 Connection: 2 0x03* 0x0e Node 0x19 [Pin Complex] wcaps 0x400001: Stereo Pincap 0x00000020: IN Pin Default 0x50330042: [N/A] CD at Int N/A Conn = ATAPI, Color = Unknown DefAssociation = 0x4, Sequence = 0x2 Pin-ctls: 0x20: IN Node 0x1a [Audio Selector] wcaps 0x30010d: Stereo Amp-Out Amp-Out caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1 Amp-Out vals: [0x80 0x80] Connection: 1 0x05 Node 0x1b [Audio Selector] wcaps 0x30010d: Stereo Amp-Out Amp-Out caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1 Amp-Out vals: [0x80 0x80] Connection: 1 0x17 Node 0x1c [Audio Selector] wcaps 0x30010d: Stereo Amp-Out Amp-Out caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1 Amp-Out vals: [0x80 0x80] Connection: 1 0x18 Node 0x1d [Audio Selector] wcaps 0x30010d: Stereo Amp-Out Amp-Out caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1 Amp-Out vals: [0x80 0x80] Connection: 1 0x19 Node 0x1e [Audio Selector] wcaps 0x30010d: Stereo Amp-Out Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x80 0x80] Connection: 1 0x08 Node 0x1f [Audio Selector] wcaps 0x30010d: Stereo Amp-Out Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x00 0x00] Connection: 1 0x18 Codec: LSI Si3054 Address: 1 Vendor Id: 0x11c13026 Subsystem Id: 0x103c30a2 Revision Id: 0x100700 Modem Function Group: 0x1 --endcollapse-- !!ALSA Device nodes !!----------------- crw-rw---- 1 root audio 116, 11 Jun 13 03:11 /dev/snd/controlC1 crw-rw---- 1 root audio 116, 10 Jun 13 04:43 /dev/snd/pcmC1D0c crw-rw---- 1 root audio 116, 9 Jun 13 19:21 /dev/snd/pcmC1D0p crw-rw---- 1 root audio 116, 8 Jun 13 03:11 /dev/snd/pcmC1D6c crw-rw---- 1 root audio 116, 7 Jun 13 03:11 /dev/snd/pcmC1D6p crw-rw---- 1 root audio 116, 3 Jun 13 03:11 /dev/snd/seq crw-rw---- 1 root audio 116, 2 Jun 13 03:11 /dev/snd/timer !!ALSA configuration files !!------------------------ !!User specific config file (~/.asoundrc) pcm.Intel { type hw; card Intel; } ctl.Intel { type hw; card Intel; } pcm.!default pcm.Intel ctl.!default ctl.Intel !!asoundconf-generated config file # ALSA library configuration file managed by asoundconf(1). # # MANUAL CHANGES TO THIS FILE WILL BE OVERWRITTEN! # # Manual changes to the ALSA library configuration should be implemented # by editing the ~/.asoundrc file, not by editing this file. !defaults.pcm.card Intel defaults.ctl.card Intel defaults.pcm.device 0 defaults.pcm.subdevice -1 defaults.pcm.nonblock 1 defaults.pcm.ipc_key 5678293 defaults.pcm.ipc_gid audio defaults.pcm.ipc_perm 0660 defaults.pcm.dmix.max_periods 0 defaults.pcm.dmix.rate 48000 defaults.pcm.dmix.format "unchanged" defaults.pcm.dmix.card defaults.pcm.card defaults.pcm.dmix.device defaults.pcm.device defaults.pcm.dsnoop.card defaults.pcm.card defaults.pcm.dsnoop.device defaults.pcm.device defaults.pcm.front.card defaults.pcm.card defaults.pcm.front.device defaults.pcm.device defaults.pcm.rear.card defaults.pcm.card defaults.pcm.rear.device defaults.pcm.device defaults.pcm.center_lfe.card defaults.pcm.card defaults.pcm.center_lfe.device defaults.pcm.device defaults.pcm.side.card defaults.pcm.card defaults.pcm.side.device defaults.pcm.device defaults.pcm.surround40.card defaults.pcm.card defaults.pcm.surround40.device defaults.pcm.device defaults.pcm.surround41.card defaults.pcm.card defaults.pcm.surround41.device defaults.pcm.device defaults.pcm.surround50.card defaults.pcm.card defaults.pcm.surround50.device defaults.pcm.device defaults.pcm.surround51.card defaults.pcm.card defaults.pcm.surround51.device defaults.pcm.device defaults.pcm.surround71.card defaults.pcm.card defaults.pcm.surround71.device defaults.pcm.device defaults.pcm.iec958.card defaults.pcm.card defaults.pcm.iec958.device defaults.pcm.device defaults.pcm.modem.card defaults.pcm.card defaults.pcm.modem.device defaults.pcm.device defaults.pcm.file_format "raw" defaults.pcm.file_truncate true defaults.rawmidi.card 0 defaults.rawmidi.device 0 defaults.rawmidi.subdevice -1 defaults.hwdep.card 0 defaults.hwdep.device 0 defaults.timer.class 2 defaults.timer.sclass 0 defaults.timer.card 0 defaults.timer.device 0 defaults.timer.subdevice 0 defaults.namehint.showall off defaults.namehint.basic on defaults.namehint.extended off !!Aplay/Arecord output !!------------ APLAY **** List of PLAYBACK Hardware Devices **** card 1: Intel [HDA Intel], device 0: AD198x Analog [AD198x Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: Intel [HDA Intel], device 6: Si3054 Modem [Si3054 Modem] Subdevices: 1/1 Subdevice #0: subdevice #0 ARECORD **** List of CAPTURE Hardware Devices **** card 1: Intel [HDA Intel], device 0: AD198x Analog [AD198x Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: Intel [HDA Intel], device 6: Si3054 Modem [Si3054 Modem] Subdevices: 1/1 Subdevice #0: subdevice #0 !!Amixer output !!------------- !!-------Mixer controls for card 1 [Intel] Card hw:1 'Intel'/'HDA Intel at 0xf4580000 irq 16' Mixer name : 'Analog Devices AD1981' Components : 'HDA:11d41981,103c30a2,00100200 HDA:11c13026,103c30a2,00100700' Controls : 12 Simple ctrls : 11 Simple mixer control 'Master',0 Capabilities: pvolume pswitch pswitch-joined Playback channels: Front Left - Front Right Limits: Playback 0 - 63 Mono: Front Left: Playback 47 [75%] [-21.00dB] [on] Front Right: Playback 47 [75%] [-21.00dB] [on] Simple mixer control 'PCM',0 Capabilities: pvolume pswitch Playback channels: Front Left - Front Right Limits: Playback 0 - 31 Mono: Front Left: Playback 19 [61%] [-6.00dB] [on] Front Right: Playback 19 [61%] [-6.00dB] [on] Simple mixer control 'Mic',0 Capabilities: cswitch cswitch-joined cswitch-exclusive Capture exclusive group: 0 Capture channels: Mono Mono: Capture [off] Simple mixer control 'Mic Boost',0 Capabilities: volume Playback channels: Front Left - Front Right Capture channels: Front Left - Front Right Limits: 0 - 3 Front Left: 2 [67%] Front Right: 2 [67%] Simple mixer control 'Capture',0 Capabilities: cvolume cswitch Capture channels: Front Left - Front Right Limits: Capture 0 - 15 Front Left: Capture 12 [80%] [18.00dB] [on] Front Right: Capture 11 [73%] [16.50dB] [on] Simple mixer control 'Mix',0 Capabilities: cswitch cswitch-joined cswitch-exclusive Capture exclusive group: 0 Capture channels: Mono Mono: Capture [on] Simple mixer control 'Caller ID',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [off] Simple mixer control 'Digital',0 Capabilities: cvolume Capture channels: Front Left - Front Right Limits: Capture 0 - 120 Front Left: Capture 58 [48%] [-1.00dB] Front Right: Capture 93 [78%] [16.50dB] Simple mixer control 'Docking-Station',0 Capabilities: cswitch cswitch-joined cswitch-exclusive Capture exclusive group: 0 Capture channels: Mono Mono: Capture [off] Simple mixer control 'Internal Mic Boost',0 Capabilities: volume Playback channels: Front Left - Front Right Capture channels: Front Left - Front Right Limits: 0 - 3 Front Left: 0 [0%] Front Right: 0 [0%] Simple mixer control 'Off-hook',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [off] !!Alsactl output !!------------- --startcollapse-- state.Intel { control.1 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 63' comment.dbmin -9150 comment.dbmax 300 iface MIXER name 'Master Playback Volume' value.0 47 value.1 47 } control.2 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'Master Playback Switch' value true } control.3 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 31' comment.dbmin -3450 comment.dbmax 1200 iface MIXER name 'PCM Playback Volume' value.0 19 value.1 19 } control.4 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'PCM Playback Switch' value.0 true value.1 true } control.5 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 3' comment.dbmin 0 comment.dbmax 3000 iface MIXER name 'Mic Boost' value.0 2 value.1 2 } control.6 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 3' comment.dbmin 0 comment.dbmax 3000 iface MIXER name 'Internal Mic Boost' value.0 0 value.1 0 } control.7 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 15' comment.dbmin 0 comment.dbmax 2250 iface MIXER name 'Capture Volume' value.0 12 value.1 11 } control.8 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Capture Switch' value.0 true value.1 true } control.9 { comment.access 'read write' comment.type ENUMERATED comment.count 1 comment.item.0 Mic comment.item.1 Docking-Station comment.item.2 Mix iface MIXER name 'Capture Source' value Mix } control.10 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'Off-hook Switch' value false } control.11 { comment.access 'read write' comment.type BOOLEAN comment.count 1 iface MIXER name 'Caller ID Switch' value false } control.12 { comment.access 'read write user' comment.type INTEGER comment.count 2 comment.range '0 - 120' comment.tlv '0000000100000008fffff44800000032' comment.dbmin -3000 comment.dbmax 3000 iface MIXER name 'Digital Capture Volume' value.0 58 value.1 93 } } --endcollapse-- !!All Loaded Modules !!------------------ Module usb_storage aes_i586 aes_generic i915 drm binfmt_misc bridge stp bnep vboxnetflt vboxdrv input_polldev nls_iso8859_1 nls_cp437 vfat fat coretemp tun sbp2 lp joydev arc4 snd_hda_intel ecb snd_usb_audio snd_usb_lib snd_pcm_oss snd_mixer_oss snd_hwdep snd_pcm iwl3945 snd_seq_dummy snd_seq_oss snd_seq_midi snd_rawmidi mac80211 snd_seq_midi_event snd_seq iTCO_wdt iTCO_vendor_support led_class snd_timer snd_seq_device pcmcia psmouse intel_agp ppdev video snd snd_page_alloc serio_raw agpgart pcspkr cfg80211 btusb parport_pc parport soundcore output yenta_socket rsrc_nonstatic pcmcia_core usbhid ohci1394 b44 ssb mii ieee1394 fbcon tileblit font bitblit softcursor