Correct usage of VDP ports following the standard

Page 11/18
4 | 5 | 6 | 7 | 8 | 9 | 10 | | 12 | 13 | 14 | 15 | 16

By AxelStone

Prophet (2673)

AxelStone's picture

08-06-2017, 22:18

ARTRAG wrote:

Maybe older compilers do not allow to specify address ranges for dedicated uses, but hitech-c v7.8 allows full control of the memory mapping, defining what goes where

The most interesting message of this thread since a lot of them Smile . It's a really interesting feature. It's supossed that L80 allows you to compile in specific address for code and data, but I'm not sure how fine is control compared to hitech-c v7.8. Anyway Sharskym (korean guy that is really a C master) uses hitech C for CP/M (I think version 3.x), perhaps it's a good choice.

By ARTRAG

Enlighted (6234)

ARTRAG's picture

08-06-2017, 22:45

I agee, too much chatting here. About the compiler, the dos version has an ide able to configure rom and ram ranges, but you have to study how psects work if you want a complete control on its features. The cpm version has no ide and less tools but could work as well

By AxelStone

Prophet (2673)

AxelStone's picture

08-06-2017, 22:54

ARTRAG wrote:

I agee, too much chatting here. About the compiler, the dos version has an ide able to configure rom and ram ranges, but you have to study how psects work if you want a complete control on its features. The cpm version has no ide and less tools but could work as well

Good to know, surely I'll recover MSX-C thread soon, we have facing some difficulties with the engine Smile

By DarkSchneider

Paladin (860)

DarkSchneider's picture

09-06-2017, 08:15

One interesting thing to know would be if the MSX-Library port to HiTech-C made by Sharskym are direct port from the ASCII ones (as the source code is available I think) or made by his own. Because the ASCII ones are supposed to follow the standard but others could not.

By ARTRAG

Enlighted (6234)

ARTRAG's picture

09-06-2017, 08:59

This to clarify that the part that follow the standard is the one without time critical code dealing with disks, and setup of ram and video, where he uses direct i/o all the time he needs bandwith dealing with the vdp
Strange guy...

By DarkSchneider

Paladin (860)

DarkSchneider's picture

09-06-2017, 09:34

Also it could be interesting that the system would reserve some space for user usage. There is soooo much space wasted for BASIC in the work area. Having some fixed space to work with, i.e. for storing references when moving things into the stack, would be good. I think in MSX there is too much interest around BASIC and feel something like others are a bit out of interest.

Tempted to use some of that BASIC space, but probably if user goes to BASIC with that data changed, it would crash.

@ARTRAG you can have the same bandwith with only a bit of delay using the standard way:

set with reading VDP ports and OUT (C)
unrolled OTIR

Then you use the full bandwidth in the same way, as is not related with direct port usage.

By ARTRAG

Enlighted (6234)

ARTRAG's picture

09-06-2017, 11:39

Delay = no bandwidth

By gdx

Prophet (2976)

gdx's picture

09-06-2017, 11:51

About OTIR, this instruction is not usable in several cases on MSX1 with TMS VDP. It's important to take that into account.

https://www.msx.org/forum/msx-talk/software/graphics-corrupt...

By ARTRAG

Enlighted (6234)

ARTRAG's picture

09-06-2017, 14:10

And if you are in the vblank time any delay is loss of data at full speed through, to not mention non sequential I/O

By Wlcracks

Champion (321)

Wlcracks's picture

09-06-2017, 15:52

PingPong wrote:
Wlcracks wrote:

if this topic was msx code lines, it was a neat application or game!

and maybe does not fit in msx memory

compiled it does!

(this is were you say; does NOT)

Page 11/18
4 | 5 | 6 | 7 | 8 | 9 | 10 | | 12 | 13 | 14 | 15 | 16