Compiling Assembler programs for CP/M

Written June 21st, 2020 by

Let’s see an overview of assembler compilers and development environments to create programs for the CP/M operating system and in general for any machine with a Z80 microprocessor.

Read more…

First steps in COBOL

Written May 24th, 2020 by

Recently, a lot has been heard about the COBOL language, due to the need of some States to update their computer systems and the difficulty in finding programmers with some experience in using this programming language. Not knowing the language, if not for “hearsay”, I thought to deepen its knowledge a little, more out of personal curiosity than anything else.

Read more…

Roman numbers converter in BASIC

Written April 11th, 2020 by

To pass the time I thought to brush up the programming in BASIC a little by writing a simple program for converting from decimal (or Arabic) to Roman numbers and vice versa. The program is portable enough to run on ZX Spectrum, Commodore 64, MSX home computers and on CP/M systems equipped with MBASIC interpreter.

Read more…

Yet Another TZX/CASDuino Variant

Written January 18th, 2020 by

There are several implementations of the famous TZXDuino / CASDuino audio cassette emulator for Sinclair and MSX computers, some require dedicated “shields”, others require considerable use of breadboards and flying wires, more or less simple to make. The one I propose today uses two easily available and inexpensive shields and some external components necessary for connection with the computer. Only a minimum of familiarity with the soldering iron is needed to make the few required connections.

Read more…

Customizing the ANSI / VT-100 Terminal board firmware

Written May 12th, 2018 by

The ANSI / VT-100 Terminal board for the RC2014 computer uses the open source firmware available on GitHub and therefore it can be freely modified by anyone. However, being written with the Parallax Propeller microcontroller’s own Spin language, it may be difficult, even for those who are familiar with microcontrollers programming, to understand how it works, therefore I will try to explain as simply as possible how to do some minor changes to make the firmware a bit more personal.

Read more…

Building the rich client target platform with Eclipse 4.6

Written July 2nd, 2016 by

Few days ago the new Eclipse 4.6 “Neon” was released and as usual when a new update is released, I started to build the target platform required to develop rich client applications (RCP). The unhappy surprise was that the delta pack file containing the plugins and binary launchers for all supported operating systems, is no more available from the downloads page. Few years ago one of the packages useful to build a target platform, the platform sdk, was removed from the downloads. Not a big problem, it can be extracted from the standard Eclipse SDK package removing the unnecessary features and plugins with a bit of work, then adding the delta pack to enable the multi platform export options. Today without the delta pack, this is not possible anymore.

Read more…

Overlay Code with Parallax Propeller and GCC

Written April 7th, 2016 by

Programs that use overlay code were very popular in the era of early home computer systems when the amount of memory was not much, and the ability to load portions of code only when necessary allowed to make programs much larger than the available memory.

With microcontrollers we are in a similar situation with sometimes very complex programs and a rather limited memory, just think for example to the management of the SD card file system or the internet access libraries, that can severely limit the memory available for the program itself, especially if they are to be used simultaneously.

The Parallax Propeller is a microcontroller with 32K of internal RAM memory and uses an external EEPROM to load the code to run at power up. Since only the first 32K of the EEPROM are used for the program it is possible to dedicate the exceeding space of larger memories for data storage. Fortunately with the GCC compiler and the standard tools it is also possible to store portions of the program code to be loaded when necessary.

Read more…

Propeller Game Console

Written February 25th, 2016 by

I’m happy to present my first hardware project, a retro-style video games console with interchangeable cartridges based on the Parallax Propeller microcontroller. For those unfamiliar with this chip, it is a 32bit microcontroller with 32k RAM and 8 cores running in parallel at 80MHz, program code and data are readed from an external EEPROM and has 32 completely programmable input/output pins. The console design uses two of these chips to enhance the performances and allow more complex games than would be possible with just one. A chip is dedicated to the graphics and video output, the other chip is dedicated to the audio output and the main game logic.

Read more…

Experimenting with GIT and Subversion

Written October 18th, 2011 by

In the past few weeks I have experimented with a new workflow based on GIT and Subversion. All our projects are using subversion as version control system, we think that at this time a centralized version control system better suits our needs, however some GIT features maybe very useful to individual developers so I started to investigate on how to take the best of both worlds and integrate GIT in our Subversion-based workflow.

Read more…

JUnit Tests with Eclipse Databinding

Written July 14th, 2011 by

When we started to use Eclipse Databinding framework we faced the problem of running JUnit tests against databinding-enabled classes. Databinding requires a default Realm to be defined and all classes must be run from within this realm. The Eclipse framework automatically initializes the default realm at application startup with a code that looks like the following (from Workbench.createAndRunWorkbench):

Read more…