-
Notifications
You must be signed in to change notification settings - Fork 93
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
swtp6809 simulator being contributed to open-simh project (updated release candidate) #372
base: master
Are you sure you want to change the base?
Conversation
This is my initial commit of my swtp6809 emulator which is a modified version of the swtp6800 emulator. The following changes are still outstanding: - various code clean up tasks and removal of temporary comments - bootrom.c - reset() appears to be performing attach() funtion, I plan to clean up soon - mp-b3.c - want to add #define for 4 bytes per slot versus 16 bytes per slot - dc-4.c - trying to understand the changes I made from the original dc-4.c in the swtp6800 emulator - I will do additional testing, however, for now this boots Flex 9.0 and appears to be working fine
General clean up of code. Removed unneeded test prints that were used for debugging. Removed swtp_sbuge_bin.h which implemented BOOTROM code internally. Users should use "ATTACH BOOTROM <sbuge.bin filename>". Added reset() routine to CPU. If last line in INI file is "RESET CPU" then simulator goes straight into BOOTROM from reset vector at $FFFE. Tested with several FLEX 9 DSK files. Known issues are: 1) Backspace (BS) does not seem to work when running Flex 9. 2) When simulator starts up the PC has a value of $FFFF (and not $FFFE). 3) No DMAF1/DMAF2 disk emulation which is required for support of UniFlex. 4) No documentation has been written yet. However, I am more than willing to put something together. Note this code was developed using Debian on Raspberry Pi 4. There may be Unix/DOS file conversion issues.
SWTP 6809 Simulator Usage guide.
… (Pull Request) - updates to code while writing the simulator usage guide - added copyright notice to relevant source code modules - used unix2dos to format source files for DOS line terminator conventions - source code files from swtp6800 with some changes: swtp_defs.h, dc-4.c - source code files from swtp6800 that are unchanged: mp-s.
# This is the 1st commit message: Richard Lukes - 18 FEB 2024 This is my initial commit of my swtp6809 emulator which is a modified version of the swtp6800 emulator. The following changes are still outstanding: - various code clean up tasks and removal of temporary comments - bootrom.c - reset() appears to be performing attach() funtion, I plan to clean up soon - mp-b3.c - want to add #define for 4 bytes per slot versus 16 bytes per slot - dc-4.c - trying to understand the changes I made from the original dc-4.c in the swtp6800 emulator - I will do additional testing, however, for now this boots Flex 9.0 and appears to be working fine # This is the commit message open-simh#2: In preparation of presenting for contribution as a "pull request". General clean up of code. Removed unneeded test prints that were used for debugging. Removed swtp_sbuge_bin.h which implemented BOOTROM code internally. Users should use "ATTACH BOOTROM <sbuge.bin filename>". Added reset() routine to CPU. If last line in INI file is "RESET CPU" then simulator goes straight into BOOTROM from reset vector at $FFFE. Tested with several FLEX 9 DSK files. Known issues are: 1) Backspace (BS) does not seem to work when running Flex 9. 2) When simulator starts up the PC has a value of $FFFF (and not $FFFE). 3) No DMAF1/DMAF2 disk emulation which is required for support of UniFlex. 4) No documentation has been written yet. However, I am more than willing to put something together. Note this code was developed using Debian on Raspberry Pi 4. There may be Unix/DOS file conversion issues. # This is the commit message open-simh#3: swtp6809 simulator being contributed to open-simh project open-simh#357 (Pull Request) - updates to code while writing the simulator usage guide - added copyright notice to relevant source code modules - used unix2dos to format source files for DOS line terminator conventions - source code files from swtp6800 with some changes: swtp_defs.h, dc-4.c - source code files from swtp6800 that are unchanged: mp-s. # This is the commit message open-simh#4: CMake: Reduce excess quoting cmake/cmake-builder.ps1 added quotes to arguments that contained spaces, so that arguments printed correctly for progress output. This introduced excess quotes that caused CMake (and likely other MS apps) confusion or argument misinterpretation. Instead of CMake seeing a single "Visual Studio 17 2022", CMake was actually seeing "\"Visual Studio 17 2022\"". This patch only adds the additional quotes when reporting progress or emitting debug output. Otherwise, command line arguments are passed unmolested. # This is the commit message open-simh#5: The user doc file for the swtp6809 simulator SWTP 6809 Simulator Usage guide.
…significant changes from swtp6800 simulator. Added some device settings while updating the simulator usage doc file.
swtp6809: updated documentation after numerous bug fixes and enhancements to swtp6809 simulator
swtp6809: simulator doc file; updated table of contents
Hi Richard, I spent some time yesterday and the day before to review what is in this Pull Request. Adding a variation of the SWTP family of systems is certainly a reasonable goal. After looking at your stuff I had a call with Bill Beech (the author of the existing SWTP simulators) to review his understanding of your efforts. Bill was under the impression that there was a single file in common between his legacy swtp simulators and your new simulator. This single common file was the dc-4.c floppy disk simulator. When looking at your efforts it would be perfectly reasonable that your simulator might need some changes to this device, but the version you modified was definitely not the latest code in the open-simh/simh repository. The latest dc-4.c module had some changes made almost 2 years back contributed by Roberto Sancho Villa. Apart from this, there were several other issues which should be cleaned up: 1 – All Simh source code has specifically had CRLF line endings (which all of your files actually have), AND they have tabs converted to spaces which a number of your files don’t. The open-simh/simh repository version all of the SWTP files had these fixed many years ago. 2 – Your new simulator is specifically very much related to the legacy 2 SWTP simulators and as such should share the directory in the source code. We absolutely don’t have different top level simulator directories for each simulator or we’d have some 78 separate directories with common code copied all over the place. Many directories that host the code for multiple simulators some examples are: 3B2, Interdata, NOVA, PDP10, PDP11, PDP18B, SEL32, SWTP, VAX. Your simulator’s source really should be in the swtp6800 directory with a swtp6809 subdirectory and leveraging common code between the multiple simulators in the existing common directory. Going down this path then shows that there are 2 other source modules which have some commonality between the 3 simulators contained in the swtp6800 directory. These are bootrom.c and mp-s.c. It would seem that mp-s.c is actually precisely the original file, but your bootrom.c is different from what was already in the common directory. It would seem best that the "common" files actually work for all 3 of the SWTP simulators. If any of these are drastically different in function, then it should have a different name. To achieve this goal, minor modifications to potentially other existing SWTP source modules might be needed. 3 - Simulators should build error/warning free with the existing compilers using all the various build tool chains that are mentioned by build mechanisms in the repository. Feel free to contact me directly at [email protected] to get changed versions of your existing source modules with tabs removed and compiler warnings fixed. 4 - When this simulator is actually added to the open-simh/simh repository it will be done with a single commit. The details of the many commits in your development work shouldn’t be included.
|
I have taken some time to improve the swtp6809 simulator and make numerous bug fixes and enhance functionality. The doc file has been updated also. I have rebased my branch to pick up the latest changes in the master. The simulator is now working reliably with Flex 9.0 DSK images (reading and writing). Tested with applications including EDIT, ASMB, and BASIC. I am sure there is still room for improvement, but, this is a much better release candidate than my earlier pull request. Thank you for your consideration.