C is our favorite language as it provides reasonably high level constructs while maintaining very good performance. The majority of the code we write for for both vintage computers and microcontrollers computers is in C. In this article we compare several C compiler for the 6502 to understand the performance and limitations of each.
A new release of SDCC, the portable optimizing compiler for STM8, MCS-51, DS390, HC08, S08, Z80, Z180, Rabbit, SM83, eZ80 in Z80 mode, Z80N, TLCS-90, 6502, Padauk and PIC microprocessors is now available. Sources, documentation and binaries for GNU/Linux amd64, Windows amd64, macOS amd64 and Windows x86 are available.
The apple IIgs, like many computers from the 80's and early 90's, has a analog RGB output at a 15KHz horizontal frequency (same as NTSC/PAL). The majority of modern monitors and TVs will not sync to anything below 31.5KHz on their VGA input. If you have a TV with a SCART connector it is possible to wire the RGB directly to the TV. Most TVs in USA, however, use the YPbPr component instead of SCART making a direct connection not possible.
Recently we have been working with the SDCC team to include 6502 support in the next release of SDCC. The port is largely based on the excellent work from Steve Hugg at 8-bit workshop. The port passes all the tests in the regression suite and it will be included in the upcoming 4.2.0 release.
Being nostalgic for the birth of laptop computers we recently acquired an Olivetti M10. The M10, like many of the KC-85 derivatives like the Tandy TRS-80 Model 100 and the NEC PC8201A, uses custom modules for their system RAM. These modules contained four 2Kx8 SMD SRAMs mounted on a ceramic substrate with a non standard DIP footprint. Needless to say, these modules have become increasingly hard to find.
The Minipro TL866 is very popular among hobbyist because of its low price and ease of use. Its list of supported chips is however somewhat limited compared to more expensive professional programmers. The E2R16v2 adapter adds support for the ROM pinout compatible EPROM of the 27C400/800/160 and C322 series.
Arduino shields are ubiquitous and provide a wide range of sensors and interfaces. Commodorino allows their use on a Commodore 64. The interface provides good compatibility with the Arduino Uno platform. Digital I/O, Analog In, SPI, I2C and limited interrupt and Serial port are implemented and additional Micro SD card socket is available for future expansion.
The geoRAM is a 512KB memory expansion for the Commodore 64 and 128 designed by Berkeley Softworks for use with GEOS. While not as fast as the Commodore REU due to its lack of DMA capabilities, it still provides a significant performance boost. GRAM/4D is a 4MB geoRAM compatible cartridge based on a two 4Mx4 DRAM devices.
The apple IIgs is the most advanced computer in the Apple II series. Equipped with a 65c816 8/16-bit CPU with 24-bit address space it could address up to 16MB of memory. The original rom 01 model shipped with 256KB of fast RAM, the revised rom 3 shipped with 1MB (both had an additional 128KB of standard RAM and 64KB of sound RAM). RAMGS/4 is a newly designed 4MB memory expansion card for this great classic computer.
The 80 column output of the Commodore 128 is the same digital RGBI used by the original IBM CGA graphics adapter. Unfortunately nowadays is quite difficult to find a monitor with the suitable RGBI input. The CGA2RGBv2 adapter will convert the TTL RGBI to analog RGB suitable to be connected directly to a 15KHz capable RGB monitor or to the popular Gonbes GBS-8200 VGA converter.