Welcome in the Mario Viara's site

There are some software that you might find useful, I wrote them during my long programmers life. All the software are available with source for free. If you have any question or suggestions please email me at mario at viara dot cn . If you find the software useful or interesting, please let me know.


This useful program is a complete telnet ANSIX364 emulator, written in c++, for the Win32 Environment, if used at full screen can emulate completely one Linux box console. I'm a "dos prompt lover" and I use this emulator from many year. Can be compiled with Microsoft Visual C or OpenWatcom.

The most important characteristics are :

For use ANSI32 with a Linux box the better emulation is the Xterm or SCOANSI and is tested with :

Suse 9.0,9.1,9.2,10.0,10.2

A sample Midnight commander session under Linux

Fci is a fossil driver used to connect modem to the BBS. Today is obsolete but the source can be interesting to everyone that need to write a device driver for the PC Uart. To be compiled is necessary the Microsoft Masm. I'm sorry but the remark are all an Italian. I write this software because in the 1994 I was the owner of the STAR BBS of Cuneo 2:334/705.0@fidonet.org. Also FCI have a little place in the Official BBS FAQ.

J80 is one Z80 Emulator written in JAVA with included a standard BIOS for complete Microcomputer with working CP/M 2.2, CP/M 3.0 and one simple ZX Spectrum 48/128K emulator. The spectrum 128K version emulation is not complete but working. The best gol of this emulator is that the 'hardware' is build on the fly reading the configuration form one file in this way is very simple add new peripheral or features. For more details see the documentation. It is possible download more CP/M program here.

J80 is "hardware compatible" with YAZE another Z80 emulator written in C.

Java runtime 1.2 or later
Spectrum 48k with Pacman and Speaker support !

NVTCom is a library to access using java RFC2217 devices, the class hide all the overhead of the telnet protocol and the special options for setting the serial port. In java is very difficult to access serial device with this library is possible connect serial device to one terminal server and access the device from the network. The package contains both binary and source code.

NVTCom as been tested with the following hardware/software terminal server :

Kermit sredir 2.2.0
Simet cross
But I think work with any compatible RFC2217 terminal server because I use this class in one my project from many years.

Java runtime 1.2 or later

A Diseqc 1.2 compatible positioner for old 24/36V DC Motor positioner.

The last year I have decide to change my old analog satellite receiver , one old Chaparral MC115 with a new one ASTON 2000. But also I want to use my old DC Motor and the ASTON can only move Diseqc motor.

To solve the problem , with a friend Diego Bertolotti we have made a converter that understand the Diseqc Protocol and directly move the 36 V DC Motor using a single Philips Micro controller 87LPC764.

Now t the prototype is fully tested and we have decide to public the software and the electrical schematic. You can also test the software with J51 one java 8051 emulator.

JTS is one terminal server compliant with the RFC2217 specification and can be used to build a modem pool shared over the LAN. Before install the server you must install e configure the javax.comm package. The package for win32 and Solaris can be found in the sun site, for Linux many implementation are available one is the rxtx. For test purpose this package can be used with the NVTCom library.

Java runtime 1.2 or later

JTS has been tested with the following application :

DirSync is a Directory Synchronizer. This utility take two arguments -- the source directory and the destination directory -- and recursively ensures that the two directories are identical. DirSync can be used to create incremental copies of large chunks of data. For example, if your file server's contents are in the directory /data, you can make a copy in a directory called /backup with the command "dirsync /data /backup."
The first time you run dirsync, all data will be copied. When you issue the command again, though, only the changed files are copied. Both source code and an executable for Win32 and Linux are included in the distribution. Also it is possible compile dirsync for MS-DOS environment with OpenWatcom. It's very simple to compile DirSync for other Unix-like systems, too. Because the program works in all Win32 environments, you can run it with WinNt, Win2K and WinXP.

RT is one free realtime operating system with very little hardware depending part ..


ARM7 porting
GNUARM c compiler.
Tested board Philips LPC2148 andKeil MCB2140 evaluation board.
Embedded filesystem library
LPC214X USB stack

8051 Porting
SDCC compiler tested
Tested on : J51 emulator.


Me few year ago . . . .

Here the most important project where I was involved in the past.

1986 Network device driver for a Z80 based microcomputer running Turbodos.
1988 IBM Compatible BIOS for AT3 clone.
1989 Serial Floppy disk unit based over Nec V25 and Kermit protocol.
1990 Floppy disk driver for generic disk format on IBM pc AT controller.
1991 Industrial control of extrusion unit base over 80386/80387 and Intel IRMK.
1993 Software for one eolic electrical generator prototype. (MEDIT)
1994 A MSDOS Fossil driver my first shareware program
1995 Part of the software for the Neurolab project of the NASA.
1997 Flash Translation Layer IDE compatible interface.
1999 Device driver for radio controlled clock for Novell Netware and SCO Unix.
2000 Amd ELAN SC310 and Pharlap ETS based magnetic card reader..
2002 Application software for Rabbit 2000 based board.
2003 Terminal server compatible RFC2217 over Rabbit 2000 based board.
2004 DISEQC 1.2 positioner for DC motor.
2004 Linux device driver for ETRAX Cpu.
2005 Hi speed multi point network for Philips LPC900 family.
2005 Serial UART over I2C network
2006 Wave player over I2C for ETRAX based system.
2006 Industrial PC running Pharlap ETS over AMD ELAN SC310

My bike
From some months I'm the owner of one fantastic red Ducati ST3 2005. Equipped with Motorola A1000 running WayFinder.. now also I have installed TomTom

This page is dedicated to the CP/M operating system, why CP/M ? the answer is very simple first is the the first "operating system" for personal computer and also I write my first program in BASIC-80 on Philis P2500 one CP/M 2.2 system.

I'm looking for the Turbodos system from Software 2000 if someone have still tthis software please contact me.