Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
boards:ecb:cassette_intf:start [2016/07/06 21:32]
admin [Build Information]
boards:ecb:cassette_intf:start [2020/01/31 07:01]
b1ackmai1er [Serial Mode]
Line 1: Line 1:
-====== ECB Cassette Interface ====== 
-{{:boards:ecb:cassette_intf:photos:100_1632.jpg?nolink&640|}} 
  
-===== Introduction ===== +===== ECB Cassette Interface =====
-The ECB Cassette Interface is a board used to load and store data on cassette tapes.  Vintage computers commonly use cassette tape for program and data storage.  The ECB Cassette Interface board uses the Kansas City Standard for encoding data.  Original Cassette Interface design adapted to ECB format by Nik Brisevac.+
  
-===== Hardware Documentation ===== +The ECB Cassette Interface is a board used to load and store data on cassette tapes. Vintage computers commonly use cassette tape for program and data storage. The ECB Cassette Interface board uses the Kansas City Standard for encoding data.
-Current Version:  Rev 1+
  
-Board:  {{:boards:ecb:cassette_intf:ecb-cassette-interface-001-brd.pdf|}} 
  
-Schematic: {{:boards:ecb:cassette_intf:ecb-cassette-interface-001-sch.pdf|}}+===== Features =====
  
-Manufacturing Files: FIXME Files not present on old wiki FIXME+  * 300 & 600 baud operation through standard 16550 UART. 
 +  * Hardware encode and decode operation. 
 +  * ROMWBW CP/M BIOS support. 
 +  * 16550 UART may be used as a serial port with RS232 level voltages. 
 +  * Kansas City Standard audio encoding.
  
-KiCAD Files: {{:boards:ecb:cassette_intf:ecb-cassette-interface-001-kicad.zip|}}+===== Acknowledgments =====
  
-<note important>These KiCAD files have a last-edited date of 2013 vs 2010 for the schematic/board layout .pdfs, and these boards have not been manufactured in some time A schematic/layout review and post in the RBC forums to collect any feedback is recommended prior to any new fabrication.</note>+The ECB-Cassette was [[https://www.retrobrewcomputers.org/n8vem-gg-archive/html-2010/Apr/msg00044.html|developed ]]by Nik Brisevac and is based on a design published in August 1976 of Microtrek Magazine by Don Kinzer.
  
-===== Build Information ===== +{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/boards/ecb/cassette_intf/photos/cassette001a.jpg?nolink&640x361|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_boards_ecb_cassette_intf_photos_cassette001a.jpg}}
-==== Additional Circuit Documentation ==== +
-{{:boards:ecb:cassette_intf:microtek_cassette_interface.pdf|Microtek Magazine Article on Simple Cassette Interface}}+
  
-{{:boards:ecb:cassette_intf:img.pdf|Initial hand-drawn circuit diagram}} 
  
-==== BOM ==== +====== Hardware Documentation ======
-{{:boards:ecb:cassette_intf:cassette.lst|KiCAD eeschema Parts List}}+
  
-==== Usage Instructions ====+^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/A| 
 +|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/A| 
 +|K2|Select DTR or RTS flow control|1-2 DTR, 2-3 RTS|N/A| 
 +|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|80h1-2 OFF, 3-4:5-6:7-8:9-10 ON|80h1-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| | |
  
-==== Software ==== +\\
-{{:boards:ecb:cassette_intf:scream.bas|}} - UART 'Scream' test program written in Microsoft BASIC+
  
-{{:boards:ecb:cassette_intf:loader.com|}} - :?: CP/M program to load files from cassette?? :?: 
  
-{{:boards:ecb:cassette_intf:stpkg.7z|}} - package including MBASIC and Star Trek game in .hex format for testing Cassette Interface+===== Cassette Mode =====
  
 +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:
  
-===== Builder's Notes/Comments ===== +<code> 
-Please use this space to add any notes/comments on this board that don't fit into the above sections. (Periodicallythese comments may be re-arranged to be better incorporated into a new revision of the wiki page.) Please sign your comments using the wiki "Insert Signaturefeature! — //[[admin@retrobrewcomputers.org|Andrew Bingham]] 2016/02/27 13:01//+SBC Z80 @ 8.000MHz 
 +0 MEM W/S, 1 I/O W/S 
 +512KB ROM, 512KB RAM 
 + 
 +UART0: IO=0x68 16550A MODE=38400,8,N,
 +UART1: IO=0x80 16550A MODE=300,8,N,1 
 +</code> 
 + 
 +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 commands, binary files cannot be saved or loaded with this method. To overcome this limitation files must be converting to and from HEX format. 
 + 
 +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. 
 + 
 +<code> 
 +B>stat dev: 
 +CON: is TTY: 
 +RDR: is PTR: 
 +PUN: is PTP: 
 +LST: is LPT: 
 +</code> 
 + 
 +The available devices that can selected can also be seen using the STAT command: 
 + 
 +<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: TTY: CRT: BAT: UC1: 
 +RDR: TTY: PTR: UR1: UR2: 
 +PUN: TTY: PTP: UP1: UP2: 
 +LST: TTY: CRT: LPT: UL1: 
 +</code> 
 + 
 +For your system you will need to determine which IObyte device has been assigned to the Cassette Interface. Then you can reassign the RDR: and PUN: device to them. 
 + 
 +Example of reassigning RDR: to UR1: and PUN: to UP1: 
 + 
 +<code> 
 +B>stat rdr:=ur1: 
 +B>stat pun:=up1: 
 +B>stat dev: 
 +CON: is TTY: 
 +RDR: is UR1: 
 +PUN: is UP1: 
 +LST: is LPT: 
 +</code> 
 + 
 +To change the baud rate to 300 or 600 baud use the MODE command i.e. 
 + 
 +<code> 
 +B>mode com1:600,n,8,
 + 
 +   COM1: 600,N,8,1 
 +</code> 
 + 
 +<code> 
 +B>mode com1:300,n,8,
 + 
 +   COM1: 300,N,8,1 
 +</code> 
 + 
 + 
 +===== Board configuration ===== 
 + 
 +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. 
 + 
 +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. 
 + 
 +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__  sockettypically 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. 
 + 
 +{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/boards/ecb/cassette_intf/cass-diag.png?nolink&640x250}} 
 + 
 + 
 +====== 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'' 
 + 
 +\\ 
 +''1. If you have a load/save switch installed, toggle switch to SAVE.\\ 
 +2. Press Record on the cassette recorder.\\ 
 +3. Key PIP command ie. PIP PUN:=TEST.HEX[E] <RETURN>.'' 
 + 
 +__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.'' \\ 
 +\\ 
 +''Convert a HEX file back to its original format, use LOAD.\\ 
 +example: LOAD TEST.HEX <RETURN>\\ 
 +—–> creates TEST.COM'' 
 + 
 +''Rename the file from .COM if required.'' 
 + 
 +\\ 
 +''Handling large files.\\ 
 +\\ 
 +Due to LOAD and UNLOAD being limited to files that fit into memory, files over ~25K must be split into smaller files.\\ 
 +For retrieval, concatenate files with PIP.\\ 
 +example: PIP WHOLEFILE.HEX=1STFILE.HEX[ I ],2NDFILE.HEX'' 
 + 
 +\\ 
 +''Reference to general CP/M usage:'' 
 + 
 +\\ 
 +''[[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]]'' 
 + 
 + 
 +====== Serial Mode ====== 
 + 
 +The ECB-Cassette card can be configured to operate as 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> 
 +B>mode 
 +   COM0: 38400,N,8,
 +   COM1: 300,N,8,1 
 +</code> 
 + 
 +To change COM1: to 9600 baud use: 
 + 
 +<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> 
 +#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> 
 + 
 +If another port setting is required then a custom build of ROMWBW is required. Update the uart.asm source as shown below 
 + 
 +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. 
 + 
 + \\ 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: {{:boards:ecb:cassette_intf:ecb-cassette-interface-001a-brd.pdf|:boards:ecb:cassette_intf:ecb-cassette-interface-001a-brd.pdf}} 
 + 
 +Schematic: {{:boards:ecb:cassette_intf:ecb-cassette-interface-001a-sch.pdf|ecb-cassette-interface-001a-sch.pdf}} 
 + 
 +Gerbers: {{:boards:ecb:cassette_intf:ecb-cassette-interface-001a-gerbers.zip|:boards:ecb:cassette_intf:ecb-cassette-interface-001a-gerbers.zip}} 
 + 
 +Kicad: {{:boards:ecb:cassette_intf:ecb-cassette-interface-001a-kicad.zip|:boards:ecb:cassette_intf:ecb-cassette-interface-001a-kicad.zip}} 
 + 
 +{{: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?direct&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. 
 + 
 +{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/boards/ecb/cassette_intf/caspic2.png?nolink&640x305}} 
 + 
 +__Save/Load selection switch__ 
 + 
 +A front panel switch can be installed to select between save and load by connecting a DPDT switch to P5. 
 + 
 +{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/boards/ecb/cassette_intf/caspic3.png?nolink&640x207}} 
 + 
 +__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 "headersocket. 
 +  * Splay out the pins on the header sockets slightly for a firm fit when plugged in. 
 + 
 +{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/boards/ecb/cassette_intf/casspic3.jpg?nolink&640x276|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_boards_ecb_cassette_intf_casspic3.jpg}} 
 + 
 + 
 +====== Additional Circuit Documentation ====== 
 + 
 +{{:boards:ecb:cassette_intf:microtek_cassette_interface_portrait.pdf|Microtrek Magazine Article on Simple Cassette Interface.}} 
 + 
 +{{:boards:ecb:cassette_intf:byte_serial_interface_tvt.pdf|Byte Magazine article by Don Lancaster featuring Serial Interface designs}} 
 + 
 +[[https://www.retrobrewcomputers.org/n8vem-gg-archive/html-2010/May/msg00203.html|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> 
 +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> 
 +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. UART1is the ECB-Cassette and assigned as CIO 2. So __<font inherit/Courier New,Courier,monospace;;inherit;;inherit>cstso 2 #.Z</font>__  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> 
 +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: 
 + 
 +{{:boards:ecb:cassette_intf:kcs_300_baud.mov|kcs_300_baud.mov}}  - 300 baud. 
 + 
 +{{:boards:ecb:cassette_intf:600_baud.mov|600_baud.mov}}  - 600 baud. 
 + 
 + 
 +===== Software ===== 
 + 
 +[[https://www.retrobrewcomputers.org/lib/exe/detail.php?id=boards:ecb:cassette_intf:start&media=boards:ecb:cassette_intf:photos:uart_scream_test.jpg|{{:boards:ecb:cassette_intf:photos:uart_scream_test.jpg?200|uart_scream_test.jpg}}]] 
 + 
 +{{:boards:ecb:cassette_intf:scream.bas|scream.bas}}  - UART 'Scream' test program written in Microsoft BASIC 
 + 
 +{{:boards:ecb:cassette_intf:loader.com|loader.com}}  - :?:  CP/M program to load files from cassette?? :?: 
 + 
 +{{:boards:ecb:cassette_intf:stpkg.7z|stpkg.7z}}  - package including MBASIC and Star Trek game in .hex format for testing Cassette Interface
  
 ===== Photo Gallery ===== ===== Photo Gallery =====
 +
 {{gallery>photos?&0 }} {{gallery>photos?&0 }}
 +
  
 ===== File List ===== ===== File List =====
-{{filelist>*&style=table&tableheader=1&tableshowdate=1&tableshowsize=1}} 
- 
  
 +{{filelist>*&style=table&tableheader=1&tableshowdate=1&tableshowsize=1}}
  
  
  
boards/ecb/cassette_intf/start.txt · Last modified: 2020/01/31 07:04 by b1ackmai1er
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0