Close

VHDL Started

A project log for TRS-80 Compatible Clone

A TRS-80 using more modern parts

Hacker404Hacker404 06/02/2015 at 10:062 Comments

Or do you prefer Green?

This is a direct dump from ROM to the screen. Most of the image is the TRS-80 BASIC ROMs.

Then there are the characters. The characters sit in 8x16 memory cells so not all of them fit on the screen because they need to go into a 6x12 cell for on-screen.

The bright area after the characters is blank ROM (FLASH).

The BASIC ROMs are occupying 12kB and after that the character ROM occupies 4kB so they fit neatly together into a 16kB block.

There is some ghosting because of timing issues. The VHDL is just something quick and dirty so that I can see roughly what it will look like. All the issues will be fixed when I properly time out (synchronise) the code.

So tomorrow I will completely re-write the VHDL. At the moment it doesn't even have a shift register. It is doing a full 128 ROM reads per character. ie reading each byte 8 times to put out a single dot each time.

Some curious things - the 70nS FLASH works fine even down to 40nS access times but gives up the ghost at 20nS (not surprisingly). The 25nS SRAM works fine at 20nS. I couldn't test it any faster because the source clock is 50MHz.

Oh yes, one other thing. The descenders ... well ... descend! Have a look.

Discussions

Hacker404 wrote 06/02/2015 at 22:13 point

Well it's all just a ROM image now instead of a character generator so they can be changed to whatever is wanted even the graphics characters that were originally hardware generated are now in ROM. The original character generator had a character cell of 5x7 that was fitted into a screen cell of 6x12. Now the ROM has a 8x16 character cell so every dot in the 6x12 screen cell is available to be used. I could even put this into RAM if there is room in the memory map. 

  Are you sure? yes | no

Bart Hemstra wrote 06/02/2015 at 14:27 point

Looks great!! Don't worry too much about the descenders, the Model I owner who did a lowercase conversion was only too happy to see lowercase at all, not minding the descenders. 

  Are you sure? yes | no