Currently, the most significant risk that could jeopardize our project is the complexity of the drivers. Because we are going to be interfacing with the real hardware, our software level drivers need to be completely correct. This is especially difficult, as our driver software timing also relies on our 6502 being cycle accurate to the original one. To mitigate this, we are making our 6502 cycle accurate. We also intend to test our software on a floppy disk emulator. Using a driver from an old program would be a contingency. We are reaching a point in our project where the 6502, DOS, and FDD need to be designed to work together despite being implemented separately. Any risks associated with this integration focused design are already being mitigated by frequent internal design and code reviews.
No changes were made this week. As such, the schedule is the same.
For this week’s questions, A was written by Aaron, B was written by Rudy, and C was written by Will.
Part A: Our product solution will be designed to be safe. Because we are trying to interface with real hardware components like a floppy disk driver, we need to ensure that we do not damage the device. Doing so could potentially create a physical hazard to the user, as it is an electrical component.
Part B: The purpose of our product is for both historical and educational purposes. So with this, we hold the responsibility of representing history accurately and ensuring that this educational opportunity is accessible to as many people as possible. Historical accuracy is quite clear-cut, but educational accessibility is a bit more complicated. This is because it involves making the project available to all who have an interest in it, regardless of their level of familiarity with the subject.
To support this, we’ve been very thorough in our documentation of the 6502 redesign; noting down our own confusions and hidden gems of information we’ve come across. This documentation allows somebody with basic familiarity of CPUs to follow along and learn about the underlying details of the Apple II in the same way we have been, which is much preferred to reading source code. Once past the 6502, we intend to continue our extensive documentation for the Apple II’s intricacies, whose design is even more complicated.
Part C: Considering economic factors, our product meets the needs of lower income people and organizations who want to teach about the history of personal computing. To purchase an original Apple //, it costs at MINIMUM $2000, a price that is not accessible to most people. Our product will recreate the functionality and user experience of the Apple // while costing drastically less that buying an original machine.
We also intend to make the majority of our RTL, software, and other design elements and documentation entirely open source. This will allow people to make their own FPGApple // at home, only needing to cover the cost of materials. Our product will ultimately lower the economic burden on people who aim to learn about and experience early personal computing technologies.