News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_FloppySoftware

PCW graphics library

Started by FloppySoftware, 17:55, 21 July 15

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

FloppySoftware

Hi all!

Any interest in a graphics library for the Amstrad PCW?

I'm writting a RSX based library for CP/M Plus.

It should be usable from any computer language, say, Basic or assembler, because it has a standard BDOS interface, but I'm writting some additional libraries for MESCC, my Small-C variant:

       
  • xtext: for fonts and printing text with attributes (bold, italic, etc.).
  • xdraw: to set pixels, draw lines, circles, etc.
And I have in mind to write libraries to draw icons, sprites, etc. (the RSX has already a basic support for that).

It will be released under the GPL license.
floppysoftware.es < NEW URL!!!
cpm-connections.blogspot.com.es

AMSDOS

My slogan reads "The User Formerly known as CP/M User" because of the amount of complaints I got, when I told other users I wasn't using GSX.
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

FloppySoftware

Quote from: AMSDOS on 11:47, 22 July 15
My slogan reads "The User Formerly known as CP/M User" because of the amount of complaints I got, when I told other users I wasn't using GSX.
Well, GSX is good as CP/M is good for a lot of computers, including the Amstrad PCW (same OS for a variety of computers), but IMHO it is too big and slow for some purposes.

floppysoftware.es < NEW URL!!!
cpm-connections.blogspot.com.es

AMSDOS

Quote from: FloppySoftware on 15:26, 22 July 15
Well, GSX is good as CP/M is good for a lot of computers, including the Amstrad PCW (same OS for a variety of computers), but IMHO it is too big and slow for some purposes.


Huh, that's funny last time I recall a PCW had 256k minimum.  :D


I don't know GSX well enough to know what it can or can't do, though understand a number of CP/M systems which support graphics use it, so in a way the CP/M community treat that as if it was like DirectX for Windows (even though Windows was going longer than that).
But from what I've seen PCW breaks those rules, by using System Specific stuff which, as I understand it, can sometimes be the only way.
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

MaV

The idea behind GSX is to offer a solution for all possible graphical devices, so you're not limited to screen but there's printer, etc. The internal resolution is 32768x32768 and every command is scaled in software to the dimensions of the hardware it currently writes to (i.e. 720x256 for the display) which is extremely costly.

The idea is not speed but first and foremost compatibility across all possible CP/M machines. That's ideal for graphs and pie charts. And of course, this is slow by design.

That's all from the top of my head. I haven't done anything with GSX for a very long time.
Black Mesa Transit Announcement System:
"Work safe, work smart. Your future depends on it."

AMSDOS

I'm assuming that to have compatibility means an compromise in speed? Though source code for GSX is probably scarce, this site only has GSX86.
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

arnoldemu

Quote from: AMSDOS on 12:15, 23 July 15
I'm assuming that to have compatibility means an compromise in speed? Though source code for GSX is probably scarce, this site only has GSX86.
Each gsx implementation has it's own driver code.

The CPC one uses the firmware.
Don't know about the PCW one.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

FloppySoftware

Quote from: AMSDOS on 10:45, 23 July 15

Huh, that's funny last time I recall a PCW had 256k minimum.  :D


But only 61 Kb of TPA.  ;)

Add to the program code and data size, the memory requirements of GSX + drivers. That's a lot.  :'(
floppysoftware.es < NEW URL!!!
cpm-connections.blogspot.com.es

FloppySoftware

#8
Quote from: arnoldemu on 13:08, 23 July 15
Each gsx implementation has it's own driver code.

The CPC one uses the firmware.
Don't know about the PCW one.

GSX is the same as BDOS for CP/M: the same for all CP/M machines, is standard.
But the drivers are specific of every device: printers, plotters, screens, etc.
The PCW has no firmware at all, and the BIOS USERF jump doesn't have any graphical function as draw, plot, etc.
Then, the screen drivers must to do all the work, resulting in a lot of code, and some features are missing.
floppysoftware.es < NEW URL!!!
cpm-connections.blogspot.com.es

AMSDOS


Quote from: FloppySoftware on 13:27, 23 July 15

But only 61 Kb of TPA. 


Well that's just stupid, cause everyone knows CP/M Plus utilises the extra 64k and I can even get 61Kb of TPA out of my 6128, so I can only presume Memory is being wasted away by not doing anything on a 8256, unless you know otherwise? I suppose it would make sense if you had that set aside for a RAM disk.
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

CraigsBar

Quote from: AMSDOS on 10:13, 24 July 15

Well that's just stupid, cause everyone knows CP/M Plus utilises the extra 64k and I can even get 61Kb of TPA out of my 6128, so I can only presume Memory is being wasted away by not doing anything on a 8256, unless you know otherwise? I suppose it would make sense if you had that set aside for a RAM disk.
Yep, it's your m: drive
IRC:  #Retro4All on Freenode

AMSDOS

Quote from: arnoldemu on 13:08, 23 July 15
Each gsx implementation has it's own driver code.

The CPC one uses the firmware.


This page from John Elliott's website seems to support that since a number of standard GSX features aren't implemented in that version.
The PCW8256 version seems to borrow traits from the CPC version but replacing Firmware Drawing code with PCW specific, so has 2 sections. The 9512 has an Advanced version of GSX.
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

TFM

Quote from: AMSDOS on 10:29, 24 July 15

This page from John Elliott's website seems to support that since a number of standard GSX features aren't implemented in that version.
The PCW8256 version seems to borrow traits from the CPC version but replacing Firmware Drawing code with PCW specific, so has 2 sections. The 9512 has an Advanced version of GSX.


OMG! I didn't know that the GSX drivers for CPC/PcW are actually that poor! So a new GFX library is a great idea for sure!!


One question I do have in mind... How much CP/M program are actually using GSX? Is it only DR Draw and DR Graph? Or are there more?

TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

AMSDOS

DR Logo with CP/M Plus uses GSX and who knows there maybe a number of Hisoft Pascal 80 programs which use GSX.
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

radu14m

this resultion is great"

       
  • 800x600 colour graphics screen (available through LOGO or GSX)."

       
such a resolution need the cpc too :)

FloppySoftware

Well, there's some progress in the work (or it was work in the progress?  ;) ).

Now I have a RSX and some MESCC libraries that use it.

With some luck, I will publish them very soon, including a small game that use some of these graphical functions.

In fact, the game is already finished, but I would like to publish it the next September, as a small present for our beloved Amstrad PCW, in its 30th anniversary.  :D :D :D
floppysoftware.es < NEW URL!!!
cpm-connections.blogspot.com.es

robcfg

Coooooool!  8)


The PCW is starting to get the love it deserves, thank you very much!

Prodatron

Great, I am looking forward to it! :)

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

Gryzor

Looking forward to it, too!

FloppySoftware

Hi all!

I have just uploaded XPCW to my website.

XPCW is a graphics and keyboard library for the Amstrad PCW, under the CP/M operating system.

It consists of a CP/M Plus RSX file, with some library files (.h) for MESCC, my own version of the Small-C compiler.

The RSX is written in Z80 assembler source code.

It can be accessed by any CP/M program or language, provided it follows its conventions (read the RSX source code for more information).

The XPCW.RSX file, has to be attached to any program that uses this library.

Only one MESCC library is needed (xpcw.h), the other are optional.

The libraries are:

•xpcw.h - Main library.
•xdraw.h - Functions to draw pixels, lines, etc.
•xtext.h - Functions to write text, set the font, change attributes, etc.
•xchrdef.h - Functions to get / set character definitions.
•xbitmap.h - Functions to draw bitmaps.
•xkeyb.h - Functions to access the keyboard.

You can download XPCW in binary and source code form, from my website (includes Squarex, a little game).


floppysoftware.es < NEW URL!!!
cpm-connections.blogspot.com.es

Prodatron

Very cool, thank you for your work! Having a look at the source codes and the bresenham algorithms gave me a lot of new general motivation for coding for our 8bits :)

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

Powered by SMFPacks Menu Editor Mod