Showing posts with label Amstrad PCW. Show all posts
Showing posts with label Amstrad PCW. Show all posts

Sunday, August 30, 2015

XPCW - graphics for the Amstrad PCW

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).


SquareX, a game for the Amstrad PCW

SquareX is a game released in September 2015, as a present for the Amstrad PCW, in its 30th anniversary.

Your goal is to complete lines (or rows) of squares, with the pieces that fall from the top of the screen.

The completed lines will disappear.

Do you remember the name of a game that does something similar?

Er... humm... yes, you do, don't you?

This game has been developed with MESCC, my own Small-C compiler version, and the XPCW library for the Amstrad PCW.


Friday, May 8, 2015

te - My small, humble, portable and useful text editor.

+----+
| te +-------------+
+----| Text Editor |
     +-------------+


v1.00 / 07 May 2015

(c) 2015 Miguel Garcia / FloppySoftware
    www.floppysoftware.es
    cpm-connections.blogspot.com
   
floppysoftware@gmail.com

Introduction
------------

The te text editor is small, humble, and useful.

It's screen oriented, and can be easily adapted to a lot of computers.

Command line
------------


It's simple:
        te [filename]

Examples:
        te              - To start an empty document
        te notes.txt    - To edit the document 'notes.txt'.


The screen layout
-----------------


On the first screen line, you will see - ie:

        te: NOTES.TXT   - The file name of the document your are editing.

And something like:

        Lin:0015/0042/0512 Col:32/90 Len:36

The numbers following 'Lin' are:

        0015    - The line number you are editing right now.
        0042    - The current total number of lines.
        0512    - The maximum number of lines.


The numbers following 'Col' are:

        32      - The column number on which you are.
        90      - The number of screen columns.


And, finally, the number following 'Len' is:

        36      - The length of the current line.

On the last screen line, you will see program messages.

The options menu
----------------

You can enter to the menu, by pressing the ESCAPE key, as shown
in the messages line:


        Press [EXIT] to show the menú.

Note that the name of your ESCAPE key may change, depending of
the program adaptation.


The options are:

        New       - To start a new document
        Open      - To open a document
        Save      - To save the current document
        save As   - To save the current document under another filename.
        Help      - To show the help screen.
        aBout te  - To show some te information.
        eXit te   - To quit the program.


You can select an option by pressing the character in uppercase.

To leave the menu, you must press ESCAPE.

If you start a new document, the 'Save' option will redirect to you to the 'save As' option.

The help screen will show the keyboard configuration, that depends
of the program adaptation.


File backup
-----------


Each time a file is saved, te does a backup of the previous file
contents if it exists.


It is renamed as 'te.bkp'.

Adaptation
----------


The program adaptation is done by editing a small MESCC source code file.

In this file, you must specify the control characters that your
keyboard send, the help contents, and complete a few C functions to
clear the screen, etc.


As there are some adaptations already done, it's possible that your
machine is already included between them.


If not, don't worry, you can start from a similar adaptation.

See the source code files for more information.

Current adaptations are:

        - Amstrad PCW and CP/M Plus (31x90 VT52 like terminal).
        - Amstrad CPC and CP/M Plus (24x80 VT52 like terminal).
        - Spectrum +3 and CP/M Plus (23x51 VT52 like terminal).
        - K. Murakami's CP/M emulator (25x80 VT100/Ansi).
        - Takeda Toshiya's CP/M emulator (25x80 VT100/Ansi).
        - PC and Windows 32 bit (25x80).
        - PC and DOS (25x80).


The port to Windows 32 bit has been succesfully done, by converting the MESCC code to Ansi C and recompiling with the Pelles C compiler, using its 'conio.h' library.

The port to DOS has been succesfully compiled with Turbo C v1.01.

License
-------


This program is freeware, and it's licensed under the GPL license.

See the file 'copying.txt' for more details.

Wednesday, August 6, 2014

UMMO - New game for the Amstrad PCW

I have developed a new game for the Amstrad PCW.

Its name is UMMO, and is a classical "kill the invaders" game, with some asteroids too.

It has been developed with MESCC, my own version of the Small C compiler, some libraries from SAMARUC, my GUI for the Amstrad PCW, and a game engine called TWO (The World Of) inspired in Greenfoot.

It runs from CP/M.

You can download from my website http://www.floppysoftware.es.



 


 





Sunday, August 4, 2013

DeskJoy, a simple desktop utility to run programs for the Amstrad PCW

It is available in my website another program developed with Samaruc and MESCC: DeskJoy, a desktop utility with the ability of run programs on the Amstrad PCW, with icons, windows, menus, buttons, etc.





It can run CP/M programs and it has some internal utilities too (Character map, Screen Saver, Samaruc Control Panel).

It can create new links, modify them, erase them, move them, etc.

You can set some properties for each link: title, command line, icon, screen, enable the cursor, set pause after run the program, etc., to help to configure the environment for the program.

If you want, You can edit the command line before running the program, or do a pause when the program has ended.

Some example links and the newer versions of The Same Game and Find that mine! are included in the disk.

Monday, July 29, 2013

Samaruc, a GUI for the Amstrad PCW

I'm working again with Samaruc, a GUI for the Amstrad PCW, with windows, buttons, checkboxes, mouse control, etc.

Samaruc was born as a spin off of Quijote, my HTML reader for the Amstrad PCW.

Quijote was developed in 2004, using MESCC (my version of Small C by Ron Cain), and Z80ASMUK, a public domain assembler from UK, and it has a GUI that was the root for Samaruc.

First version of Samaruc was developed in 2012, and included into my games The Same Game and Find that mine!.








You can download for free Quijote, MESCC, Z80ASMUK, The Same Game and Find that mine! from my website: http://www.floppysoftware.es/.

Now, I am working with a new version of Samaruc, another game (Roswell), and with a program launcher / desktop called DeskJoy.

You can see some videos on Youtube:

http://www.youtube.com/watch?v=QpJYksyWhVc

http://www.youtube.com/watch?v=S4rSuONWCt4

http://www.youtube.com/watch?v=QrbRp3QioWk

http://www.youtube.com/watch?v=tI7NvlgYa_Y

http://www.youtube.com/watch?v=YIUGX059W3Y

http://www.youtube.com/watch?v=4oBjgIKY9vY

http://www.youtube.com/watch?v=tvd5zrcQzvw







Tuesday, November 16, 2010

Links

Amstrad PCW links:

CP/M links:

Z80 links:

KeyMouse low level information on the Amstrad PCW

During development of Quijote, I discovered the following low level information about the PCW KeyMouse.

In the last 16 bytes of bank 3 (keyboard mapping):
0xBFFB Bit 7 is the middle button status (1=pressed).
0xBFFD Bits b4 to b0 are the low bits of the vertical movement counter.

Then, plus the addition of the very valuable information showed in the Richard Fairhurst website the low level interface of PCW KeyMouse is:
0xBFFB b7: middle button status
b6 to b0: horizontal movement counter
0xBFFC b7 to b6: high bits of vertical movement counter
0xBFFD b4 to b0: low bits of vertical movement counter
0xBFFE b7: left button status
b6: right button status

For button status: Bit = 1 if button pressed, otherwise = 0.

Values for movement counters: 0 to 127, but when 0 is decreased in 1, 127 is the result, and when 127 is increased in 1, 0 is the result.