-
New firmware R3.6
04/19/2020 at 13:13 • 0 commentsAnother release for the LM80C firmware. This one sets improvements in several parts of the code:
- Minor improvements in LIST code:
- when a line terminates at the right side of the video the code won't send a "carriage return" code anymore (an empty line was inserted, before);
- printing a list on the serial when the computer is in graphics mode now lets the list to get carriage returns after the end of each line (the list was printed in a row, before).
- Fixed a bug in sound management: automatic cutting down of a tone on a channel wrongly altered the whole sound mixer.
- Added management of noise from PSG: now it is possible to generate noise for each of the 3 channels, mixing the noise with tones, too.
- Fixed some timing issues in VDP access that lead to graphic glitches in graphic mode 2
- Code improvements
The new code is available at my GitHub repo: https://github.com/leomil72/LM80C
- Minor improvements in LIST code:
-
CHECK MATE, a chess game
04/08/2020 at 16:24 • 0 commentsTogether with the new R3.5 firmware, I just published a new BASIC game, “Check mate”
Check mate, a chess game
As you can intend by the name, it’s a chess game. It’s a port of an old program published as “chess program” by Dieter Steinwender in the ’80s. It’s a game that uses the “minmax” algorithm, based on the theory of decisional trees. The fundamentals of the minmax algorithm is to “minimize the possible loss in the worst case and to maximize the minimum gain” (from Wikipedia). At the first level of depth the algorithm isn’t very efficient but, since the depth level analisys raises, the AI of the game will get a boost, at the cost of an incredible increase of computational time! This is the downside of this kind of algorithms on 8-bit machines…
BTW, the game has been ported to get fully advantages of the colorful abilities of LM80C Color Computer. Moreover, keeping the whole stuff of the original program, “Check mate” let the user sets a custom board to simulate a particular in-game situation, exchanges computer with player, suggests legal moves. Enjoy it!
Source on https://github.com/leomil72/LM80C
-
New firmware R3.5
04/08/2020 at 16:23 • 0 commentsJust released a new firmware update for my homebrew computer LM80C.
- Fixed a bug into the new code of LIST statement;
- serial & BASIC buffers expanded to 88 chars;
- fixed a little bug into editor (pressing RETURN over a multi-line text did not reposition the cursor after the end of it)
The latest release is always on https://github.com/leomil72/LM80C.
-
New firmware R3.4
03/29/2020 at 16:19 • 0 commentsAnother firmware release for the LM80C Color Computer. The new R3.4 introduces several changes:
- Removed POINT and SET statements and their legacies: continues the deletetion of old, useless, statements;
- changed default colors for screens 1 & 4: new color theme, with light blue for border, white for background and black for text. This is done to differentiate a bit the LM80C from other TMS9918-based computers;
- enhancements on serial communication: now a buffer overrun of the SIO won't freeze the system anymore, but leads to a break in serial operation and a block of RX/TX functionalities while the line still continues to be open; with SERIAL 1,1 we can re-activates the serial functionalities;
- fixed TAB behaviour: now, it moves the cursor to the correct column.
Download it now at https://github.com/leomil72/LM80C.
-
New firmware R3.3
03/15/2020 at 10:22 • 0 commentsAnother minor update for the LM80C firmware. The new release R3.3 includes code cleaning and improvements for LIST command: now line intervals can be passed as arguments to list the whole program, just a single line or only portions of the code.
It can, as usual, downloaded here: https://github.com/leomil72/LM80C
-
New firmware R3.2
03/09/2020 at 17:37 • 0 commentsAnother release for the LM80C firmware: version 3.2 is out now! Some code cleaning and one major adding: now the SCREEN statement gets 2 additional arguments to set the sprite size & magnification. In addition, I’ve fixed a little bug in the cold/warm reset routine that lead the system to keep into the input buffer the key pressed so that the first input walways generated a “syntax error”.
Enjoy the new firmware:
-
New firmware release R3.1
03/04/2020 at 18:00 • 0 commentsAnother update of the firmware for the LM80C Color Computer! This release introduces the new XOR statement, to complete the offer of boolean operators integrated into the LM80C BASIC (AND, OR, NOT), it fixes a bug discovered into the SERIAL statement (any char sent to serial was converted to $01), it sees the removal of NULL statement (an obsolete legacy from old terminal times) and the adding of date & time of compilation into the ROM file.
-
New major firmware release R3.0
02/28/2020 at 17:20 • 0 commentsHello everybody, I carried on the development of the firmware of my LM80C Color Computer and I'm happy to announce the availability of a new major release, the version R3.0.
With this release the computer is now a stand-alone in every way: it is now possible to move the cursor anywhere around the screen and digit commands and statements freely. When you'll press the RETURN key the kernel will analyze the on-screen text, acting as the old home computers from the '80s.
Another big change is the SERIAL statement, introduced with the version R2.15 of the firmware, that let the user to open/close the serial line.
Here is a little demo of the new functionalities:
Please refer to my Github repo to get the new sources and ROM file:
https://github.com/leomil72/LM80C -
New firmware release R2.13
01/27/2020 at 21:41 • 0 commentsAnother new release for the LM80C firmware, this time with version R2.13:
- code improvements
- faster cursor flashing
- complete support to ALT & CTRL keys to print graphics chars on the screen
-
Firmware R2.10 released
12/26/2019 at 17:51 • 0 commentsNew firmware R2.10 released.
Changes:
- SIO init code cleaning & improved support for serial RX;
- added extended char codes (128-255) for 6x8 fonts;
- removed double chars in 8x8 fonts
Available as usual on my GitHub repo: