#include "debug.h"
#include <stdlib.h>
#include <string.h>
#include "opencbm.h"
#include "archlib.h"
Go to the source code of this file.
Defines | |
| #define | DBG_USERMODE |
| #define | DBG_PROGNAME "OPENCBM.DLL" |
| #define | DLL |
| mark: We are building the DLL */ | |
Functions | |
| const char *CBMAPIDECL | cbm_get_driver_name (int PortNumber) |
| Get the name of the driver for a specific parallel port. | |
| int CBMAPIDECL | cbm_driver_open (CBM_FILE *HandleDevice, int PortNumber) |
| Opens the driver. | |
| void CBMAPIDECL | cbm_driver_close (CBM_FILE HandleDevice) |
| Closes the driver. | |
| void CBMAPIDECL | cbm_lock (CBM_FILE HandleDevice) |
| Lock the parallel port for the driver. | |
| void CBMAPIDECL | cbm_unlock (CBM_FILE HandleDevice) |
| Unlock the parallel port for the driver. | |
| int CBMAPIDECL | cbm_raw_write (CBM_FILE HandleDevice, const void *Buffer, size_t Count) |
| Write data to the IEC serial bus. | |
| int CBMAPIDECL | cbm_raw_read (CBM_FILE HandleDevice, void *Buffer, size_t Count) |
| Read data from the IEC serial bus. | |
| int CBMAPIDECL | cbm_listen (CBM_FILE HandleDevice, __u_char DeviceAddress, __u_char SecondaryAddress) |
| Send a LISTEN on the IEC serial bus. | |
| int CBMAPIDECL | cbm_talk (CBM_FILE HandleDevice, __u_char DeviceAddress, __u_char SecondaryAddress) |
| Send a TALK on the IEC serial bus. | |
| int CBMAPIDECL | cbm_open (CBM_FILE HandleDevice, __u_char DeviceAddress, __u_char SecondaryAddress, const void *Filename, size_t FilenameLength) |
| Open a file on the IEC serial bus. | |
| int CBMAPIDECL | cbm_close (CBM_FILE HandleDevice, __u_char DeviceAddress, __u_char SecondaryAddress) |
| Close a file on the IEC serial bus. | |
| int CBMAPIDECL | cbm_unlisten (CBM_FILE HandleDevice) |
| Send an UNLISTEN on the IEC serial bus. | |
| int CBMAPIDECL | cbm_untalk (CBM_FILE HandleDevice) |
| Send an UNTALK on the IEC serial bus. | |
| int CBMAPIDECL | cbm_get_eoi (CBM_FILE HandleDevice) |
| Get EOI flag after bus read. | |
| int CBMAPIDECL | cbm_clear_eoi (CBM_FILE HandleDevice) |
| Reset the EOI flag. | |
| int CBMAPIDECL | cbm_reset (CBM_FILE HandleDevice) |
| RESET all devices. | |
| __u_char CBMAPIDECL | cbm_pp_read (CBM_FILE HandleDevice) |
| Read a byte from a XP1541/XP1571 cable. | |
| void CBMAPIDECL | cbm_pp_write (CBM_FILE HandleDevice, __u_char Byte) |
| Write a byte to a XP1541/XP1571 cable. | |
| int CBMAPIDECL | cbm_iec_poll (CBM_FILE HandleDevice) |
| Read status of all bus lines. | |
| void CBMAPIDECL | cbm_iec_set (CBM_FILE HandleDevice, int Line) |
| Activate a line on the IEC serial bus. | |
| void CBMAPIDECL | cbm_iec_release (CBM_FILE HandleDevice, int Line) |
| Deactivate a line on the IEC serial bus. | |
| void CBMAPIDECL | cbm_iec_setrelease (CBM_FILE HandleDevice, int Set, int Release) |
| Activate and deactive a line on the IEC serial bus. | |
| int CBMAPIDECL | cbm_iec_wait (CBM_FILE HandleDevice, int Line, int State) |
| Wait for a line to have a specific state. | |
| int CBMAPIDECL | cbm_iec_get (CBM_FILE HandleDevice, int Line) |
| Get the (logical) state of a line on the IEC serial bus. | |
| int CBMAPIDECL | cbm_device_status (CBM_FILE HandleDevice, __u_char DeviceAddress, void *Buffer, size_t BufferLength) |
| Read the drive status from a floppy. | |
| int CBMAPIDECL | cbm_exec_command (CBM_FILE HandleDevice, __u_char DeviceAddress, const void *Command, size_t Size) |
| Executes a command in the floppy drive. | |
| __u_char CBMAPIDECL | cbm_parallel_burst_read (CBM_FILE HandleDevice) |
| PARBURST: Read from the parallel port. | |
| void CBMAPIDECL | cbm_parallel_burst_write (CBM_FILE HandleDevice, __u_char Value) |
| PARBURST: Write to the parallel port. | |
| int CBMAPIDECL | cbm_parallel_burst_read_track (CBM_FILE HandleDevice, __u_char *Buffer, unsigned int Length) |
| PARBURST: Read a complete track. | |
| int CBMAPIDECL | cbm_parallel_burst_write_track (CBM_FILE HandleDevice, __u_char *Buffer, unsigned int Length) |
| PARBURST: Write a complete track. | |
**************************************************************
Definition in file cbm.c.
|
|
The name of the executable |
|
|
Mark: We are in user-space (for debug.h) |
|
|
Reset the EOI flag. This function resets the EOI ("End of Information") flag which might be still set after reading the IEC serial bus.
Definition at line 517 of file cbm.c. References cbmarch_clear_eoi(), FUNC_ENTER, and FUNC_LEAVE_INT. Referenced by vdd_clear_eoi(). |
|
||||||||||||||||
|
Close a file on the IEC serial bus. This function closes a file on the IEC serial bus.
Definition at line 409 of file cbm.c. References cbmarch_close(), FUNC_ENTER, and FUNC_LEAVE_INT. Referenced by vdd_close(). |
|
||||||||||||||||||||
|
Read the drive status from a floppy. This function reads the drive status of a connected floppy drive.
If an error occurs, this function returns a "99, DRIVER ERROR,00,00\r" and the value 99. If cbm_driver_open() did not succeed, it is illegal to call this function. Definition at line 845 of file cbm.c. References cbm_raw_read(), cbmarch_talk(), cbmarch_untalk(), DBG_ASSERT, FUNC_ENTER, and FUNC_LEAVE_INT. Referenced by vdd_device_status(). |
|
|
Closes the driver. Closes the driver, which has be opened with cbm_driver_open() before.
If cbm_driver_open() did not succeed, it is illegal to call cbm_driver_close(). Definition at line 111 of file cbm.c. References cbmarch_driver_close(), FUNC_ENTER, and FUNC_LEAVE. Referenced by vdd_driver_close(), and vdd_driver_open(). |
|
||||||||||||
|
Opens the driver. This function Opens the driver.
cbm_driver_open() should be balanced with cbm_driver_close(). Definition at line 89 of file cbm.c. References cbmarch_driver_open(), FUNC_ENTER, and FUNC_LEAVE_INT. Referenced by vdd_driver_open(). |
|
||||||||||||||||||||
|
Executes a command in the floppy drive. This function Executes a command in the connected floppy drive.
Definition at line 918 of file cbm.c. References cbmarch_listen(), cbmarch_raw_write(), cbmarch_unlisten(), FUNC_ENTER, and FUNC_LEAVE_INT. Referenced by cbm_identify(), and vdd_exec_command(). |
|
|
Get the name of the driver for a specific parallel port. Get the name of the driver for a specific parallel port.
Definition at line 61 of file cbm.c. References cbmarch_get_driver_name(), FUNC_ENTER, and FUNC_LEAVE_STRING. Referenced by vdd_get_driver_name(). |
|
|
Get EOI flag after bus read. This function gets the EOI ("End of Information") flag after reading the IEC serial bus.
If cbm_driver_open() did not succeed, it is illegal to call this function. Definition at line 494 of file cbm.c. References cbmarch_get_eoi(), FUNC_ENTER, and FUNC_LEAVE_INT. Referenced by vdd_get_eoi(). |
|
||||||||||||
|
Get the (logical) state of a line on the IEC serial bus. This function gets the (logical) state of a line on the IEC serial bus.
Definition at line 798 of file cbm.c. References cbmarch_iec_poll(), FUNC_ENTER, and FUNC_LEAVE_INT. Referenced by cbmarch_iec_wait(), and vdd_iec_get(). |
|
|
Read status of all bus lines. This function reads the state of all lines on the IEC serial bus.
If cbm_driver_open() did not succeed, it is illegal to call this function.
Definition at line 641 of file cbm.c. References cbmarch_iec_poll(), FUNC_ENTER, and FUNC_LEAVE_INT. Referenced by vdd_iec_poll(). |
|
||||||||||||
|
Deactivate a line on the IEC serial bus. This function deactivates (sets to 5V) a line on the IEC serial bus.
Definition at line 696 of file cbm.c. References cbmarch_iec_release(), FUNC_ENTER, and FUNC_LEAVE. Referenced by vdd_iec_release(). |
|
||||||||||||
|
Activate a line on the IEC serial bus. This function activates (sets to 0V) a line on the IEC serial bus.
Definition at line 668 of file cbm.c. References cbmarch_iec_set(), FUNC_ENTER, and FUNC_LEAVE. Referenced by vdd_iec_set(). |
|
||||||||||||||||
|
Activate and deactive a line on the IEC serial bus. This function activates (sets to 0V, L) and deactivates (set to 5V, H) lines on the IEC serial bus.
Definition at line 733 of file cbm.c. References cbmarch_iec_setrelease(), FUNC_ENTER, and FUNC_LEAVE. Referenced by vdd_iec_setrelease(). |
|
||||||||||||||||
|
Wait for a line to have a specific state. This function waits for a line to enter a specific state on the IEC serial bus.
Definition at line 769 of file cbm.c. References cbmarch_iec_wait(), FUNC_ENTER, and FUNC_LEAVE_INT. Referenced by vdd_iec_wait(). |
|
||||||||||||||||
|
Send a LISTEN on the IEC serial bus. This function sends a LISTEN on the IEC serial bus. This prepares a LISTENer, so that it will wait for our bytes we will write in the future.
Definition at line 284 of file cbm.c. References cbmarch_listen(), FUNC_ENTER, and FUNC_LEAVE_INT. Referenced by vdd_listen(). |
|
|
Lock the parallel port for the driver. This function locks the driver onto the parallel port. This way, no other program or driver can allocate the parallel port and interfere with the communication.
Definition at line 145 of file cbm.c. Referenced by cbm_execute_devicecontrol(). |
|
||||||||||||||||||||||||
|
Open a file on the IEC serial bus. This function opens a file on the IEC serial bus.
Definition at line 351 of file cbm.c. References cbm_raw_write(), cbm_unlisten(), cbmarch_open(), DBG_PREFIX, DBG_WARN, FUNC_ENTER, and FUNC_LEAVE_INT. Referenced by vdd_open(). |
|
|
PARBURST: Read from the parallel port. This function is a helper function for parallel burst: It reads from the parallel port.
Definition at line 952 of file cbm.c. References cbmarch_parallel_burst_read(), FUNC_ENTER, and FUNC_LEAVE_UCHAR. |
|
||||||||||||||||
|
PARBURST: Read a complete track. This function is a helper function for parallel burst: It reads a complete track from the disk
Definition at line 1006 of file cbm.c. References cbmarch_parallel_burst_read_track(), FUNC_ENTER, and FUNC_LEAVE_INT. |
|
||||||||||||
|
PARBURST: Write to the parallel port. This function is a helper function for parallel burst: It writes to the parallel port.
Definition at line 975 of file cbm.c. References cbmarch_parallel_burst_write(), FUNC_ENTER, and FUNC_LEAVE. |
|
||||||||||||||||
|
PARBURST: Write a complete track. This function is a helper function for parallel burst: It writes a complete track to the disk
Definition at line 1035 of file cbm.c. References cbmarch_parallel_burst_write_track(), FUNC_ENTER, and FUNC_LEAVE_INT. |
|
|
Read a byte from a XP1541/XP1571 cable. This function reads a single byte from the parallel portion of an XP1541/1571 cable.
If cbm_driver_open() did not succeed, it is illegal to call this function.
Definition at line 579 of file cbm.c. References cbmarch_pp_read(), FUNC_ENTER, and FUNC_LEAVE_UCHAR. Referenced by cbm_identify_xp1541(), and vdd_pp_read(). |
|
||||||||||||
|
Write a byte to a XP1541/XP1571 cable. This function writes a single byte to the parallel portion of a XP1541/1571 cable.
If cbm_driver_open() did not succeed, it is illegal to call this function.
Definition at line 610 of file cbm.c. References cbmarch_pp_write(), FUNC_ENTER, and FUNC_LEAVE. Referenced by vdd_pp_write(). |
|
||||||||||||||||
|
Read data from the IEC serial bus. This function retrieves data after a cbm_talk().
If cbm_driver_open() did not succeed, it is illegal to call this function. Definition at line 245 of file cbm.c. References cbmarch_raw_read(), FUNC_ENTER, and FUNC_LEAVE_INT. Referenced by cbm_device_status(), and vdd_raw_read(). |
|
||||||||||||||||
|
Write data to the IEC serial bus. This function sends data after a cbm_listen().
If cbm_driver_open() did not succeed, it is illegal to call this function. Definition at line 209 of file cbm.c. References cbmarch_raw_write(), FUNC_ENTER, and FUNC_LEAVE_INT. Referenced by cbm_open(), and vdd_raw_write(). |
|
|
RESET all devices. This function performs a hardware RESET of all devices on the IEC serial bus.
Control is returned after a delay which ensures that all devices are ready again. If cbm_driver_open() did not succeed, it is illegal to call this function. Definition at line 546 of file cbm.c. References cbmarch_reset(), FUNC_ENTER, and FUNC_LEAVE_INT. Referenced by vdd_reset(). |
|
||||||||||||||||
|
Send a TALK on the IEC serial bus. This function sends a TALK on the IEC serial bus. This prepares a TALKer, so that it will prepare to send us some bytes in the future.
Definition at line 315 of file cbm.c. References cbmarch_talk(), FUNC_ENTER, and FUNC_LEAVE_INT. Referenced by vdd_talk(). |
|
|
Send an UNLISTEN on the IEC serial bus. This function sends an UNLISTEN on the IEC serial bus. Other than LISTEN and TALK, an UNLISTEN is not directed to just one device, but to all devices on that IEC serial bus.
If cbm_driver_open() did not succeed, it is illegal to call this function. Definition at line 437 of file cbm.c. References cbmarch_unlisten(), FUNC_ENTER, and FUNC_LEAVE_INT. Referenced by cbm_open(), and vdd_unlisten(). |
|
|
Unlock the parallel port for the driver. This function unlocks the driver from the parallel port. This way, other programs and drivers can allocate the parallel port and do their own communication with whatever device they use.
Definition at line 172 of file cbm.c. Referenced by cbm_execute_devicecontrol(). |
|
|
Send an UNTALK on the IEC serial bus. This function sends an UNTALK on the IEC serial bus. Other than LISTEN and TALK, an UNTALK is not directed to just one device, but to all devices on that IEC serial bus.
If cbm_driver_open() did not succeed, it is illegal to call this function. Definition at line 465 of file cbm.c. References cbmarch_untalk(), FUNC_ENTER, and FUNC_LEAVE_INT. Referenced by vdd_untalk(). |
1.4.2