The 6507 is a reduced capability CPU in the 6502 family. It has an 8K address space and has no interrupt inputs.
This project was completed about 2 years ago. It was undertaken at the request of a company that had a need for a small controller that could execute existing 6502 code and that had a pre-defined parallel control bus to attach the controller.
As a part of the process in creating this controller, I used Tom Pitman's Tiny Basic interpreter. This was basically a lost language, but Tom had an old HEX file intended for a KIM-1 computer which I disassembled and produced a assembly language source for it. Tom posted my first working version on his site www.ittybittycomputers.com. I have made a few improvements since then.
I used a 3 step process to test and improve the harware design.
Here is the Alpha prototype done on solder less breadboard:
Several changes were indicated by the Alpha, especially in the memory map decoding. It was also used to develop the console monitor and 'boot loader' (these are property of the client and will not be included). Once all that was sorted out, I moved on to a Beta prototype:
This was done on strip board using top-side point to point wiring. I find the top-side wiring allows for easier changes if they are required. In this phase we added and tested the connection bus. Due to testing in this phase resulted in changes to the bus driver chips. Several tests were made with the client's code and controlled devices using this board. Once the tests were signed off the final product was committed to copper:
The final product featured 2 ROM banks and 2 RAM banks each of 4K. This allowed the client to load two controller programs for testing and, if they choose to use NVRAM, they could save the test parameters and data.
The I/O space overlaps the first few bytes of the ROM.
It has a standard RS232 serial interface that can be used for control inputs or status outputs. If used with the Tiny Basic and terminal monitor, all programming can be done thorough the serial interface.
Here is a small jpeg of the schematic. I will try to produce a better one and update this post later along with the parts list.
And finally, the Tiny Basic source code is attached. This version has some sub-routines for timing and stepper motor control that can be called from Basic using the USR() function.
This project was completed about 2 years ago. It was undertaken at the request of a company that had a need for a small controller that could execute existing 6502 code and that had a pre-defined parallel control bus to attach the controller.
As a part of the process in creating this controller, I used Tom Pitman's Tiny Basic interpreter. This was basically a lost language, but Tom had an old HEX file intended for a KIM-1 computer which I disassembled and produced a assembly language source for it. Tom posted my first working version on his site www.ittybittycomputers.com. I have made a few improvements since then.
I used a 3 step process to test and improve the harware design.
Here is the Alpha prototype done on solder less breadboard:
Several changes were indicated by the Alpha, especially in the memory map decoding. It was also used to develop the console monitor and 'boot loader' (these are property of the client and will not be included). Once all that was sorted out, I moved on to a Beta prototype:
This was done on strip board using top-side point to point wiring. I find the top-side wiring allows for easier changes if they are required. In this phase we added and tested the connection bus. Due to testing in this phase resulted in changes to the bus driver chips. Several tests were made with the client's code and controlled devices using this board. Once the tests were signed off the final product was committed to copper:
The final product featured 2 ROM banks and 2 RAM banks each of 4K. This allowed the client to load two controller programs for testing and, if they choose to use NVRAM, they could save the test parameters and data.
The I/O space overlaps the first few bytes of the ROM.
It has a standard RS232 serial interface that can be used for control inputs or status outputs. If used with the Tiny Basic and terminal monitor, all programming can be done thorough the serial interface.
Here is a small jpeg of the schematic. I will try to produce a better one and update this post later along with the parts list.
And finally, the Tiny Basic source code is attached. This version has some sub-routines for timing and stepper motor control that can be called from Basic using the USR() function.
Attachments
-
39 KB Views: 298
-
46.1 KB Views: 307
-
43 KB Views: 304
-
97.7 KB Views: 326
-
180 KB Views: 98