MZ-700 – PCG700 – PCGAid

PCG-AID

HAL Laboratory

The original tape volume of the PCG-AID utility and a demo program

The PCG-AID utility is a control program to program the PCG700. Each character or some characters only of the upper 128 characters of the two character sets can be modified easily. The existing character sets can be displayed, modified, saved, and reloaded.

 

As known, the MZ-700 has two character sets, each having 256 characters. Both character sets reside in one ROM chip having a capacity of 4 kb. If you compute:
2 character sets x 256 characters x 8 bytes ( each character needs 8 dots x 8 rows. Look at this page for more details ) then you get 4096 bytes = 4 kb.

 Knowing the following is important for designing your own character set(s) and for programming the PCG700:
The PCG700 can process only the upper 128 characters of each character set. The lower 128 characters of each character set cannot be modified by the PCG700. This means that the character codes $00 – $7F of each character set cannot be changed – they remain always active; but the character codes $80 – $FF can be changed.

PCG-AID Functions

  1. All characters contained in the PCG700 and partially of the CG-ROM ( 2 x 128 characters ) can be displayed.
  2. Each character described by (1.) can be selected for modification.
  3. The contents of RAM0 and RAM1 can be selected and displayed.
  4. The upper contents of both character sets can be transferred into RAM.
  5. RAM0 and RAM1 are partitioned into 4 pages ( page 0 – 3 ). Each character within each page can be modified. These pages are work areas of the PCG-AID utility only and do not really exist in the PCG700. They can be saved and reloaded.
  6. All characters can be edited by comfortable PCG-AID commands.

PCG-AID screen

PCG-AID is written in machine code and starts automatically after loading. The entry point of PCG-AID is $1200 and can be restarted by using the monitor command J1200. The following screen appears:

PCG-AID screen structure

I have colored some screen areas and I added numbers to all areas to show and explain you all areas now.

This area ( red ) is the 8 x 8 dot matrix for the editing of a character selected by a command.

2 This area ( green ) shows all 128 characters of a page selected by a command. You can edit each character within this page to create new characters or modify the character(s) you want. You can copy the upper 128 characters of the CG-ROM into this area or you can load any own character sets into this area for modifying. At the end of your work you can save all to tape.

3 “128” is the character’s code just in work and the star ( violet ) points to this character. This character can be edited if it is fetched by a command into the editable matrix as shown by (1) ( red area ). The star can be set to any character within the greenarea by the cursor keys.

4 This informs you which RAM ( RAM0 / RAM1 ) you have selected for editing. RAM0 is the first and RAM1 is the second character set of the PCG700.

5 This informs you which page ( 0 – 3 ) within the RAM0 you have selected for editing. These pages do not really exist in the PCG700. They are work areas of this utility and for you only.

6 This informs you which page ( 0 – 3 ) within the RAM1 you have selected for editing. These pages do not really exist in the PCG700. They are work areas of this utility and for you only.

7 This informs you from which part of the CG-ROM you can select characters ( Lo = ROM0 / Hi = ROM1 ) for editing. ROM0 is the first and ROM1 is the second character set of the MZ-700.

8 Command line of the MZ-700 monitor.

PCG-AID commands

The PCG-AID utility can be controlled by several commands. The following table shows all commands, the associated function, and the screen area which will be effected by the function of a command.

Key Effected area Function
Edit commands for area 1 ( 8x 8 matrix )
Cursor up 1 Moves cursor up
Cursor down 1 Moves cursor down
Cursor left 1 Moves cursor left
Cursor right 1 Moves cursor right
Selection of a character for editing ( area 2 )
SHIFT & cursor up 2 Moves cursor up
SHIFT & cursor down 2 Moves cursor down
SHIFT & cursor left 2 Moves cursor left
SHIFT & cursor right 2 Moves cursor right
Matrix control commands
CLR 1 Clears all 64 dots
R 1 Inverts all dots
( Arrow up ) 1 Rotates all dots 1 line up
| ( vertical line ) 1 Rotates all dots 1 line down
( Arrow left ) 1 Rotates all dots 1 row left
} 1 Rotates all dots 1 row right
Y 1 Mirrors all dots at its Y-axis
X 1 Mirrors all dots at its X-axis
@ 1 Rotates all dots 90 degrees right ( clockwise )
/ 1 Sets a dot
SPACE 1 Resets a dot ( clears it )
Utility commands
P 2 Puts the edited character in the character set
G 2 Gets a character from the character set for editing
C 2 Copies a character from the CG-ROM. By this, the character is restored.
N 2 Restores all characters. Fetches all characters from the CG-ROM for editing.
Memory selection
% Selects RAM0 / RAM1
? Gives access to Lo / Hi ( ROM0 / ROM1 )
Q Selects a page ( 0 – 3 )
T Exchanges RAM0 / RAM1
Tape commands
S Saves the complete character set ( RAM0 and RAM1 ) to tape. Can be reloaded at any time by the MZ-700 monitor.
L Loads a character set
Stop program
E Returns to the MZ-700 monitor program

Operating example

  1. Load the PCG700 utility by the MZ-700 monitor command “L” followed by CR.
  2. The following screen appears:
The editable 8 x 8 matrix of the PCG700 screen is empty for editing.
  1. The PCG700 cursor ( a violet star ) is placed to the first editable character. The display code of it is 128. The PCG700 cursor can be moved to any character by pressing SHIFT and a cursor key. By this the display code changes to the related display code to which the cursor is set. If the cursor is positioned to the character which you want to edit then select this character for editing by “G” ( GET ).
  2. The 8 x 8 matrix of this character will now be displayed in the matrix area of the PCG700 screen. Now you can edit the selected character. The SPACE key deletes a dot and the key “/” sets a dot at the cursor position of the matrix area. You can use any matrix control command described above ( e.g. rotate, mirror, invert, etc. ). To display the edited character in the character set area at the end of your work press “P”.
  3. If you have finished your character set then you can save your character set to tape by the command “S”. A tiny program will be generated and stored to tape which can be used to reload your character set by the monitor command “L”.
  4. At the end of the save process the PCG-AID utility informs you about the success by the message display “DEFINITION COMPLETED”.
  5. If you want to use your character set within a BASIC program then load BASIC first. Next go to the monitor and load your character set by the command “L”. If the character set is loaded then return to BASIC. Now your character set is available for your BASIC program.

Download the Japanese version of the PCG-AID utility ( 3 kb zipped ).

Download the European version of the PCG-AID utility ( 3 kb zipped ).

The first character set in the PCG-AID utility is located from $0841 to $0C40 and the 2nd character set from $0C41 to $1040. These values include the tape header in the length of $80 ! and the character sets are not mirrored. Both character sets within the PCG-AID utility contain the upper 128 characters only.

Special thanks to Hideki / Japan for the translations from the PCG700 Manual

More about the PCG700:
Select <Overview> <Installation> <Operation> <Programming> PCG-AID <PCG700 Games>