start

Welcome to the blog section of my website. Here you'll find my mostly useless information on various retro gaming computers and consoles and a few other hobbies…

Some useful shortcuts:

These pages have recently been changed or updated:

Pages which have been added most recently:

911 Turbo - Exhaust Removal & Replacement

I had upgraded most (but not all) of the exhaust system around 2010 by fitting a Fabspeed decat pipe and a seat of GSF heat exchangers (which also involved refitting a back-dated 930 Turbo oil return pipe under the crankcase, rather than the 964 Turbo pipe which interferes with the placement of the join between the two cylinder banks on the aftermarket system).

I kept the standard exhaust silencer in the rear wheel arch and standard exhaust tips and the factory wastegate pipework.

Some time around 2011 after replacing most of the leaking oil pipes I decided to take the system off and replace a number of seals and gaskets that had started to show signs of leaking (carbon soot around several joints in the exhaust system), as well as replace the factory exhaust tips.

After more than 10 years, the GSF system (which was by far the cheapest stainless system on the market at that point in time) was still looking in pretty good condition.

→ Read more...

2022/06/17 15:31 · john

To Do List!

Things I have to write down to remember to do:

  • Commodore 64 DTV2
    • Finish case
    • Wire up connections & ports
    • Power supply
    • S-Video fix
  • Sinclair QL
    • Find low-profile DIP sockets
    • Finishing soldering
    • Remove revision 5 QL internal bodge wiring
  • Atari 65XE task #1
    • Desolder Pokey chip
    • Fit socket
    • Mount PS/2 keyboard socket to case
  • Atari 65XE task #2
    • Find retrobrite solution or alternative
    • Removing all keycaps and try to restore
    • Fit new case badge
  • Atari 520STe
    • Install alternative IDE driver for UltraSatan
    • Repartition SD cards as FAT16
  • ZX Spectrum
    • Fit Traco regulator & recheck
  • Amstrad CPC task #1
    • Find remaining components for PS2CPC interface
    • Solder up interface board
    • Flash microcontroller
    • Disassemble CPC & mount board
  • Amstrad CPC task #2
    • 3D print enclosure for 3.5 floppy drive
    • Find suitable 3.5 floppy (Samsung SFD-321B?)
    • Flash Parados ROM and install in Rombo box
  • MSX task #1
    • Disassemble case and check condition of caps - wavy video
2022/01/20 18:04 · john

Sinclair QL - Displaying Bitmaps & Text

Direct video memory

Video memory starts at 0x20000

In Mode 4 (512×256 4 colour) the memory is laid out in byte pairs (or words)

Red byte        | Green byte
0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0

Those 16 bits set a series of 8 contiguous horizontal pixels. The values of the Red and Green byte are AND-ed to get the final colour:

Red | Green | Result
1   | 0     | Red
0   | 1     | Green
1   | 1     | White
0   | 0     | Black

Example 1:

0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

…would draw an 8 pixel horizontal line in Green.

Example 2:

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

…would draw an 8 pixel horizontal line in White.

Example 3:

1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1

…would draw 8 alternating pixels of Red and Green.

2021/12/14 21:01 · john

Sinclair QL Development Tools

There are a range of development tools and languages for the QL, including the built-in SuperBASIC. But I am more interested in using the same type of tools that I use for the NEC PC-98, MS-DOS, X68000 and more; a reasonably standards compliant C compiler, assembler and linker.

There are a few C compiler options for the Sinclair QL - which are summarised nicely here: http://www.dilwyn.me.uk/c/index.html

I touch on a few of them, including the one I am using (C68, in it's modern cross-compiler incarnation) below.

→ Read more...

2021/12/14 09:50 · john

Commodore PET - Software Development

The modern way… using optimising C cross-compiler on Linux.

This is easier than expected, just install CC65. On any modern Linux, this is as easy as:

$ apt-get install cc65

You then get cc65 (the C compiler), ca65 (the assembler) and ld65 (the linker). They work pretty much the same as any modern toolset:

  • Compile your .C source code using cc65, which will emit a .S assembly file
  • Assemble your .S assembly listing using ca65, which will emit a .o binary object file
  • Link your .o object files using ld65, possibly including the cc65 standard library, which will emit a .prg executable

Here's a simple makefile to get started with development. It assumes you have a ./src folder with your C source code and that you resulting binary will be placed in ./bin. Alter the paths to the location of the cc65 installation as appropriate:

# Names of the compiler and friends
CC	= cc65
AS	= ca65
LD 	= ld65

# libraries and paths
INCLUDES = --include-dir /usr/share/cc65/include
LIBS	 = --lib /usr/share/cc65/lib/pet.lib

# Compiler flags
ASM_FLAGS= --target pet
LDFLAGS	= --target pet
CFLAGS 	= --target pet -O -Oi -Or -Os

# What our application is named
TARGET	= game.prg

all: $(TARGET)

# The main application
OBJFILES = src/test.o

$(TARGET):  $(OBJFILES)
	$(LD) $(LDFLAGS) --obj $(OBJFILES) $(LIBS) -o bin/$(TARGET)
	
################################
# Main code
################################
src/test.s: src/test.c
	$(CC) $(CFLAGS) $(INCLUDES) src/test.c

src/test.o: src/test.s
	$(AS) $(ASM_FLAGS) src/test.s

###############################
#
# Clean up
#
###############################
clean:
	rm -f src/*.o
	rm -f bin/$(TARGET)

→ Read more...

2021/11/25 15:41 · john
  • All posts - an archive of all pages on the site
  • Stats - wiki page statistics
  • start.txt
  • Last modified: 2021/11/17 09:50
  • by john