Another little project for KC85 (MicroDOS, ML-DOS or any other CP/M) a little game, the Graphic output is really slow, because done by escape sequences, so only a slow thinking game comes to mid, like the sudoku i wrote a while before. But here an other arise it uses a solver to create sudoku fields which are valid, but this is heavy recursive and did not work, but I tweaked it a bit, now it does work most of the times, but sometimes it can not find a suitable solution and just stop (due to bad radnom values for the start). To net let it run in an endless loop I tell the user that there might be a problem with too deep recursive steps and if he wants to try again, mostly it still will not find anything nice, mostly you have to end the program and restart, but most of the time it works.
I still do not get how the colors work, I found function to change front and back color but they are changing the whole screen. I also found fond a drawing colors but they seem not to do anything, strange. Thats the reason I let it be b/w instead of colors for the fixed values. As marker for the fixed Values I placed a point behind them. To select a field to edit I just use the cursor Keys or wasd 😉
It can also load and save files if you want to stop but later continue the with same field and the positions you found already.
Small improvements on the HEX2 for CP/M especially KC85 with MicroDOS/ML-DOS. Some little suggestions, like a command history and a command line option, both now included. The History option needed that I program myself the key input (instead of just using Readln) but this also means one can now edit the string if you made a mistake. You can use the Cursor keys right and left to move the cursor and type and “Del” to delete a char, but Delete works here like a Backspace.
The History function keeps the last 10 commands you send to HEX2 in a ring buffer and you can use cursor up and down to browse and edit them.
An other wish was to use the command line parameter to directly calculate and just return the result, rather easy really so I also included that as well.
I was able to revert mostly all of the memory saving tricks I tried (like overlays) because they are apparently not needed. When I compile it on MicroDOS it runs even without this tricks. And even a simple hello world compiled on ML-DOS does not work on MicroDOS, very strange, sounds like a bug in ML-DOS to me.
I got my KC85 up an running with ML-DOS a CP/M 2.2 clone, it runs rather well. The main reason I wanted this is that there is a Turbo Pascal 3.3 for CP/M 2.2 Z80 (KC85 has a U880 which is a Z80 clone). I assumed that this would be much easier to use as the native KC-PASCAL which I showed before. And I was right, this feels already much more like a modern pascal. Of course there are many limitation due of age and because of limitations of 8 bit computers.
As a starter I tried to bring my Hex2 calculator, which already exists for Windows/Amiga/Linux/Mac of course here as command line tool (as I did as a starter for Amiga as well)
But that as not so easy, I was underestimating how little 64kb RAM is. This all is new for me, comparing with that even a A500 has a huge amount of memory. Here on 8bit you have to think about to put to many texts into the code, it just inflates the RAM need. I tried to optimize it a lot by keep the texts (help/error) in extra files and only load them when I need them and even use overlays but still on MicroDos I don’t get it to run, seems the program is still too big, but not sure how to solve that any further, maybe I still do something stupid there.
Nevertheless I make a first release of it 0.1 and it nearly has the same feature set as the other version, nice to have my standard tool on all platforms.