Closed lb3361 closed 1 year ago
1) gtemuAT67 pull request is in the wrong repo, I have already added the changes to the correct repo. 2) As previously stated Invader is not available for any other ROM's except ROMvX0, no at67 applications are available for any ROM's other than ROMvX0.
Fix 1) and 2) by removing them from the pull request and I will accept the pull request.
Ok. I will prepare an updated pull request.
Regarding (1), to which repo should we submit pull requests regarding gtemuat67?
Regarding (2), I had hoped that you would consider the mainline rom differently. I will not discuss your decision but ask for community suggestions to find a good replacement, using as open as possible a process.
1) https://github.com/at67/gigatron-rom/tree/master/Contrib/at67
2) Sounds like a good idea, there's a large pool of appropriate candidates.
The pull request has been updated and should be ready to go now
Here is a breakthrough of all the commits:
RomTypeValue_DEVROM
. Therefore dev.rom runs in the old gtemuat67 (unlike ROMv6.rom which has RomTypeValue_ROMv6).
This is a pull request for ROMv6 which will be updated in light of the comments and concerns that will arise.
The native code of ROMv6 is 99.9% identical to current dev rom (one exception documented below) which has already been extensively tested. Compared to ROMv5a, it brings some bug fixes, a few useful system calls, and a far more usable support for all kinds of ram & io expansion boards like the one Marcel was developing. Many of the application changes were already present in the dev rom (faster Mandelbrot, workable card boot, racer improvements). This pull request proposes to change the application selection by replacing "Pictures" and "Tetronis" by at67's "Invader" and hans61's "gtmine". This can of course be changed. My reasons for choosing this two programs was that (a) Invader is widely recognized as a tour-de-force that illustrates what can be done within the boundaries of the classic ROMs, and (b) GtMine is a version of the classic minesweeper that one finds in virtually all operating systems, so why not the Gigatron rom.
The pull request is made of seven commits described in detail below:
2ab4ac4
"Prepare gtemuAT67 for ROMv6" includes minimal changes to ensure that gtemuat67 does not reject the new rom because of its new romTypeValue, changes to loader_config.ini to offer an easy way to load a ROMv6 in the current directory, and a small change that helps Macs to locate this ini file.daa12d1
"Removed: Pictures, Tetronis. Added: Invader (at67)" adds an Apps subdirectories containing a pristine gt1 files for "Invader" and updated the main menu with this new application selection.8735f48
"Added: GtMine (hans61)" adds an Apps subdirectory containing Hans' GTMine program, as well as a main menu update.def6b66
"updated: Credits (smoothScroll)" updates the credits application. My goal was to make sure to list the contributions of at67 and hans61. Alas the old Credit screen was already cluttered. The new smooth scrolling interface provides an easy framework to reproduce the original credits and insert new credit lines for Invader and GtMine. This is easy to test because the program is not interactive: if it goes for 30 minutes without crashing, it goes forever.e6da9fa
"Novatron patch (also useful for certain ram & io expansion boards)" is the only change to the dev.rom native code. The main reason to include this patch is to help Hans' recreation of Marcel's original expansion board design with just 74' series chips. The main drawback is that it reduces the number of SPI channels on Marcel's board to only two usable channels. Although Marcel's design offered 4 channels, only one is actually usable with common SPI devices. The patch is implemented using the conditional compilation support that was added toasm.py
a while ago. It can be disabled by simply adding option-DWITH_NOVATRON_PATCH=0
to the command line.7b96409
"Renamed DEVROM SYScalls as v6. Updated interface.json." renames all the new syscalls with suffix_DEVROM
to suffix_v6
. This requires changes indev.asm.py
, ininterface.json
, and in all the dev rom applications that has been modified to use these new sys calls. This probably is the most error prone change necessary for a mainline rom release. This commit also changesRomTypeValue
toromTypeValue_ROMv6
making the dev rom a prototype of ROMv6.2009244
"Versionned apps and created ROMv6" gives version numbers to all ROMv6 applications versioned one (see Docs/Versioning.txt), copiesdev.asm.py
toROMv6.asm.py
, and restores the DEVROM romTypeValue indev.asm.py
making it again a DEVROM that is otherwise similar to ROMv6. Binaries for ROMv6 are then included.