Turbo Pascal PopolonY2k's Framework

Page 5/5
1 | 2 | 3 | 4 |

Par rolandve

Champion (372)

Portrait de rolandve

20-05-2021, 22:35

AxelStone wrote:

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.

Par popolony2k

Hero (544)

Portrait de popolony2k

21-05-2021, 02:01

AxelStone wrote:

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

Par popolony2k

Hero (544)

Portrait de popolony2k

21-05-2021, 02:08

rolandve wrote:

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

Par cesar guerra

Supporter (15)

Portrait de cesar guerra

03-05-2023, 22:34

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?

Par rolandve

Champion (372)

Portrait de rolandve

04-05-2023, 11:40

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?

Par cesar guerra

Supporter (15)

Portrait de cesar guerra

04-05-2023, 17:41

I created a program to show the key codes as they are pressed but thanks.

Par rolandve

Champion (372)

Portrait de rolandve

04-05-2023, 19:23

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.

Page 5/5
1 | 2 | 3 | 4 |