makegamedata

discussion of beeb/electron applications, languages, utils and educational s/w
Post Reply
roganjosh
Posts: 100
Joined: Sat Dec 10, 2016 6:51 pm
Location: W.Yorks
Contact:

makegamedata

Post by roganjosh » Thu Jun 06, 2019 5:29 pm

makegamedata is the program used by (e.g.) DCBEEB to convert program description files into a binary file used by the main menu program. Unfortunately the program was written in an early flavour of Visual Basic. The source code sets arbitrary array limits and it crashes out on my large dataset with a subscript error. I have to split my dataset up into 3 chunks after which everything appears to work OK with my datacentre. Though a workable solution it's not entirely satisfactory. I was therefore wondering whether anyone has:

a) Converted makegamedata to (e.g.) a modern Visual Studio .NET project/solution.
or
b) Documented the output file format produced by makegamedata so that I could write another version in a language with which I'm familiar.

I'd be grateful for either of the above.
Alternatively, if anyone has a working ancient VB6(?) setup who could produce an exe from source code in which I've bumped-up the array limits then that might be another way around the problem.

Incidentally, the dataset in question is the output from my own parsing program run on the entire disc description content from bbcmicro.co.uk (commercial and non-commercial).

Alan

roganjosh
Posts: 100
Joined: Sat Dec 10, 2016 6:51 pm
Location: W.Yorks
Contact:

Re: makegamedata

Post by roganjosh » Mon Jun 10, 2019 7:56 pm

Enough time has passed, I hope, for replying to my own posting not to be bad netiquette.

In the end I managed to get the elderly Visual Basic 6 installed on a Windows 10 laptop. An interesting diversion.
That enabled me to boost the relevant arbitrary limit and produce a new version of makegamedata. Using the new program allowed me to make indexes for two sets of data, namely commercial and non-commercial titles from bbcmicro.co.uk (they were still too much for the original makegamedata to handle),

It was not possible to produce a single dataset. That is a result of index file address pointers in makegamedata being implemented as 16 bits rather than 18, which therefore restricts the size of the index to 64K. Though it wouldn't be too hard to modify things for 18 bits I deemed that it wasn't worth the effort as, on reflection, the commercial and non-commercial datasets are a good working arrangement. The bbcmicro.co.uk archive now appears to be working OK using DCBEEB. Just a minor aesthetic tweak or two in my parser and DCMENU, plus more enjoyable game testing, should put the project to bed.

Alan

Post Reply