Cocoacrumbs

Cocoacrumbs

All of the buildings, all of those cars
were once just a dream
in somebody's head
Mercy Street - Peter Gabriel

Cocoacrumbs

3 minutes read

Pic 1

Wrapping up

This project is by no means finished (it never is ;-) but so far it works pretty well for me in combination with my RC2014 set up (a SC203 Modular Z180 Computer Kit for RC2014 extended with a Compact Flash Module for CP/M RC2014 Computer). But there is no doubt there are still bugs lingering around.

There is no real, solid specification of the ANSI/VT100 escape sequences and unfortunately parts are left open for interpretation. Using the Turbo Pascal editor and WordStar as test beds, I think most escape sequences now behave as they should be.

I’m less sure about the escape sequences controlling the font and background colours. Normal/bold does work since both Turbo Pascal and WordStar use this and they do work. But I’ve not been able to test controlling colour mainly because there aren’t much (if any) CP/M around that can use this feature.

The Retro_VGA_character_terminal_6845 project on BitBucket contains 3 repo’s:

For those wishing to build this terminal, probably the hardest part will be sourcing a 6845 that works at the needed 3.14 MHz character clock frequency. All the other parts can easily be found (well, if the chip shortage wouldn’t be here).

Only 2 fonts are implemented right now while there is room for 14 extra. At this moment the 6845 is always set up to display either lines of 16 pixels high or 8 pixels high without empty lines between them. The reason is that by doing so, the graphic characters used to draw boxes (like I use in the set up screens) connect nicely together. But it has as a consequence that in certain screen modes the screen can look a bit squashed because there are a lot of empty lines above and below the text section. This can be solved by using character heights of e.g. 10 or 11 pixels high but for that, new fonts need to be generated so that the graphics characters used for those window boxes connect nicely again.

What bothers me the most for the moment is that the video is not 100% flicker free. As long as you use a black background it’s hardly noticeable. But it becomes quite noticeable when you have a coloured background. The easy solution of course is not to access the video RAM when something is written to screen (i.e. install the jumper that connects the blanking signal to the WAIT line of the Z180). But this slashes your CPU MIPS by more than half and then working at 115.200 baud is out of the question.

It occurred to me that not much more is needed to make a stand alone CP/M machine from this. Basically adding a 64K RAM chip and some means of mass storage (like a compact flash card) and you have a complete stand alone CP/M PC. Maybe for a next project.

Another route to explore is to use this as a basis to build a graphics terminal with 640 by 480 resolution (and with colours maybe). The character ROM could disappear then while video RAM needs to be increased.

I hope you enjoyed these series of blog posts. After building and debugging 6 prototypes, I’ll take a break from this project now and start exploring something new.

Recent posts

See more

Categories

About

Cocoacrumbs