Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Analysis of the official 0xb796,0x7931 0x7adb BIOS versions

13 views
Skip to first unread message

Vectrexer

unread,
Feb 21, 2024, 8:29:03 PMFeb 21
to
A useful analysis Vectrex console topic on the various BIOS versions was made by Prof. Dr. rer. nat. Peer Johannsen (Peer). Of Retro Programming - Vectrex Academy course fame offered at Pforzheim University.

Topic post thread found here:
https://vectorgaming.proboards.com/thread/2640/analysis-official-0xb796-0x7931-versions

Related web site post that is updated as needed with more information is found here:
https://itwww.hs-pforzheim.de/daten/mitarbeiter/johannsen/vectrex_lab/projects/bios_versions/bios_versions.htm

The first post of the thread in below. See subsequent posts for more information.
####

As far as I know, there are three "official" Vectrex BIOS versions which came in manufactured consoles. From what I read, those are commonly distinguished by their checksums and called:

0xb796: rev_a BIOS (GCE)
0x7931: rev_b BIOS (MB)
0x7adb: rev_c BIOS (MB)

The MB versions contain the same bugfixed version of Mine Storm which is different from the GCE BIOS Mine Storm.

Here is a detailed analysis of the differences between the three versions, listing the patches applied to the rev_a source code. Please not that my labelling of the patches (for a good) reason is slightly diffrent compared to the labelling in the rev_c source code (more on that later).

PATCH address comment
rev_a GCE base version

rev_b_0 0xff9f alternate version of Draw_Grid_VL
rev_b_1 0xffd3 zeros instead of KARSOFT...
rev_b_2 0xf01C abort intro on button press
0xefe7 subroutine for about on button press
rev_MB 0xf024 MB version patch, also lots of patches in Mine Storm code

rev_b1 0xf216 Joy_Digital patch
this is labelled as rev b1 change in the rev_c source
code, but does not appear in the official rev_b BIOS 0x7931,
but in the official rev_c BIOS 0x7adb!

rev_c 0xf4f6 change to height handling in Print_Str_d
0xffd3 minor pad bytes change
0xf024 minor pad bytes change
0xffee minor pad bytes change
0xedd8 minor pad bytes change

rev_d 0xf4b3 delay cycles change in Print_Str_d
this appears in the rev_c source code, but not
in the official rev_c BIOS 0x7adb!

The official BIOS images in the manufactured consoles contain the following patches:


0xb796 is GCE rev_a without any of the above listed patches
0x7931 is rev_a + rev_b_* + rev_MB patches (no rev_b1 patch!)
0x7adb is rev_a + rev_b* + rev_MB + rev_c (includes rev_b1 patch)

The rev_d patch is found in none of them, and according to the official Western Technologies patch labelling, 0x7931 is not a pure rev_b BIOS, and 0x7adb is not a pure rev_c BIOS!

As far as I could find out, there are three known BIOS source code disassemblies to be found on the internet:

https://www.playvectrex.com/designit/chrissalo/bios.htmdisassembly by Bruce Tomlin, Fred Taft, Malban
this is the official manufactured GCE 0xb796 BIOS
i.e. rev_a without any of the other rev_ patches

https://roadsidethoughts.com/vectrex/the-rum.htmJohn Hall
this is none of the official manufactured BIOS versions
this is rev_a + rev_b_0 + rev_b_1 patches
likely this is some intermediate version towards the MB changes

https://www.playvectrex.com/designit/joebritt/exec_rom_revc.pdfJoe Britt
labelled as rev c source code
this again is none of the official manufactured BIOS versions
this is rev_a + rev_b* + rev_c* + patches + the rev_d patch

This rev_d patch is found in neither of the three official BIOS (that is why I called is rev_d),

I do by now have a BIOS source code with compile time switches that can be configured to assemble exactly the three "official" BIOS versions 0xb796, 0x7931 and 0x7adb, and I have thus verified the above details.

Please contact me if you know of any other BIOS or source code versions.

Many Cheers,
Peer

PS: also to be found here ( https://itwww.hs-pforzheim.de/daten/mitarbeiter/johannsen/vectrex_lab/projects/bios_versions/bios_versions.htm )
####


0 new messages