Had a very productive coding Evening.
Made the Initialization screen much more informative. Almost out of necessity. I'm Loading 2 Machine code modules and I'm doing some tricky stuff with Memory. Probably because I'm rapidly approaching the limit of Basic Ram, it seemed to make a difference what order I did things in !!!.
The more informative Init screen was so I could see where my code was going wrong.
I got that all sorted and it now loads BVSAVE700.BIN (for saving the Graph Screen to file. Written by Xark).
Its also loading MooingLemurs ZSMKIT. (ZSMKIT8C00.BIN).
This had to be done near the beginning of the code because of the memory management stuff, so I had to load it now even though I'm not doing anything with it yet. After this load and variable init I'm at just under 13k of BASIC Ram left as reported by FRE(0).
Neither of these Machine Language modules are necessary to run the program !!. But if they are not present the program does lose those functions.
(For ZSMKIT this will mean no Background music, for BVSAVE700.BIN this means it won't be able to save the background screen, it will have to be redrawn everytime.)
The program does now Require
HWORDS1.DAT & HWORDS2.DAT which must be located in a
WORDS folder directly below the
HANGMAN main folder. The program will report if these are missing and end with an error message. (I've also got some currently unused hooks in the code to easily add
HWORDS3.DAT, HWORDS4.DAT.... etc.) Additional files will not be required but will be used if present. BTW, that's the very next code I will implement. The first 2 word files will remain mandatory !
This code requires
BASLOAD if you want to play with the source code other than just looking at it.
There is a loadable
"HANGMAN.PRG" included.
This code is doing a lot more behind the scenes than before. But when you run it the difference will be it now will pick a Random word from the HWORDS?.DAT rather than from the user. You can't play it through yet. But I hope late Tomorrow or Saturday you will be able too
.
The User INPUT code is still in the code for 2 player head to head, when I get to that.
LATEST CODE FILE
P.S. Now that I'm actually loading ZSMKIT, you should probably do a RESET between program runs. I haven't yet figured out how to cleanly unload ZSMKit and get BASIC Ram back to its normal state. It will probably crash on a 2nd run. BVSAVE700 is loaded to "Golden Ram" so I didn't have that problem before. Getting BASIC Ram back to normal without a RESET is on my checklist for version 1.0 but maybe not for BETA 0.0.1