DC2N5 reference bars are now in too!

Blue reference bars, available in most of my PC software for TAP content visualization and in DC2N3 upon request, are now available in DC2N5 too :)

DC2N5 reference bars

DC2N5 reference bars

Posted in Retrocomputing, Technical | Tagged , , , , , , | Leave a comment

DC2N5 preserving Silkworm from Tape to SD Card

I figured out I had never uploaded a video about DC2N5 sampling tapes, so here is one :)

Posted in Retrocomputing, Technical | Tagged , , , , , , | Leave a comment

ILI9341 display driver for STM32F100 fixed

Adding a dummy register read before changing the D/C signal fixed the issue I was having earlier. That proves that logic analysers shorten troubleshooting time dramatically: I’d have been blind without one :)

The STM32F100’s SPI status register seems to behave oddly as sometimes the busy flag is clear before a full byte is transferred over the bus[1]. I should probably try to use DMA next, to see if it behaves well, as my fix is SPI frequency dependant (however, I am running at max frequency for this SPI port I use, 12 MHz, so it should be fine for all other prescaler values).

The good thing about this MCU is that I can switch SPI to 16 bit data during screen filling and bitmap copying, which is slightly faster than sending MSB and then LSB separately :)

[1] If it wasn’t for the fact that the busy flag sometimes is cleared after a byte has been fully transmitted on the SPI bus, I’d be inclined to say that the busy flag is only indicating whether the SPI data register is ready to be written to again, rather than whether the last byte written to it has been transferred on the SPI bus. I can think of a good reason for ST to implement the flag in such a way: by the time an application finishes writing to the SPI data register again, the previous byte has nearly been transferred on the SPI bus, so the throughput on the SPI bus is maximum :)

Posted in Technical | Tagged , , | Leave a comment

Troubleshooting my display driver port for STM32F100

After porting my display driver for the Discovery board based on STM32F100, I noticed that something is not quite right. The ILI9341 display seems to constantly miss the second command of the couple Column Address Set (0x2A) and Page Address Set (0x2B), irrelevant of the order they are issued.

As I bought a logic analyser for troubleshooting this sort of scenarios a while ago, I decided to fire it up and acquire signals on the SPI bus, along with control signals D/C and Reset.

Logic Analyser displaying commands 0x2A and 0x2B

Logic Analyser displaying commands 0x2A and 0x2B

Well, the above image shows clearly that D/C does not stay low for long enough when 0x2B is sent to the display (about 0.54 us instead of 1.5), hence the command is missed. At the moment this is always occurring, despite I poll the SPI status register to make sure a full byte was transmitted before asserting D/C. Oddly enough, such polling seems to work fine for the first command, 0x2A.

Posted in Technical | Tagged , , | Leave a comment

Developing DC2N5 for the STM32F100 Discovery too

Today after work I decided to get going with the STM32 Discovery board that I had bought a while back but never used. It’s a cheap board but it’s not quite friendly when it comes to inserting it into a breadboard.
After making the initial connections, I was able to start its bootloader and communicate through its USART1 serial port, which connects to my PC via a TTL->USB bridge (FTDI style).

Here’s the output from the stm32flash utility:

stm32flash.exe -b 115200 COM6
stm32flash 0.4


Interface serial_w32: 115200 8E1
Version      : 0x22
Option 1     : 0x00
Option 2     : 0x00
Device ID    : 0x0420 (Medium-density VL)
- RAM        : 8KiB  (512b reserved by bootloader)
- Flash      : 128KiB (sector size: 4x1024)
- Option RAM : 16b
- System RAM : 2KiB

As you can see it’s not as equipped as the primary MCU I am using for developing DC2N5, but it’s something worth exploring so I am finishing the last bits of porting my framework to the STM32F100 family of MCUs :)

Posted in Technical | Tagged , , , | Leave a comment

More on cover scans

Somebody noticed and promptly reported it, most people probably didn’t :D

Here it is, the cover, “adapted” for DC2N5. What’s special about it? The answer is: when you see it you’re going to sh*t tapes. LOL :P

TGGS cover

TGGS cover

Good job on those few who noticed despite the video quality!

Posted in Retrocomputing, Technical | Tagged , , , , , , , | Leave a comment

DC2N5 cover scan support

Along with playing TAP files, DC2N5 is also capable of displaying cover scans now :)

Posted in Retrocomputing, Technical | Tagged , , , , , , , , | 1 Comment