Oct 312020

commanderx16 commanderx16emul


  • The evolution of 8-Bit

    * Inexpensive, reliable, educational
    * Unique, not a clone or a sequel
    * A real CPU not emulation
    * Classic chips on-board

The modern retro computer


Your wish is my command.


  • Commander X16 is coming…

    See FAQ & forum for announcements!
    Download the emulator to get READY.
    Pictured: Commander X16P concept art

 Posted by at 9:12 am
Oct 242020




Physical Interface

From a pinout perspective, UART signals only require one line for unidirectional communications, although two are typically used for bi-directional transmit and receive. Being asynchronous, UART signals don’t require any other clock line because the two UART devices agree on a common baud rate, stop, start and data bits. This makes the receiver capable of decoding the data. UART is connected by crossing the TX and RX lines, as shown below:

Connecting UART between two devices such as an MSP430 and another generic productUART transmits bits sequentially by pulling the UART line low for a fixed amount of time determined by the baud rate. The UART line when idle is high at the I/O level, 3.3V or whatever the VCC of the MSP430 is set. RS232, on the other hand, uses similar signaling to UART but also incompatible voltage levels (the voltages are high and some are negative) that will damage the MSP430. Therefore, never connect an RS232 device directly to the MSP430. Use a MAX232 or similar device to convert between the two signal levels.

The smallest element of transmission is the UART frame or character, which consists of the Start bit/s, data bits, stop bits and optional parity bits, as shown below:

Bit number 1 2 3 4 5 6 7 8 9 10 11
Start bit Start bit Data Bit Data Bit Data Bit Data Bit Data Bit Data Bit Data Bit Data Bit Stop Bit Stop Bit

The start bits alerts the receiver that data is coming. Without it, if the first bit was a ‘1’, it would be seen as an idle line since an idle UART line is also high. The number of data bits is typically 8, but it can be configured for 7 bits as well. Although some UART receivers can use a different number of bits, only 8 or 8 bits are supported by the MSP430. After the data bits stop bits are sent along with an optional parity bit.

MSP430 families contain different peripherals capable of UART communications. Among these are USCI, USART and eUSCI modules. UART can also be generated using timers or even bit-banged. Some peripherals have sophisticated options that we will not cover since they are rarely used.

Configuring the MSP430 for UART operation

We previously covered the issue of signal multiplexing. In order to use UART, specific pins that are connected to the UART module must be used, and the pin muxing must choose the Primary Peripheral mode. On the MSP430G2553 that is on the MSP430 Launchpad, UCA0 pins are present on pins P1.1 and P1.2 as UCA0RXD and UCA0TXD, respectively. Setting the pin muxing is simple since TI provides the information for the bit settings in the datasheet of the device. In this case, UART requires both PxSEL and PxSEL2 to be set to ‘1’. PxDIR does not need to be configured.

Configuring MSP430 Pin Muxing for UART

P1SEL |= (BIT1 | BIT2);
P1SEL2 |= (BIT1 | BIT2);

With the pins configured, we must configure the clocks for UART. The baudrate generation requires a clock of a certain precision. Although baudrates vary, 9600 and 115200 baud are the most common and we will focus on them. In order to generate a baud rate, we must feed a large enough clock so that it can be divided by the baud rate generator for the actual baud rate. For 9600 baud we can use both the slow 32.768kHz crystal if one is present, or a faster source such as the internal DCO or an external crystal. 115200 baud requires a fast clock, so only the DCO and a fast external clock can be used. Below we have the code needed to configure USCI_A0 for UART operation at 9600 baud:

Configuring MSP430 Pin Muxing for UART

#include <msp430.h>

int main(void)

/* Use Calibration values for 1MHz Clock DCO*/

/* Configure Pin Muxing P1.1 RXD and P1.2 TXD */
P1SEL = BIT1 | BIT2 ;
P1SEL2 = BIT1 | BIT2;

/* Place UCA0 in Reset to be configured */

/* Configure */
UCA0BR0 = 104; // 1MHz 9600
UCA0BR1 = 0; // 1MHz 9600
UCA0MCTL = UCBRS0; // Modulation UCBRSx = 1

/* Take UCA0 out of reset */

/* Enable USCI_A0 RX interrupt */

__bis_SR_register(LPM0_bits + GIE); // Enter LPM0, interrupts enabled

/* Echo back RXed character, confirm TX buffer is ready first */
#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCI0RX_ISR(void)
while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?
UCA0TXBUF = UCA0RXBUF; // TX -&gt; RXed character

The clock source for the UART baud generator is SMCLK sourcing the DCO running at 1MHz. Before we can configure the UART peripheral we need to place it in reset mode. Not all registers require this but it is best to do so when first configuring USCI, whether it’s for UART or any other mode. Notice that we use the assignment operator, so all the other bits are set to zero. With the reset in place, we make SMCLK the clock source for the UART. Being flexible, there are other possible options for the UCSSELx:

  • 00b = UCAxCLK (external USCI clock)
  • 01b = ACLK
  • 10b = SMCLK
  • 11b = SMCLK

UART can actually use a cloc

 Posted by at 6:45 am
Oct 242020



UART Serial communication with MSP430 microcontroller


Table of Contents


To use UART communication module of MSP430 microcontroller, first you should understand what is UART communication? What is Serial communication? MSP430G2 launch Pad has on board MSP430G2553 microcontroller. MSP430G2553 microcontroller has one built in circuit for UART. So MSP430G2 launchpad has only on UART communication module which can be used to send and receive data serially.  This board also supports I2C and SPI communication protocols. SPI and I2C are also serial communication protocols.  UART communication is not a communication protocol but a physical dedicated circuit in the form of integrated circuit or embedded inside a microcontroller. On the other hand, both SPI and I2C are communication protocols. you may like to check getting started tutorials on MSP430:

What is UART communication ?

  • UART stand for Universal Asynchronous Receiver and Transmitter. UART can transfer data bit by bit serially.
  • There are other parallel communication protocols exists which are used to transfer data in parallel mode like 8 bit at time.   It can transfer only one bit at a time.
  • By parallel communication data can be transferred with high speed. But speed come with cost,  it required as many wires as many bits user want to transfer at a time.
  • Serial communication consists of only two wires, transmission wire and receive wire.
  • Receiver wire is used to receive data sequentially from other UART device.
  • Transmitter wire is used to send data sequentially to other UART microcontroller or device.
  • UART communication pins of MSP430G2 launchPad are shown in figure.UART communication MSP430 microcontroller
  • Pin number three is transmission pin and pin number 4 is a receiver pin.
 Posted by at 6:42 am
Oct 182020



Welcome to the vDosPlus home page!

vDosPlus website URL: www.vDosPlus.org

vDosPlus (formerly vDos-lfn) is a free general-purpose non-gaming DOS emulator running on Windows, based on vDos and DOSBox. vDosPlus is designed to run non-gaming DOS applications in all current Windows versions. NTVDM (NT Virtual DOS Machine) is included in 32-bit Windows, but NOT in 64-bit Windows. However, most today’s Windows is now 64-bit, and to run DOS programs you need a DOS emulator. vDosPlus is exactly for this purpose, and like original vDos it provides advanced features such as support for file-locking (needed by multi-user applications) and printing to Windows-only (GDI) printers, but it also has many unique features such as a tighter integration with Windows and enhanced keyboard, mouse and display support. It was formerly known as vDos-lfn because its initial focus was added support for Windows-style long filenames or LFNs in addition to traditional DOS 8.3 file names, but now with a wide range of additional features there are much more than this. It is based on mature projects and also well tested by for example the XyWrite community and many normal or power users of various DOS applications, so it should be considered pretty stable as well.

Highlights of vDosPlus’s Features:

– It runs in both 32-bit and 64-bit Windows, including Windows XP, Vista, 7, 8, 8.1 and 10 (all versions up to the latest release; Windows 2000 can be supported too)
– Run your DOS applications reliably in a DOS virtual machine; the text-mode DOS screen (either in a window or full-screen) is fully scalable with a TTF font
– Network support and multi-user environment friendly with file- and record locking; you can always run multiple DOS applications in different vDosPlus sessions
– Tight integration with Windows, including direct support for Windows-style long filenames (LFN), copying to and pasting from the Windows clipboard, and so on
– Support for multi-monitor setups, on-screen text styles (such as bold and italics), border/edge padding, mouse wheel scrolling, transparent window, and many more
– Built-in 4DOS 8.00 shell which provides powerful command-line and other functionalities; you can also find many useful information from its interactive help system
– You can customize the config settings easily by editing the configuration file, changing them on the fly, or you can simply use the default settings for vDosPlus
– Powerful printing functionalities to print to PCL and PostScript printers as well as Windows-only (GDI) printers directly; printing to PDF is also supported

Screenshots of vDosPlus

Below are some screenshots of software running in vDosPlus.

4DOS Help in vDosPlus
WordPerfect 6 in vDosPlus
XyWrite 4 in vDosPlus
4DOS Help running in vDosPlus
WordPerfect 6 running in vDosPlus
XyWrite 4 running in vDosPlus


 Posted by at 5:29 pm
Oct 182020




Cross-platform DOS emulation package
Complete, accurate emulation and more

What is DOSBox-X?

DOSBox-X is an open-source DOS emulator for running DOS games and applications.
DOS-based Windows such as Windows 3.x and Windows 9x are officially supported.
Compared to DOSBox, DOSBox-X is much more flexible and provides more features.
Look at the DOSBox-X Wiki for more information about DOSBox-X and usage guides.

 Posted by at 5:24 pm