|
Post by D-Type on Sept 22, 2022 7:20:25 GMT -5
Excellent work so far! Does VIDE emulate 6309? If it did, you could use tracki to see what the cycle count reduction is when you swap the 6809 for native 6309 for a full game.
Either way, I'm guessing that there are probably not too many BIOS functions that would need rewriting to work for 6309 for Mine Storm, but of course you'd need to migrate them to your custom binary, else you'd need to replace the installed BIOS ROM.
I've already contemplated swapping out Mine Storm (or possibly the whole BIOS) and replacing it with VecForth, it'd save some precious boot-time seconds for my Dev environment!
|
|
|
Post by Peer on Sept 22, 2022 8:48:56 GMT -5
Excellent work so far! Does VIDE emulate 6309? If it did, you could use tracki to see what the cycle count reduction is when you swap the 6809 for native 6309 for a full game. Either way, I'm guessing that there are probably not too many BIOS functions that would need rewriting to work for 6309 for Mine Storm, but of course you'd need to migrate them to your custom binary, else you'd need to replace the installed BIOS ROM. I've already contemplated swapping out Mine Storm (or possibly the whole BIOS) and replacing it with VecForth, it'd save some precious boot-time seconds for my Dev environment! Thanks! No, VIDE does not, as of yet, emulate 6309. That would indeed be cool, but I guess that would be a major piece of work for Malban . I am currently running Kingslayer Chess in both modes, as this does a large amount of calculations, and I can easily compare the performance by counting the frames (not cycles here, but frames) needed. Improvement seems to be in the order of roughly at 10% to 15% in frames for this application. I will likely post the detailed results in the near future.
I have thought about replacing the BIOS chips in my console with socketed flash roms. That would come in handy. Does anyone know if someone has already done this on a real console? Any help appreciated!
Cheers, Peer
|
|
|
Post by D-Type on Sept 22, 2022 11:29:31 GMT -5
|
|
|
Post by D-Type on Sept 22, 2022 11:38:14 GMT -5
Ok, here is a link. (My conversation with him was via email.) youtu.be/GogwSxNuD98He hangs out on ukvac.com, same username as YouTube. Let me know if you want his email address, I can send it to you.
|
|
|
Post by Peer on Sept 23, 2022 2:48:46 GMT -5
Ok, here is a link. (My conversation with him was via email.) youtu.be/GogwSxNuD98He hangs out on ukvac.com, same username as YouTube. Let me know if you want his email address, I can send it to you. Great, this seems indeed to be exactly what I am looking for. Yes, please, send me his address. Many thanks!!!
|
|
|
Post by nes4life on Sept 23, 2022 8:24:20 GMT -5
Yes, that ATTiny85 project at github.com/Phillrb/multi_rom_controller is intended to be a generic bank-switching solution for any console (including Vectrex). It'll allow you to fit a larger EPROM (with an adapter) holding multiple images, and cycle through them using a single button press. It persists the selected image through reboots, and it issues a reset (via a dangling wire) so you shouldn't need to turn the console on and off. I'll try and make an all-in-one board that hosts the EPROM, an internal button, and dangling wire to clip to the Reset line, and expose a couple of pads so that you can hook up a dedicated button. For my own Vectrex, I actually paired this with my VStereo mod so that I could get access to the controller buttons (as they go through the AY chip). When you hold down all the player buttons together on both player controllers, it cycles to the next image and issues the reset (no need for an external button).
|
|
|
Post by Peer on Sept 23, 2022 11:47:35 GMT -5
Thanks a lot for your reply, nes4life , I just sent you a message by email.
|
|
|
Post by Peer on Sept 24, 2022 10:18:34 GMT -5
Did some deeper reading about the extended features of the 6309. What a pity that it wasn't marketed this way. And what potential if the Vectrex had come with a 6309 in 1982 ...
|
|
|
Post by D-Type on Sept 24, 2022 10:41:25 GMT -5
From what I understand, Hitachi were simply a licensed second supplier to Motorola for 6809. When the 6309 was released, they never told anyone about the extra functionality they added. I can understand why, I doubt Motorola would have been very happy about it. On the other hand, this could be a completely bogus story.
Either way, 6809 was just a bit late to the party, 6309 a bit more so. 16-bit was off and running and the manufacturing costs were probably not that different. Now consider a Vectrex with a 68000...
|
|
|
Post by Peer on Sept 24, 2022 12:51:38 GMT -5
... Now consider a Vectrex with a 68000... That is a tempting thought, indeed But I guess a 68000 would be overkill in a Vectrex, at least in its current form. If the Smiths had had the means and had designed the console with a 68000 in mind, I think the result would have likely been very different from what we know today. The logic (and also in a sense the analog) board of the Vectrex are 8-bit designs, as the 6809 is primarily an 8-bit CPU, with some nice and handy 16-bit extensions. The 68000 is a true 16-bit CPU, so y and x vector components, scale factor, brightness etc. would likely have been 16-bit values, allowing for some very advanced vector graphics. And since the 68000 has a 32-bit address bus, the ram and rom would have likely been in the order of 1 to 4 megs. Or maybe not, as memory chips were still rather expensive in 1982 But what a cool console that would have made…
|
|
|
Post by Peer on Sept 25, 2022 5:45:12 GMT -5
Small Update:
As reported earlier, the timing of the Print_Str() BIOS routines is off when running in 6309-native mode, causing the text to look distorted. I created a hand-patched binary of Mine Storm 2, in which I added a new subroutine
my_Print_Str:
set_mode_6809;
jsr Print_Str;
set_mode_6309;
rts;
and then replaced all "jsr Print_Str" by "jsr my_Print_Str". So, when the binary runs, all the Print_Str() calls are executed in old 6809-emulation mode, the texts looks fine again, and all the rest is executed in 6309-native mode.
I played Mine Storm 2 up to level 8. All worked fine, except for some rare and occasional strange "stuttering" (game slowing down with additional blank-screen-frames). This "stuttering" seemed to appear randomly and lasted only few seconds, and then everything went back to normal (no crashing). I do not yet know to what this could be related.
Cheers, Peer
|
|
|
Post by D-Type on Sept 25, 2022 6:00:31 GMT -5
Could it be interrupt related?
|
|
|
Post by Peer on Sept 25, 2022 6:08:01 GMT -5
Could it be interrupt related? Could be. Does the BIOS use interrupts?
6309-native mode can be set to treat interrupts in two ways, just like the 6809, or in a 6309 way. I used the former, but it could still be interrupt related...
|
|
|
Post by Peer on Sept 25, 2022 9:04:25 GMT -5
Could it be interrupt related? As far as I can see, the BIOS code does not seem to use any interrupts, nor does the Mine Storm 2 code...
|
|
|
Post by Peer on Sept 26, 2022 9:01:37 GMT -5
I just tried "Spike" in 6309-native mode. Basically, the game plays fine, but in the scenes where Spike speaks, the vectors start to jump wildly. I found out that, at this place, the game does not use the BIOS print routines, but a print routine of its own to print the spoken words to screen. Also, interrupts are used. So the jumping could be caused by the now-off timing of the proprietory print routine, or by the interrupts.
|
|