Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
boards:ecb:cassette_intf:start [2019/12/11 20:29] – Revision from 2019-12-11 boards:ecb:cassette_intf:start [2026/06/15 12:19] (current) – external edit 127.0.0.1
Line 1: Line 1:
 /* Imported from Wayback Machine /* Imported from Wayback Machine
    Original URL : https://retrobrewcomputers.org/doku.php?id=boards:ecb:cassette_intf:start    Original URL : https://retrobrewcomputers.org/doku.php?id=boards:ecb:cassette_intf:start
-   Snapshot date: 2019-12-11+   Snapshot date: 2026-03-16
    Generator    : wayback-archiver    Generator    : wayback-archiver
 */ */
Line 17: Line 17:
 ROMWBW CP/M BIOS support. ROMWBW CP/M BIOS support.
  
-16550 UART may be used as a serial port.+16550 UART may be used as a serial port with RS232 level voltages.
  
 Kansas City Standard audio encoding. Kansas City Standard audio encoding.
 +
 +===== Acknowledgments =====
 +
 +The ECB-Cassette was [[n8vem-gg-archive:html-2010:Apr:msg00044|developed]] by Nik Brisevac and is based on a design published in August 1976 of Microtrek Magazine by Don Kinzer.
  
 {{[[lib:plugins:ckgedit:fckeditor:userfiles:image:boards:ecb:cassette_intf:photos:cassette001a.jpg]] {{[[lib:plugins:ckgedit:fckeditor:userfiles:image:boards:ecb:cassette_intf:photos:cassette001a.jpg]]
  
-===== Acknowledgments =====+====== Hardware Documentation ======
  
-The ECB-Cassette was developed by Nik Brisevac and is based on a design published in August 1976 of Microtrek Magazine by Don Kinzer.+^Connector^Description                       ^Serial Mode                        ^Cassette Mode                    ^ 
 +|SW1      |TX-RX Loopback                    |Off (Up)                           |Off (Up)                         | 
 +|SW2      |RTS-CTS Connect                   |Connect On (Up), Connect Off (Down)|N/                             | 
 +|JP1      |AUX - High level cassette output  |N/A                                |to cassette                      | 
 +|JP2      |MIKE - Low level cassette output|N/A                                |to cassette                      | 
 +|JP3      |CASSETTE MONITOR OUT              |N/A                                |from cassette                    | 
 +|K1       |Select DSR or CTS flow control    |1-2 DSR, 2-3 CTS                   |N/                             | 
 +|K2       |Select DTR or RTS flow control    |1-2 DTR, 2-3 RTS                   |N/                             | 
 +|K3       |Select CTS or DRS flow control    |1-2 CTS, 2-3 DSR                   |NA                               | 
 +|K4       |Select RTS or DTR flow control    |1-2 RTS, 2-3 DTR                   |NA                               | 
 +|K5       |LEGACY/N8VEM OR KONTRON reset mode|1-2 KONTRON 2-3 LEGACY/N8VEM       |1-2 KONTRON 2-3 LEGACY/N8VEM     | 
 +|P1       |Port Address Select               |80h= 1-2 OFF, 3-4:5-6:7-8:9-10 ON  |80h= 1-2 OFF, 3-4:5-6:7-8:9-10 ON| 
 +|P3       |Serial header connector           |YES                                |NO                               | 
 +|P5       |Baud rate clock mode selector     |1-2                                |2-4, 1-3                         | 
 +|LED D4   |Receive data indicator            |                                                                   | 
 +|LED D1   |Transmit data indicator                                                                             |
  
-===== Hardware Documentation =====+\\
  
-The ECB-Cassette card incorporates an RS-232 serial port that is connected to the communication circuit of the cassette interface. The RomWBW system will automatically discover the card when it is configured at port 0x80 and CP / M will automatically map it to the RDR / PUN device. The system appears as a punch card machine with which it sends and receives ASCII characters. CP/M console redirection is used to send and receive files. Due to this limitation you can not save a binary file without first converting it to HEX.+===== Cassette Mode =====
  
-When you connect this interface to the system it should be discovered as another UART. By default RomWBW sets it to 300,8,N,1 but it can also use the MODE command to set other baud rates for the cassette interface. ECB Cassette supports 300 and 600 baud but other rates can be set and used when the card is being used for serial communication.+The ECB-Cassette card incorporates an RS-232 serial port that is connected to a cassette interface circuit . The RomWBW system will automatically discover the card when it is configured at the default port 0x80 and CP/M will automatically map it to one of the CP/M IObyte devices. By default RomWBW sets it to 300,8,N,1 but the MODE utility can also be used to set other baud rates for the cassette interface. ECB Cassette supports 300 and 600 baud but other rates can be set and used when the card is being used for serial communication.
  
-Example boot output of ECB-Cassette discovery.+Example boot output of ECB-Cassette discovery:
  
 <code code> <code code>
Line 44: Line 63:
 </code> </code>
  
-The MONITOR input (JP3) must be connected to the headphone output or LINE OUT of the cassette recorderthe MIKE output to the microphone or the AUX output to the LINE IN connection of the recorder.+CP/M console redirection is used to save and load files using the CP/M RDR: & PUN: device. The system appears as a punch card machine with which it sends and receives ASCII characters. As console redirection interprets some characters as special commandsbinary files cannot be saved or loaded with this method. To overcome this limitation files must be converting to and from HEX format.
  
-The switches on the board are not necessary to use the cassettethey are only used as a loop back on the RS-232 port to run tests.+Depending on what character devices are connected to your system, the ECB-Cassette may be assigned to different IObyte devices. IObyte redirection status can be seen using the STAT command. The following example shows that the RDR: and PUN: devices are assigned to the PRT: and PTP: device respectively.
  
-The jumper P5 must be connected on 1-3 and 2-4 for the operation with the cassette.+<code code> 
 +B>stat dev: 
 +CON: is TTY: 
 +RDR: is PTR: 
 +PUN: is PTP: 
 +LST: is LPT: 
 +</code>
  
-Current VersionRev 1a+The available devices that can selected can also be seen using the STAT command:
  
-Board[[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:ecb-cassette-interface-001a-brd.pdf|:boards:ecb:cassette_intf:ecb-cassette-interface-001a-brd.pdf]]+<code code> 
 +B>stat val: 
 +Temp R/B>stat val: 
 +Temp R/O Disk: d:=R/
 +Set Indicator: d:filename.typ $R/O $R/W $SYS $DIR 
 +Disk Status  : DSK: d:DSK: 
 +User Status  : USR: 
 +Iobyte Assign: 
 +CON: TTYCRTBATUC1: 
 +RDR= TTYPTRUR1: UR2: 
 +PUN: = TTY: PTP: UP1: UP2: 
 +LST: = TTY: CRT: LPT: UL1: 
 +</code>
  
-Schematic: [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:ecb-cassette-interface-001a-sch.pdf|ecb-cassette-interface-001a-sch.pdf]]+For your system you will need to determine which IObyte device has been assigned to the Cassette InterfaceThen you can reassign the RDRand PUNdevice to them.
  
-Gerbers[[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:ecb-cassette-interface-001a-gerbers.zip|:boards:ecb:cassette_intf:ecb-cassette-interface-001a-gerbers.zip]]+Example of reassigning RDRto UR1and PUNto UP1:
  
-Kicad[[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:ecb-cassette-interface-001a-kicad.zip|:boards:ecb:cassette_intf:ecb-cassette-interface-001a-kicad.zip]]+<code code> 
 +B>stat rdr:=ur1: 
 +B>stat pun:=up1: 
 +B>stat dev: 
 +CONis TTY: 
 +RDRis UR1: 
 +PUNis UP1: 
 +LST: is LPT: 
 +</code>
  
-Note: The pdf, gerber and Kicad board files represent the most current design which includes a jumper for the Kontron\N8VEM reset configurationThe previous version on the wiki included a pdf schematic v 001 what represents a previous design. Now all files v 001a are corrected to include this.+To change the baud rate to 300 or 600 baud use the MODE command i.e.
  
-===== Build Information =====+<code code> 
 +B>mode com1:600,n,8,1
  
-==== Additional Circuit Documentation ====+   COM1: 600,N,8,1 
 +</code>
  
-[[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:microtek_cassette_interface_portrait.pdf|Microtrek Magazine Article on Simple Cassette Interface.]]+<code code> 
 +B>mode com1:300,n,8,1
  
-[[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:byte_serial_interface_tvt.pdf|Byte Magazine article by Don Lancaster featuring Serial Interface designs.]]+   COM1300,N,8,1 
 +</code>
  
-[[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:img.pdf|Example circuit for cassette motor control.]]+===== Board configuration =====
  
-==== BOM ====+If switch SW1 is installed then it should be set so TX-RX loopback is off, switch should be in the down position. SW1 & SW2 do not need to be installed for cassette or serial operation.
  
-[[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:cassette_bom_001a.xls|ECB Cassette Bill of Materials]]+Set the reset configuration to match the rest of your systemTypically new systems use Kontron so K5 should be jumpered 1-2This setting must match all the other boards in your system.
  
-==== Usage Notes ====+Set the port address of the board to 80h, jumper P1 3-4:5-6:7-8:9-10. 
 + 
 +Set the baudout-rclk selector mode jumpers P5 so 1-3 and 2-4 are jumpered. 
 + 
 +Set C2 and R11 to match the desired baud rate: 
 + 
 +300 baud C2=0.01uF, R11=10K 
 + 
 +600 baud C2 =0.005uF, R11=5.1K 
 + 
 +Note that the naming convention of the connectors can be a bit confusing. 
 + 
 +JP1 & JP2 are outputs from the board and an input on the cassette recorder. One of these lines is used for saving to tape. 
 + 
 +JP3 is an input to the board from the cassette player and is used for loading from tape. 
 + 
 +//Connect the saving/recording line:// 
 + 
 +If your cassette has a //line in// socket then normally you would connect JP1 (AUX) to the //line in// socket. If your cassette has //a microphone input// socket, typically you would connect JP2 (MIKE) to this socket. Either way, only JP1 or JP2 should be connected to your cassette recorder input. 
 + 
 +If your cassette recorder only has a microphone input and you are finding that the recorded volume is too low or you have to turn up the cassette volume very high, then you may have to connect JP1 (AUX) which has the higher signal output to the microphone input. 
 + 
 +//Connect the loading/playing line:// 
 + 
 +Connect the Earphone line to the to JP3. 
 + 
 +{{[[lib:plugins:ckgedit:fckeditor:userfiles:image:boards:ecb:cassette_intf:cass-diag.png]] 
 + 
 +====== Saving and Loading files ====== 
 + 
 +Due to the lack of specific software for the ECB Cassette to load and save files, CP/M redirection facilities are used. This requires all files to be converted to a text format and in our case the HEX file format is used. The UNLOAD.COM program is used to save a text HEX version of a file. To convert the HEX format file back to binary, the LOAD.COM program is used. This utility can be downloaded below in the files list (CASSUTIL.ZIP).. There are no hardware limitations in regard to saving and loading binary data. The limitation is due to the lack of software that directly communicates with the ECB-Cassette UART. 
 + 
 +//Saving// 
 + 
 +''%%Convert the file to be saved to HEX with UNLOAD.COM%%''\\ 
 +''%%example: UNLOAD TEST.COM <RETURN>%%''\\ 
 +''%%—–> creates TEST.HEX%%''
  
-''%%File transfer;%%''\\ 
-''%%To use CP/M PUN: & RDR:%%''\\ 
-''%%convert COM files to HEX with UNLOAD.%%''\\ 
-''%%example: UNLOAD TEST.COM <CARRIAGE RETURN>%%''\\ 
-''%%—–> creates TEST.HEX%%''\\ 
-''%%convert HEX back to COM file use LOAD.%%''\\ 
-''%%example: LOAD TEST.HEX <CARRIAGE RETURN>%%''\\ 
-''%%—–> creates TEST.COM%%''\\ 
 \\ \\
-''%%Playback sequence:%%''\\ +''%%1. If you have a load/save switch installed, toggle switch to SAVE.%%''\\ 
-''%%1.key PIP command ie. PIP TEST.HEX=RDR:[E] <CARRIAGE RETURN>%%''\\ +''%%2. Press Record on the cassette recorder.%%''\\ 
-''%%2.press play%%''\\ +''%%3. Key PIP command ie. PIP PUN:=TEST.HEX[E] <RETURN>.%%'' 
-''%%3.Toggle play switch ON%%''\\+ 
 +//Loading// 
 + 
 +''%%1. Key PIP command ie. PIP TEST.HEX=RDR:[E] <RETURN>.%%''\\ 
 +''%%2. Press Play on the cassette player.%%''\\ 
 +''%%3. If you have a load/save switch installed, toggle switch to LOAD.%%''\\
 \\ \\
-''%%Record sequence:%%''\\ +''%%Convert a HEX file back to its original format, use LOAD.%%''\\ 
-''%%1Toggle Record switch ON%%''\\ +''%%example: LOAD TEST.HEX <RETURN>%%''\\ 
-''%%2Press Record on cassette player%%''\\ +''%%—–> creates TEST.COM%%'' 
-''%%3Key PIP command iePIP PUN:=TEST.HEX[E] <CARRIAGE RETURN>%%''\\+ 
 +''%%Rename the file from .COM if required.%%'' 
 \\ \\
-''%%Storing large files;%%''\\ +''%%Handling large files.%%''\\ 
-''%%files over 25K split into smaller files with notepad.%%''\\ +\\ 
-''%%for retrieval, concatenate files with PIP.%%''\\ +''%%Due to LOAD and UNLOAD being limited to files that fit into memory, files over ~25K must be split into smaller files.%%''\\ 
-''%%example: PIP WHOLEFILE.HEX=1STFILE.HEX[ I ],2NDFILE.HEX%%''\\+''%%For retrieval, concatenate files with PIP.%%''\\ 
 +''%%example: PIP WHOLEFILE.HEX=1STFILE.HEX[ I ],2NDFILE.HEX%%'' 
 + 
 +\\ 
 +''%%Reference to general CP/M usage:%%'' 
 \\ \\
-''%%Link to reference for above commands:%%''\\ 
 [[http://www.cpm.z80.de/randyfiles/DRI/Intro_to_CPM_Feat_and_Facilities.pdf|''%%http://www.cpm.z80.de/randyfiles/DRI/Intro_to_CPM_Feat_and_Facilities.pdf%%'']] [[http://www.cpm.z80.de/randyfiles/DRI/Intro_to_CPM_Feat_and_Facilities.pdf|''%%http://www.cpm.z80.de/randyfiles/DRI/Intro_to_CPM_Feat_and_Facilities.pdf%%'']]
  
-==== Video Demonstrations ====+====== Serial Mode ====== 
 + 
 +The ECB-Cassette card can be configured to operate as a serial card. The default setting for the card is for 300 baud operation and the MODE command should be used to change the baud rate to a suitable speed. 
 + 
 +Using MODE without any parameters will list the current com: port assignment settings: 
 + 
 +<code code> 
 +B>mode 
 +   COM0: 38400,N,8,
 +   COM1: 300,N,8,1 
 +</code> 
 + 
 +To change COM1: to 9600 baud use: 
 + 
 +<code code> 
 +B>mode com1:9600,n,8,
 + 
 +   COM1: 9600,N,8,
 +</code> 
 + 
 +//Hardware settings// 
 + 
 +K1, K2, K3 and K4 configure the flow control signals. 
 + 
 +K3 & K4 select which signals are used from the the serial header P3. 
 + 
 +K3 & K4 jumpers are designed to select either of two configurations - DSR & DTR signals are used or RTS & CTS signals are used for flow control. 
 + 
 +K1 & K2 select which of the chosen DSR/DTR or RTS/CTS from K3/K4 get routed to which UART DSR, CTS, DTR and RTS pins. 
 + 
 +Typical setting are for RTS/CTS flow control 
 + 
 +Jumper K1 2-3 
 + 
 +Jumper K2 2-3 
 + 
 +Jumper K3 1-2 
 + 
 +Jumper K4 1-2 
 + 
 +If SW1 is installed then it can be used to override flow control settings by connecting RTS and CTS. Usually it is unused and should be set to the unconnected setting i.e. switch down. 
 + 
 +Set the reset configuration to match the rest of your system. Typically new systems use Kontron so K5 should be jumpered 1-2. This setting must match all the other boards in your system. 
 + 
 +Set the port address of the board to 80h, jumper P1 3-4:5-6:7-8:9-10. 
 + 
 +If another port setting is required then a custom build of ROMWBW is requires. Update the uart.asm source as shown below 
 + 
 +<code code> 
 +#IF (UARTCAS) 
 +        ; CASSETTE INTERFACE SERIAL PORT 
 +        .DB 0              ; DEVICE NUMBER (UPDATED DURING INIT) 
 +        .DB 0              ; UART TYPE 
 +        .DB $80            ; IO PORT BASE (RBR, THR)                <<<Change port here 
 +        .DB $80 + UART_LSR ; LINE STATUS PORT (LSR)                 <<<and here 
 +        .DW UARTCASSPD     ; LINE CONFIGURATION 
 +        .FILL 2,$FF        ; FILLER 
 +#ENDIF 
 +</code> 
 + 
 +The default cassette or serial speed can also be changed by adding the following change to your customer configuration file. Other speed options are listed in the std.asm file but generally take the form SER_XXX_8N1. 
 + 
 +<code code> 
 +UARTCASSPD    .SET    SER_300_8N1    ; UART: ECB CASSETTE UART DEFAULT SPEED 
 +</code> 
 + 
 +\\ 
 +Set the baud rate selector mode jumpers P5 to 1-2. This reconfigures the UART transmit and receive clock to use the crystal derived source. 
 + 
 +====== Board manufacturing and design files ====== 
 + 
 +Current Version: Rev 1a - includes a jumper for the Kontron\N8VEM reset configuration. 
 + 
 +Board: [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:ecb-cassette-interface-001a-brd.pdf|:boards:ecb:cassette_intf:ecb-cassette-interface-001a-brd.pdf]] 
 + 
 +Schematic: [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:ecb-cassette-interface-001a-sch.pdf|ecb-cassette-interface-001a-sch.pdf]] 
 + 
 +Gerbers: [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:ecb-cassette-interface-001a-gerbers.zip|:boards:ecb:cassette_intf:ecb-cassette-interface-001a-gerbers.zip]] 
 + 
 +Kicad: [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:ecb-cassette-interface-001a-kicad.zip|:boards:ecb:cassette_intf:ecb-cassette-interface-001a-kicad.zip]] 
 + 
 +[[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:cassette_bom_001a.xls|ECB Cassette Bill of Materials]] 
 + 
 +====== Errata and modifications ====== 
 + 
 +//Chip select correction// 
 + 
 +The M1 signal is currently not used to qualify the UART chip select. This is not currently know to cause any issues with this board but may be implemented on future designs. 
 + 
 +Pin lift method - no modification to PCB 
 + 
 +Remove IC2 74LS682 from its socket. Lift pin 17 and 18 and reinstall in the socket. 
 + 
 +Connect lifted pin 18 to pin 20 on IC2 the 74LS682 chip. 
 + 
 +Connect pin 7 U4 to lifted pin 17 on the 74LS682 chip. 
 + 
 +//Cassette cable sockets// 
 + 
 +JP1, JP2, JP3 headers can be inconvenient for connecting to a cassette recorder. A variety of 3.5mm sockets are available and can be attached to the spare area of the pcb to make connection and disconnection quick and easy. An example of this approach is shown below: 
 + 
 +PCB is drilled for contacts to penetrate to the solder side. 
 + 
 +Remove locating lugs from socket. 
 + 
 +Sockets are attached to PCB with glue. 
 + 
 +Sockets are connected by running wires to the jumpers on the solder side of the PCB. 
 + 
 +[[https://www.retrobrewcomputers.org/lib/exe/fetch.php?tok=801137&media=https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/boards/ecb/cassette_intf/casspic1.jpg|{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/boards/ecb/cassette_intf/casspic1.jpg?640x326|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_boards_ecb_cassette_intf_casspic1.jpg}}]] 
 + 
 +//Relay driver for cassette start and stop// 
 + 
 +Some cassette players support a remote start and stop controller. The following is a circuit suggestion for implementing a relay driven remote controller to suit these units. A spare user output OUT1 on the 16550 UART is used for this purpose. The output of this pin can be driven by software control using the UART Modem Control Register bit 2. 
 + 
 +{{[[lib:plugins:ckgedit:fckeditor:userfiles:image:boards:ecb:cassette_intf:caspic2.png]] 
 + 
 +//Save/Load selection switch// 
 + 
 +A front panel switch can be installed to select between save and load by connecting a DPDT switch to P5. 
 + 
 +{{[[lib:plugins:ckgedit:fckeditor:userfiles:image:boards:ecb:cassette_intf:caspic3.png]] 
 + 
 +//Interchangeable components for speed selection// 
 + 
 +In order to have the capability of selecting different baud rates, provision needs to be made for making R11 and C2 interchangeable. The method demonstrated by the designer is to use machine pin sockets, with the components soldered in position. 
 + 
 +For R11 use two four pin sockets. Removed or cut short the center two pins on the socket to be soldered into the PCB. 
 + 
 +For C2 use two 3 pin sockets. Removed or cut short the center pin on the socket to be soldered into the PCB. 
 + 
 +Solder the resister and capacitor to the “header” socket. 
 + 
 +Splay out the pins on the header sockets slightly for a firm fit when plugged in. 
 + 
 +{{[[lib:plugins:ckgedit:fckeditor:userfiles:image:boards:ecb:cassette_intf:casspic3.jpg]] 
 + 
 +====== Additional Circuit Documentation ====== 
 + 
 +[[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:microtek_cassette_interface_portrait.pdf|Microtrek Magazine Article on Simple Cassette Interface.]] 
 + 
 +[[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:byte_serial_interface_tvt.pdf|Byte Magazine article by Don Lancaster featuring Serial Interface designs]] 
 + 
 +[[n8vem-gg-archive:html-2010:May:msg00203|Design changes suggested during developement.]] 
 + 
 +====== Troubleshooting ====== 
 + 
 +It is helpful to be able to output a stream of characters to the ECB-Cassette for testing. The CSTSO utility from the CASSUTIL archive can be used: 
 + 
 +<code code> 
 +B>h:cstso 
 +USAGE: CSTSO x y.z 
 + 
 +x = ROMWBW unit number (0-9) 
 +y = Character to output 
 +    * used if none given 
 +z = Add control character Z 
 + 
 +Example: 
 + 
 +CSTSO 0 #.Z 
 + 
 +Will output a stream of #'s to ROMWBW character device 0, appended with a Ctrl-Z character. 
 +</code> 
 + 
 +For example, the following shows a string of characters output the the console device CIO 0. 
 + 
 +<code code> 
 +B>h:cstso 0 #.Z 
 +###################################################################################### 
 + 
 +###################################################################################### 
 + 
 +###################################################################################### 
 + 
 +###################################################################################### 
 + 
 +###################################################################################### 
 + 
 +###################################################################################### 
 +</code> 
 + 
 +Change the unit number to match that of your ECB-Cassette board. This information is listed at boot. i.e. UART1: is the ECB-Cassette and assigned as CIO 2. So //cstso 2 #.Z// would be used to output to the cassette. The z parameter allows a control character to be appended at the end, typically Ctrl-Z, which is useful to exit redirected input to the console. Press a key at any time to exit the program. 
 + 
 +<code code> 
 +Unit        Device      Type              Capacity/Mode 
 +----------  ----------  ----------------  -------------------- 
 +Char 0      UF0:        RS-232            9600,8,N,
 +Char 1      UART0:      RS-232            38400,8,N,
 +Char 2      UART1:      RS-232            600,8,N,1 
 +</code> 
 + 
 +— 
 + 
 +Initial recording and playback testing can be done by connecting the ECB-Cassette board to a computer's earphone and microphone socket and using standard PC applications to play and record sound. This will help eliminate sound quality issues coming from the cassette i.e. speed variation, tape quality or record issues. Also, it is easier to identify correct playback volume through a computer that can be repeated accurately. 
 + 
 +Correct tape input operation can be confirmed by connecting a TTL serial to usb converter to the data output circuit. 
 + 
 +Connect pin 9 of U1 to RXD of the USB- TTL converter 
 + 
 +Connect ground from board to GND on USB-TTL converter. 
 + 
 +Set correct baud rate and flow control off in a terminal program and monitor. 
 + 
 +Faulty voltage conversion operation can be confirmed by bypassing Q5 and U6 the Max232. 
 + 
 +Remove U6 
 + 
 +Connect pin 9 of U1 to Pin 10 (SIN) of U5 UART. 
 + 
 +This connects the TTL level output to the TTL level input if the UART. 
 + 
 +====== Video Demonstrations ======
  
 Below are two videos demonstrating operation of the Cassette Interface: Below are two videos demonstrating operation of the Cassette Interface:
Line 113: Line 413:
 [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:600_baud.mov|600_baud.mov]] - 600 baud. [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:600_baud.mov|600_baud.mov]] - 600 baud.
  
-==== Software ====+===== Software =====
  
 [[boards:ecb:cassette_intf:start|{{boards:ecb:cassette_intf:photos:uart_scream_test.jpg?200|uart_scream_test.jpg}}]] [[boards:ecb:cassette_intf:start|{{boards:ecb:cassette_intf:photos:uart_scream_test.jpg?200|uart_scream_test.jpg}}]]
Line 136: Line 436:
  
 \\ \\
- 
-===== Build Information ===== 
  
 ===== File List ===== ===== File List =====
Line 151: Line 449:
 324.1 KiB 324.1 KiB
 2019/06/10 00:11 2019/06/10 00:11
 +[[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:caspic2.png|caspic2.png]]
 +234.0 KiB
 +2020/01/25 07:28
 +[[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:caspic3.png|caspic3.png]]
 +140.0 KiB
 +2020/01/25 09:08
 +[[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:cass-diag.png|cass-diag.png]]
 +58.2 KiB
 +2020/01/26 00:54
 [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:cassette.lst|cassette.lst]] [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:cassette.lst|cassette.lst]]
 2.3 KiB 2.3 KiB
Line 160: Line 467:
 221.1 KiB 221.1 KiB
 2019/06/04 01:54 2019/06/04 01:54
-[[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:cassette001a_labelled_big.jpg|cassette001a_labelled_big.jpg]] 
-221.1 KiB 
-2019/06/03 18:20 
-[[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:cassette001a_labelled_big_copia_.jpg|cassette001a_labelled_big_copia_.jpg]] 
-221.1 KiB 
-2019/06/03 18:22 
 [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:cassette_bom_001a.xls|cassette_bom_001a.xls]] [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:cassette_bom_001a.xls|cassette_bom_001a.xls]]
 9.5 KiB 9.5 KiB
 2019/06/02 12:18 2019/06/02 12:18
-[[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:cassette_jsolis.jpg|cassette_jsolis.jpg]] +[[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:casspic1.jpg|casspic1.jpg]] 
-1.1 MiB +763.5 KiB 
-2019/05/31 17:13+2020/01/25 05:43 
 +[[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:casspic3.jpg|casspic3.jpg]] 
 +99.1 KiB 
 +2020/01/25 21:12 
 +[[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:cassutil.zip|cassutil.zip]] 
 +3.7 KiB 
 +2020/01/31 06:33
 [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:ecb-cassette-interface-001-brd.pdf|ecb-cassette-interface-001-brd.pdf]] [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:ecb-cassette-interface-001-brd.pdf|ecb-cassette-interface-001-brd.pdf]]
 728.8 KiB 728.8 KiB
Line 193: Line 500:
 178.7 KiB 178.7 KiB
 2019/06/02 12:16 2019/06/02 12:16
-[[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:img.pdf|img.pdf]] 
-845.0 KiB 
-2016/07/06 14:49 
 [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:kcs_300_baud.mov|kcs_300_baud.mov]] [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:kcs_300_baud.mov|kcs_300_baud.mov]]
 7.9 MiB 7.9 MiB
Line 201: Line 505:
 [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:loader.com|loader.com]] [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:loader.com|loader.com]]
 11.8 KiB 11.8 KiB
-2016/07/06 14:49 
-[[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:microtek_cassette_interface.pdf|microtek_cassette_interface.pdf]] 
-2.9 MiB 
 2016/07/06 14:49 2016/07/06 14:49
 [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:microtek_cassette_interface_portrait.pdf|microtek_cassette_interface_portrait.pdf]] [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:ecb:cassette_intf:microtek_cassette_interface_portrait.pdf|microtek_cassette_interface_portrait.pdf]]
boards/ecb/cassette_intf/start.1576096149.txt.gz · Last modified: (external edit)
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0