zrthxn wrote:
Hello!
Welcome and good luck!
Quote:
The video signal is being generated by a microcontroller (STM32) because I thought that's probably the easiest way to get it working without worrying about a lot of VGA signal timing. This MCU is fast enough to generate a 640x480 screen and has enough memory to store the framebuffer. Some more details are in my schematic.
I'm always very interested in people's video solutions, I'll check the schematic later.
Quote:
1. I am unsure if the configuration of ACIA and VIA I have, will work for interfacing with the computer. I've seen many people use the 6522 VIA to control the 6551 ACIA as a peripheral but i dont know if that is a requirement or can the ACIA act directly as a MMIO device?
I'm not sure what the benefit would be of interfacing it through the 6522. Maybe it allows faster CPU clock speeds without needing a faster 6551. It's fine if that's what you need, but probably more complex to program this way around. My personal default would probably be to just hook it to the main bus.
Quote:
2. My goal for the serial interface is to be able to connect some kind of SD card reader with a serial output to it and use that to load programs onto the computer. Since the W65C51N is in short supply from the suppliers I'm using, I am looking to swap it for a more modern chip that can do the same sort of job with roughly the same inputs and outputs. What, if any, are my options here?
I'm not sure about this bit, I've never seen a 6551 used to drive an SD card and would have thought it not a good match. SD is mostly SPI, which has a separate clock line. You can bit-bang it quite easily on a 6522, and it is possible to use the internal shift register and/or one or two external ones to remove some load from the CPU in the process. That's what I would recommend and I have an implementation on GitHub that walks you through this setup and ends up with code to read arbitrary files from FAT32.
It also wouldn't take much to interface with 74-series logic, if 6522s are hard to get. Probably just two shift registers and a control module, and you could probably integrate it into your FPGA I should think if you know what you're doing there.
Quote:
3. Is the USB interface idea going to work? I know modern keyboards use different protocols from the PS2 keyboards which will just give you the scan code.
I don't know much about it but assuming the interface handles all the details of the USB HID communication with the keyboard, the practicality from your perspective really depends on what interface it provides to you, e.g. some form of serial or parallel interface would be easy, SPI would be nice too. I would have thought your side wouldn't need to know about USB at all.
Quote:
4. In the 6522 VIA I'm using, I have used port B as the data port and port A as a control port. I was planning to use two MSBs from Port A as a chip select so i can maybe have multiple peripheral devices. Is this a good idea? Chips like the USB interface dont have a Chip Select nowadays
Garth's primer has a great example of using one port to activate devices and sharing the other port to communicate with them all. I think that's what you mean? You can use something like a 74HC138 to decode three bits into 8 device select lines. You can also use the remaining pins of Port A to drive an addressable latch for more output bits if you need them - there are a lot of options depending how wide you need to go.