Re: 65816 Project "Integrity"
Posted: Mon Apr 03, 2023 9:37 pm
today was a pretty good day. after I got the early morning done, I got back in the house about 8:30 and started calling colleges in florida. I got some real good feedback from the people I spoke to, it really helped to solidify what I am working on and why.
Part of NSF Innovation Corps training is customer development, and i-corps training is more than that. After the 3rd or 4th call I started to get my pitch down, and could say "I am wayfarer, and I am working on this device, and it does this."
I used to telemarket a bit, and I did prospecting for a guy that bought and sold as/400s and rs/6000s. I am used to cold calling. It started to come back to me. In i-corps training, they tell you a minimum of 40 interviews. I got 1-2 today out of dozens of calls. I expect to be at this round of cold-calling and talking to people and asking questions for another week or two. I want to make sure I can find a few people willing to at least demo one of these things, and I want to make sure the base device is something they can use in their curriculum. Thats just the ECE side, Ill do a round in computer graphics and in industrial as well, not just colleges, factories. One of my professors is adamant about ladder logic and PLCs, i think its a good market to go after. Just yesterday I was talking to a friend up in Canada that does environmental assurance testing. They support a lot of legacy hardware and said they have tried about 5 PCI RS-232 cards and about half of them work. I immediately thought of you all here. have a module or a few ports or adapters that can talk to and debug or diagnose legacy systems is really a good thing to go after. A 'wired comms' module or such, maybe on the 'scope module, idk yet.
I also got to talk to Dr Y. over at university today, he has done Wire Wrap stuff in the past. Really valuable call there!
He suggested I check out PC/104, and after a bit of reading, I think I want to look into PC104+ "Bus Compatible" rather than "Compliant". This offers both ISA and PCI busses to my device and allows good bench level design too. So, I will be making a thread on busses soon, and discuss aspects to consider there. I already wanted XT/ISA and PCMCIA, and Ti makes a PCI/PCCard chip. the PCI1520 I think. I reached out to Ti support today to get info on if I can down clock it, if its stable, if its static, if it needs a different PCI host controller etc.
I found some really cool GPUs from Epson of all places, certainly an option. Has direct bus access. So does the 4d series from the Au. the bridgetek, the EVE, only has spi/qspi. I now have 3 good choices for a main "GPU". at least 2 if not 3 (there are several epson to choose from) that run at 12MHz. It is looking more and more like 12MHz is going to be my base system clock. One of the epson has killer 2d, the other has oGL ES 1.1. THAT, would be really cool, Im not sure the 65816, or two 65816s. could get much from it, idk. It would be awesome though, and it beats out the EVE here.
Because ISA likes slow speeds, having a 6MHz clock line, is maybe a good idea, however, if we can get the Bus at 32bit max (even if we dont use all of it) with the Ti 1520, then 24Mhz becomes a thought at double our 12Mhz main clock. Most stuff all running at 12MHz is fin too. The GPU will probably run at 60Mhz and be a 32bit RISC unit as above.
msp430 and 65265 and good contenders for the PIC24 position as board controllers. I still think the PIC24 is the best choice so far, though which version is not final.
One of the last calls I made was to MSU, and I called, like 30 people, and the last one, picked up. They had no idea, totally different department, they however suggested I contact the department chair and ask, they would know who teaches what.
So tomorrow, Ill try that. at several dozen colleges, Ill call the chair and ask about who might teach the assembly and mcu and industrial logic classes. I might, try to get an email sorted and send it out to many hundreds of people. start building a list, and get a brochure, well, a questionaire sent out. "do you tech X, if you do, do you use Y?" that sort of thing.
For now, Im going to read up on the PC104+ and PC104 specs and see if it tracks. Later, I might start on some assembly in an emulator/simulator/IDE and try to get going with some basic read/write/copy operations, maybe some math, start playing with each command and watching the outputs. Id like to be using C, though thats a long way away.
I look forward to getting the bench going and get the Core unit working, at this point I think is going to be a 6502 (816 later) and a 6522, a DART (max3100 maybe), a very small ROM and a lot of RAM (and stuff to switch rom/ram banks maybe)
thats really the core itself, CPU, I/O,ROM/RAM CIORR, maybe add 'energy' in there for the E...
this should have mode for headless operation, and with a monitor for normal use.
I might try to get a stylus working here right away.
for HID, Im looking at a small screen in my preferred aspect ratio, and the keypad/button style I want to use, so an onscreen keyboard is probably one of the first 10 things to code. after that, Ill look more at the PIC for a bus and an actual GPU and start getting that working. Once a basic CORE is working, then I want to offload all of the 6522 and UART stuff off to the PIC, they would sit idle now, and only get used as needed. I am considering not having much besides the 65816 really, just CPU and RAM.
The goal is an overall design :
65816 <- top level, does logic and commands
PIC24 <- interrupt handler, I/O handler, DMA, peripherals etc
LCDGPU <- video, PC speaker, stylus interface, maybe SD card 'hard drive' access
SS01G <- audio generation, probably sends to a mixer
PCI1520 <- this might go on a peripheral, does PCMCIA and 32bit bus. not right now.
so the 65816 is just running code, its getting input, and running logic and then it tells the GPU to run routines, and rarely specific pixels.
it tells the PIC to route signals or copy and paste data, it tells the pic to sort the interrupts and handle what it can. It tells the sound chip what songs and effects to play. Really, it tells the RAM what it wants, and the PIC reads that ram, or that RAM was really controls in the PIC, and the PIC does things and uses its I/O to tell everything else what to do. The CPU leaves instructions here, and goes to do other things, the PIC does everything else, and often tells the GPU indirectly what to do,
Lots of DMA I guess, and probably some fast shared video RAM (some epson chips have this built in in nice sizes) for the direct GPU control.
The cpu should not be 'updating the screen', it should update variables to draw on the screen, and the PIC and GPU should draw on the screen. the cpu should not process the stylus, it should get a 'stylus_event' after its been handled by the gpu and may only do periodic checking, or updating an image or variable.
Anyway, I am starting to narrow down what to work on next, I said pages ago I want to focus on just a Core unit of the cpu and some required chips. I have to order those soon, maybe next week, I need to check storage for my chips and wires before I order more
so, I think Ill work on some assembly and see if I can get something started, better to port code to a physical system and fix it, that wait and start later. Id like to aim for an onscreen keyboard and cursor, maybe a prompt, or a set of 4-6 icons you can 'click' with the keypad and button, and go to different screens, after that, Ill start on a calculator and a Hex Editor.
anyway, it's been a very productive day.
Part of NSF Innovation Corps training is customer development, and i-corps training is more than that. After the 3rd or 4th call I started to get my pitch down, and could say "I am wayfarer, and I am working on this device, and it does this."
I used to telemarket a bit, and I did prospecting for a guy that bought and sold as/400s and rs/6000s. I am used to cold calling. It started to come back to me. In i-corps training, they tell you a minimum of 40 interviews. I got 1-2 today out of dozens of calls. I expect to be at this round of cold-calling and talking to people and asking questions for another week or two. I want to make sure I can find a few people willing to at least demo one of these things, and I want to make sure the base device is something they can use in their curriculum. Thats just the ECE side, Ill do a round in computer graphics and in industrial as well, not just colleges, factories. One of my professors is adamant about ladder logic and PLCs, i think its a good market to go after. Just yesterday I was talking to a friend up in Canada that does environmental assurance testing. They support a lot of legacy hardware and said they have tried about 5 PCI RS-232 cards and about half of them work. I immediately thought of you all here. have a module or a few ports or adapters that can talk to and debug or diagnose legacy systems is really a good thing to go after. A 'wired comms' module or such, maybe on the 'scope module, idk yet.
I also got to talk to Dr Y. over at university today, he has done Wire Wrap stuff in the past. Really valuable call there!
He suggested I check out PC/104, and after a bit of reading, I think I want to look into PC104+ "Bus Compatible" rather than "Compliant". This offers both ISA and PCI busses to my device and allows good bench level design too. So, I will be making a thread on busses soon, and discuss aspects to consider there. I already wanted XT/ISA and PCMCIA, and Ti makes a PCI/PCCard chip. the PCI1520 I think. I reached out to Ti support today to get info on if I can down clock it, if its stable, if its static, if it needs a different PCI host controller etc.
I found some really cool GPUs from Epson of all places, certainly an option. Has direct bus access. So does the 4d series from the Au. the bridgetek, the EVE, only has spi/qspi. I now have 3 good choices for a main "GPU". at least 2 if not 3 (there are several epson to choose from) that run at 12MHz. It is looking more and more like 12MHz is going to be my base system clock. One of the epson has killer 2d, the other has oGL ES 1.1. THAT, would be really cool, Im not sure the 65816, or two 65816s. could get much from it, idk. It would be awesome though, and it beats out the EVE here.
Because ISA likes slow speeds, having a 6MHz clock line, is maybe a good idea, however, if we can get the Bus at 32bit max (even if we dont use all of it) with the Ti 1520, then 24Mhz becomes a thought at double our 12Mhz main clock. Most stuff all running at 12MHz is fin too. The GPU will probably run at 60Mhz and be a 32bit RISC unit as above.
msp430 and 65265 and good contenders for the PIC24 position as board controllers. I still think the PIC24 is the best choice so far, though which version is not final.
One of the last calls I made was to MSU, and I called, like 30 people, and the last one, picked up. They had no idea, totally different department, they however suggested I contact the department chair and ask, they would know who teaches what.
So tomorrow, Ill try that. at several dozen colleges, Ill call the chair and ask about who might teach the assembly and mcu and industrial logic classes. I might, try to get an email sorted and send it out to many hundreds of people. start building a list, and get a brochure, well, a questionaire sent out. "do you tech X, if you do, do you use Y?" that sort of thing.
For now, Im going to read up on the PC104+ and PC104 specs and see if it tracks. Later, I might start on some assembly in an emulator/simulator/IDE and try to get going with some basic read/write/copy operations, maybe some math, start playing with each command and watching the outputs. Id like to be using C, though thats a long way away.
I look forward to getting the bench going and get the Core unit working, at this point I think is going to be a 6502 (816 later) and a 6522, a DART (max3100 maybe), a very small ROM and a lot of RAM (and stuff to switch rom/ram banks maybe)
thats really the core itself, CPU, I/O,ROM/RAM CIORR, maybe add 'energy' in there for the E...
this should have mode for headless operation, and with a monitor for normal use.
I might try to get a stylus working here right away.
for HID, Im looking at a small screen in my preferred aspect ratio, and the keypad/button style I want to use, so an onscreen keyboard is probably one of the first 10 things to code. after that, Ill look more at the PIC for a bus and an actual GPU and start getting that working. Once a basic CORE is working, then I want to offload all of the 6522 and UART stuff off to the PIC, they would sit idle now, and only get used as needed. I am considering not having much besides the 65816 really, just CPU and RAM.
The goal is an overall design :
65816 <- top level, does logic and commands
PIC24 <- interrupt handler, I/O handler, DMA, peripherals etc
LCDGPU <- video, PC speaker, stylus interface, maybe SD card 'hard drive' access
SS01G <- audio generation, probably sends to a mixer
PCI1520 <- this might go on a peripheral, does PCMCIA and 32bit bus. not right now.
so the 65816 is just running code, its getting input, and running logic and then it tells the GPU to run routines, and rarely specific pixels.
it tells the PIC to route signals or copy and paste data, it tells the pic to sort the interrupts and handle what it can. It tells the sound chip what songs and effects to play. Really, it tells the RAM what it wants, and the PIC reads that ram, or that RAM was really controls in the PIC, and the PIC does things and uses its I/O to tell everything else what to do. The CPU leaves instructions here, and goes to do other things, the PIC does everything else, and often tells the GPU indirectly what to do,
Lots of DMA I guess, and probably some fast shared video RAM (some epson chips have this built in in nice sizes) for the direct GPU control.
The cpu should not be 'updating the screen', it should update variables to draw on the screen, and the PIC and GPU should draw on the screen. the cpu should not process the stylus, it should get a 'stylus_event' after its been handled by the gpu and may only do periodic checking, or updating an image or variable.
Anyway, I am starting to narrow down what to work on next, I said pages ago I want to focus on just a Core unit of the cpu and some required chips. I have to order those soon, maybe next week, I need to check storage for my chips and wires before I order more
so, I think Ill work on some assembly and see if I can get something started, better to port code to a physical system and fix it, that wait and start later. Id like to aim for an onscreen keyboard and cursor, maybe a prompt, or a set of 4-6 icons you can 'click' with the keypad and button, and go to different screens, after that, Ill start on a calculator and a Hex Editor.
anyway, it's been a very productive day.