Just for curiosity @popolony2k, does FreePacal compile in Z80?
About your change in the framework I understand that TP 3.3 included some improvements, so probably is a good solution. In C there was great project, Solid-C, but unfortunately couldn't be finished. This is not the case so, why not?
About your framework in general, did you include Kari Lamassari libraries or you decided to do them from scratch? I remember it implemented several features like memory mapper, sound libs, etc.
Thanks!
Comparing the code quality between Kari's library and Popolony's library: I would vote: he made them from scratch.
Just for curiosity @popolony2k, does FreePacal compile in Z80?
About your change in the framework I understand that TP 3.3 included some improvements, so probably is a good solution. In C there was great project, Solid-C, but unfortunately couldn't be finished. This is not the case so, why not?
About your framework in general, did you include Kari Lamassari libraries or you decided to do them from scratch? I remember it implemented several features like memory mapper, sound libs, etc.
Thanks!
As rolandve wrote above, yes I made this framework 100% from scratch. In fact, use Kari's for while is an option but at this point I have the biggest part of their functionalities already implemented inside my framework.
I want to start add graphics support to my framework....maybe will be next big deal.
[]'s
PopolonY2k
Hi Popolony2k,
Good to see you're still alive. I've read your blog and read that you modified the pascal compiler in a few ways for performance reasons. If that is correct: how about sharing that version? It looked to me like some good changes.
I feel like, you can choose which structure you prefer. The developers can then use the include's like they want. Its a comfort thing. A small change that can be considered comfort: your framework is extensive and covers a lot of functions. When you want to use your framework, you will have to dig in, read all the dependencies and experiment with the code.
If you make simple examples that show how the framework is to be used, that saves a lot of time for the developers.
I'm very interested in the further development of Freepascal as a cross-compiler for z80. Which compiler produces the most efficient code (from speed or size perspective).
Thanks by structure feedback. About the source code of my TP modification, I'll try to share this in some way to avoid Copyright infringments by Embarcadero/Borland.
About examples of using the framework, I'm adding some samples, recently I've added maprtest.pas (https://sourceforge.net/p/oldskooltech/code/HEAD/tree/msx/tr...) that explain how to use the MSXDOS2 BIOS mapper based routines.
I think that reordering everithing in subdirectories will help to keep the things easier to find.
[]'s
PopolonY2k
Popolon, i did not find in the library a way to read all the MSX keyboard including function keys. Another question: How to call a MSXDOS external .COM from a Pascal program?
There are a few ways to read the keyboard. You say "including function keys". Then the few possible ways are: use NEWKEY (make it a variable to an absolute address) or use TP IN/OUT function and read the keyboard interface.
NEWKEY is refreshed 50 times p/s (or 60) by the interrupt, so you will have to scan for a certain key. Perhaps readkey() returns a value when you press the keys you need?
I created a program to show the key codes as they are pressed but thanks.
Take a look at this
function scanKeys(row, colomn:byte):boolean; var keyval:byte; begin; keyval:=1; port[$AA]:=row; scanKeys:=((port[$A9] and (keyval shl colomn)) =0); end;
This will read the position in the keyboard matrix and return TRUE is that key has been pressed. Detecting multiple keys means using two keyscans or (If on one line) returning the value from port[$A9] and verifying the correct value.