libexsid  2.1
exSID_defs.h File Reference

libexsid private definitions header file. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define XSC_USBMOD   (4096/64*62)
 USB buffer multiple. More...
 
#define XSC_USBLAT   1
 FTDI latency: 1-255ms in 1ms increments. More...
 
#define XSC_BUFFMS   40
 write buffer size in milliseconds of playback (high water mark). More...
 
#define XS_BDRATE   2000000
 2Mpbs More...
 
#define XS_SIDCLK   1000000
 1MHz (for computation only, currently hardcoded in firmware) More...
 
#define XS_RSBCLK   (XS_BDRATE/10)
 RS232 byte clock. Each RS232 byte is 10 bits long due to start and stop bits. More...
 
#define XS_CYCCHR   (XS_SIDCLK/XS_RSBCLK)
 SID cycles between two consecutive chars. More...
 
#define XS_BUFFSZ   ((((XS_RSBCLK/1000)*XSC_BUFFMS)/XSC_USBMOD)*XSC_USBMOD)
 Must be multiple of user data transfer size or USB won't be happy. This floors XSC_BUFFMS. More...
 
#define XS_LDMULT   501
 long delay SID cycle loop multiplier More...
 
#define XS_MINDEL   (XS_CYCCHR)
 Smallest possible delay (with IOCTD1). More...
 
#define XS_CYCIO   (2*XS_CYCCHR)
 minimum cycles between two consecutive I/Os (addr + data) More...
 
#define XS_MAXADJ   7
 maximum encodable value for post write clock adjustment: must fit on 3 bits More...
 
#define XS_LDOFFS   (3*XS_CYCCHR)
 long delay loop SID cycles offset More...
 
#define XSP_RSBCLK   666667
 maximum byte clock at 32MHz base clock is approx 666.6kHz (1 byte every 1.5us) More...
 
#define XSP_BUFFSZ   ((((XSP_RSBCLK/1000)*XSC_BUFFMS)/XSC_USBMOD)*XSC_USBMOD)
 Must be multiple of user data transfer size or USB won't be happy. This floors XSC_BUFFMS. More...
 
#define XSP_MINDEL   2
 Smallest possible delay (with IOCTD1). More...
 
#define XSP_CYCIO   3
 minimum cycles between two consecutive I/Os (addr + data) More...
 
#define XSP_PRE_RD   2
 
#define XSP_POSTRD   2
 
#define XSP_MAXADJ   4
 maximum encodable value for post write clock adjustment: must fit on 3 bits More...
 
#define XSP_LDOFFS   3
 long delay loop SID cycles offset More...
 
#define XSP_CYCCS   2
 cycles lost in chipselect() More...
 
#define XSP_AD_IOCTCP   0x3D
 Select PAL clock. More...
 
#define XSP_AD_IOCTCN   0x3E
 Select NTSC clock. More...
 
#define XSP_AD_IOCTC1   0x3F
 Select 1MHz clock. More...
 
#define XSP_AD_IOCTA0   0x5D
 Audio Mix: 6581 L / 8580 R. More...
 
#define XSP_AD_IOCTA1   0x5E
 Audio Mix: 8580 L / 6581 R. More...
 
#define XSP_AD_IOCTA2   0x5F
 Audio Mix: 8580 L / 8580 R. More...
 
#define XSP_AD_IOCTA3   0x7D
 Audio Mix: 6581 L / 6581 R. More...
 
#define XSP_AD_IOCTAM   0x7E
 Audio Mute. More...
 
#define XSP_AD_IOCTAU   0x7F
 Audio Unmute. More...
 
#define XS_AD_IOCTD1   0x9D
 shortest delay (XS_MINDEL SID cycles) More...
 
#define XS_AD_IOCTLD   0x9E
 polled delay, amount of SID cycles to wait must be given in data More...
 
#define XS_AD_IOCTS0   0xBD
 select chip 0 More...
 
#define XS_AD_IOCTS1   0xBE
 select chip 1 More...
 
#define XS_AD_IOCTSB   0xBF
 select both chips. More...
 
#define XS_AD_IOCTFV   0xFD
 Firmware version query. More...
 
#define XS_AD_IOCTHV   0xFE
 Hardware version query. More...
 
#define XS_AD_IOCTRS   0xFF
 SID reset. More...
 
#define XS_USBVID   0x0403
 Default FTDI VID. More...
 
#define XS_USBPID   0x6001
 Default FTDI PID. More...
 
#define XS_USBDSC   "exSID USB"
 
#define XSP_USBVID   0x0403
 Default FTDI VID. More...
 
#define XSP_USBPID   0x6015
 Default FTDI PID. More...
 
#define XSP_USBDSC   "exSID+ USB"
 
#define XS_MODEL_STD   0
 
#define XS_MODEL_PLUS   1
 
#define xsdbg(format, ...)    /* nothing */
 
#define likely(x)    (x)
 
#define unlikely(x)    (x)
 

Detailed Description

libexsid private definitions header file.

Note
These defines are closely related to the exSID firmware. Any modification that does not correspond to a related change in firmware will cause the device to operate unpredictably or not at all.

Definition in file exSID_defs.h.

Macro Definition Documentation

#define likely (   x)    (x)

Definition at line 109 of file exSID_defs.h.

Referenced by exSID_clkdread(), and exSID_clkdwrite().

#define unlikely (   x)    (x)

Definition at line 110 of file exSID_defs.h.

Referenced by exSID_clkdread(), exSID_clkdwrite(), and exSID_delay().

#define XS_AD_IOCTD1   0x9D

shortest delay (XS_MINDEL SID cycles)

Definition at line 77 of file exSID_defs.h.

Referenced by exSID_exit().

#define XS_AD_IOCTFV   0xFD

Firmware version query.

Definition at line 84 of file exSID_defs.h.

Referenced by exSID_init().

#define XS_AD_IOCTHV   0xFE

Hardware version query.

Definition at line 85 of file exSID_defs.h.

Referenced by exSID_init().

#define XS_AD_IOCTLD   0x9E

polled delay, amount of SID cycles to wait must be given in data

Definition at line 78 of file exSID_defs.h.

#define XS_AD_IOCTRS   0xFF

SID reset.

Definition at line 86 of file exSID_defs.h.

Referenced by exSID_reset().

#define XS_AD_IOCTS0   0xBD

select chip 0

Definition at line 80 of file exSID_defs.h.

Referenced by exSID_chipselect().

#define XS_AD_IOCTS1   0xBE

select chip 1

Definition at line 81 of file exSID_defs.h.

Referenced by exSID_chipselect().

#define XS_AD_IOCTSB   0xBF

select both chips.

Warning
Invalid for reads: unknown behaviour!

Definition at line 82 of file exSID_defs.h.

Referenced by exSID_chipselect().

#define XS_BDRATE   2000000

2Mpbs

Definition at line 39 of file exSID_defs.h.

Referenced by exSID_init().

#define XS_BUFFSZ   ((((XS_RSBCLK/1000)*XSC_BUFFMS)/XSC_USBMOD)*XSC_USBMOD)

Must be multiple of user data transfer size or USB won't be happy. This floors XSC_BUFFMS.

Definition at line 44 of file exSID_defs.h.

#define XS_CYCCHR   (XS_SIDCLK/XS_RSBCLK)

SID cycles between two consecutive chars.

Definition at line 42 of file exSID_defs.h.

#define XS_CYCIO   (2*XS_CYCCHR)

minimum cycles between two consecutive I/Os (addr + data)

Definition at line 48 of file exSID_defs.h.

#define XS_LDMULT   501

long delay SID cycle loop multiplier

Definition at line 45 of file exSID_defs.h.

#define XS_LDOFFS   (3*XS_CYCCHR)

long delay loop SID cycles offset

Definition at line 50 of file exSID_defs.h.

#define XS_MAXADJ   7

maximum encodable value for post write clock adjustment: must fit on 3 bits

Definition at line 49 of file exSID_defs.h.

#define XS_MINDEL   (XS_CYCCHR)

Smallest possible delay (with IOCTD1).

Definition at line 47 of file exSID_defs.h.

#define XS_MODEL_PLUS   1

Definition at line 97 of file exSID_defs.h.

Referenced by exSID_audio_op(), exSID_clockselect(), and exSID_hwmodel().

#define XS_MODEL_STD   0

Definition at line 96 of file exSID_defs.h.

Referenced by exSID_hwmodel().

#define XS_RSBCLK   (XS_BDRATE/10)

RS232 byte clock. Each RS232 byte is 10 bits long due to start and stop bits.

Definition at line 41 of file exSID_defs.h.

#define XS_SIDCLK   1000000

1MHz (for computation only, currently hardcoded in firmware)

Definition at line 40 of file exSID_defs.h.

#define XS_USBDSC   "exSID USB"

Definition at line 90 of file exSID_defs.h.

#define XS_USBPID   0x6001

Default FTDI PID.

Definition at line 89 of file exSID_defs.h.

#define XS_USBVID   0x0403

Default FTDI VID.

Definition at line 88 of file exSID_defs.h.

#define XSC_BUFFMS   40

write buffer size in milliseconds of playback (high water mark).

Definition at line 36 of file exSID_defs.h.

#define XSC_USBLAT   1

FTDI latency: 1-255ms in 1ms increments.

Definition at line 35 of file exSID_defs.h.

Referenced by exSID_init().

#define XSC_USBMOD   (4096/64*62)

USB buffer multiple.

Each 64-byte USB packet contains 62 user bytes. 4k buffers (the default) thus contain 3968 data bytes. For optimal throughput performance, data should be sent in chunks that are multiples of this value. See http://www.ftdichip.com/Support/Documents/AppNotes/AN232B-03_D2XXDataThroughput.pdf section 1.4

Definition at line 34 of file exSID_defs.h.

#define xsdbg (   format,
  ... 
)    /* nothing */
#define XSP_AD_IOCTA0   0x5D

Audio Mix: 6581 L / 8580 R.

Definition at line 69 of file exSID_defs.h.

Referenced by exSID_audio_op().

#define XSP_AD_IOCTA1   0x5E

Audio Mix: 8580 L / 6581 R.

Definition at line 70 of file exSID_defs.h.

Referenced by exSID_audio_op().

#define XSP_AD_IOCTA2   0x5F

Audio Mix: 8580 L / 8580 R.

Definition at line 71 of file exSID_defs.h.

Referenced by exSID_audio_op().

#define XSP_AD_IOCTA3   0x7D

Audio Mix: 6581 L / 6581 R.

Definition at line 73 of file exSID_defs.h.

Referenced by exSID_audio_op().

#define XSP_AD_IOCTAM   0x7E

Audio Mute.

Definition at line 74 of file exSID_defs.h.

Referenced by exSID_audio_op().

#define XSP_AD_IOCTAU   0x7F

Audio Unmute.

Definition at line 75 of file exSID_defs.h.

Referenced by exSID_audio_op().

#define XSP_AD_IOCTC1   0x3F

Select 1MHz clock.

Definition at line 67 of file exSID_defs.h.

Referenced by exSID_clockselect().

#define XSP_AD_IOCTCN   0x3E

Select NTSC clock.

Definition at line 66 of file exSID_defs.h.

Referenced by exSID_clockselect().

#define XSP_AD_IOCTCP   0x3D

Select PAL clock.

Definition at line 65 of file exSID_defs.h.

Referenced by exSID_clockselect().

#define XSP_BUFFSZ   ((((XSP_RSBCLK/1000)*XSC_BUFFMS)/XSC_USBMOD)*XSC_USBMOD)

Must be multiple of user data transfer size or USB won't be happy. This floors XSC_BUFFMS.

Definition at line 54 of file exSID_defs.h.

#define XSP_CYCCS   2

cycles lost in chipselect()

Definition at line 61 of file exSID_defs.h.

#define XSP_CYCIO   3

minimum cycles between two consecutive I/Os (addr + data)

Definition at line 56 of file exSID_defs.h.

#define XSP_LDOFFS   3

long delay loop SID cycles offset

Definition at line 60 of file exSID_defs.h.

#define XSP_MAXADJ   4

maximum encodable value for post write clock adjustment: must fit on 3 bits

Definition at line 59 of file exSID_defs.h.

#define XSP_MINDEL   2

Smallest possible delay (with IOCTD1).

Definition at line 55 of file exSID_defs.h.

#define XSP_POSTRD   2

Definition at line 58 of file exSID_defs.h.

#define XSP_PRE_RD   2

Definition at line 57 of file exSID_defs.h.

#define XSP_RSBCLK   666667

maximum byte clock at 32MHz base clock is approx 666.6kHz (1 byte every 1.5us)

Definition at line 53 of file exSID_defs.h.

#define XSP_USBDSC   "exSID+ USB"

Definition at line 94 of file exSID_defs.h.

#define XSP_USBPID   0x6015

Default FTDI PID.

Definition at line 93 of file exSID_defs.h.

#define XSP_USBVID   0x0403

Default FTDI VID.

Definition at line 92 of file exSID_defs.h.