Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Vt52-FPGA (github.com/andresnavarro82)
62 points by fanf2 on Nov 7, 2020 | hide | past | favorite | 11 comments


Author here. Guess someone crossposted from reddit or the tinyfpga forums. This is just a side project I did while practicing Verilog but it works fine as a serial terminal for my linux box, to do shell & emacs stuff. Glad to answer questions if anybody has them


1. CLOCK Freq if any

2. Idle and active power consumption.


1. It uses two clocks, both derived from the PLL from an onboard 16Mhz MEMs oscillator: 48Mhz for usb (the usb<->serial bridge is implemented in the fpga fabric) and 24Mhz for the vga pixel clock (25.175 would be the 640x400@70Hz standard, but I compromised by dividing the usb clock by two). Using a usb<->3.3v serial cable or an fpga board w/external usb<->serial bridge you could run everything @25.175Mhz (and save half the logic in the FPGA and a kB or embedded RAM).

2. I will have to measure this and get back to you, but can't be too much, and negligible compared to the monitor in any case.

I can tell you that it's powered by a USB port and has onboard 3.3V & 1.2V regulators (300 mA & 150 mA max respectively). It doesn't currently implement a standby mode, but for reference the FPGA supports a standby mode which comsumes about 21uA according to the datasheet.


On #1, the files note a 16MHz clock, plus separate clocks for usb and vga.


Cool! Interesting to see some verilog.

Also, interesting you mention Atari ST in the readme, I wrote a VT52 emulator in m68k assembly for my ST because the built-in emulator couldn't keep up with maximum baudrate (my ST did not have a blitter chip). Salvaged it from a floppy disk a couple of years ago and put it on gh: https://github.com/remvee/st-tty


Great I will check it out! I got interested in the ATARI ST when I read about the VT52 extensions in the Wikipedia and I wanted to try 4 bits color for foreground/background and palettes.

I have this hardcoded to 9600bps but it should be able to do up to 115200 with no problem.

I really want to explore the space of modest processor with custom chips like Commodore & Atari did on their 8bit and 16 bits systems. I find it way more interesting/fun than the ultimately successful superscalar/big cache/big gpu that we ended up with, and fpgas make it very easy to test things out.


Terminals are interesting vs the history of our industry. AFAIK the VT52 was a random logic design (as is this reproduction), while it's successor VT100 had a CPU. Terminals were one of the driving applications for microprocessors. The PC is essentially someone noticing that the terminal now has a useful CPU in it and asking why not run applications on it?


Somewhat "random" in that it doesn't use an off the shelf part, yes. It does implement its own processor which execute 8 bits wide "microcode" out of a ROM.


Yeah, the vt52 had a very primitive special purpose processor. The ADM-3A (which is even simpler) was in fact implemented with off-the-shelf ttl chips and sram (but only had escapes for cursor position, and clear whole screen).

Given the HDL languages and cheap FPGAs we have today it is possible to do more with just FSMs and the icluded RAM/ROM, compared to using individual ttl/cmos parts and designing a PCB. I mean you could do a VT100 compatible if you really wanted, but doing it with an 8 bit micro is way easier to write & debug (and extend!).


Any recommendations on good books that cover FPGA programming?


Not a book, but https://fpga4fun.com. I've looked at a few FPGA books, and have not seen a really good one yet.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: