I recently used Z88DK to make a demo for "VTI" board.
It's a S100 board for computers like IMSAI 8080, Altair 8800, Poly88. It was born for Poly88 but it works also for other ones.
Here is a description of the board: http://www.s100computers.com/Hardware%2 ... 0Board.htm
It has a composite video output which interfaces with a plain composite monitor (it's NOT a serial device).
It's memory-mapped, so the ouput is produced simply putting values in memory location.
The start address is by default $F800 but it can be easily changed through dip-switches in case of conflicts with other boards. Infact we changed the start address to $E800 because the default one was used by other board.
It has 64x16 character grid, The charset includes all US-ASCII chars, a bunch of 32 greek letters and 64 special 2x3 "block" characters (chars from 0x00 to 0x3f), which can reach 128x48 "pixels" resolution.
I did a working demo and put it on github: https://github.com/sblendorio/vti-lib
You can see the result in this video: https://www.youtube.com/watch?v=v8e73I5sO7A
Could it be possibile to add support for this hardware into Z88DK project?
Here is a list of functions implemented in my library. The key functions are "vti_set_start" and "vti_plot".
- void vti_set_start(unsigned int start);
- void vti_print_at(int x, int y, unsigned char *msg);
- void vti_clear_screen(void);
- void vti_rawchar_at(int x, int y, char ch);
- void vti_plot(char mode, int x, int y);
- void vti_line(char mode, int x0, int y0, int x1, int y1);
- void vti_ellipse_rect(char mode, int x0, int y0, int x1, int y1);
- void vti_box(char mode, int x0, int y0, int x1, int y1);
- void vti_boxfill(char mode, int x0, int y0, int x1, int y1);
- char vti_read_pixel(int x, int y);
- unsigned char vti_read_char(int x, int y);
- void vti_scroll_up(int n);
- void vti_scroll_down(int n);
- void vti_put_shape(int x, int y, char **shape, int w, int h);