Articol disponibil numai în limba engleză

Note: this is the +3DOS compatible version, not the CP/M version !

This is version 5.1 of the GEN assembler and version 5.2 of the MON disassembler/debugger.

The package contains five files: GENP3 (GEN v5.1, 32 column display), GENP351 (GEN v5.1, 51 column display), GENS451 (GEN v4.1, 51 column display),  MONP3 (MON v5.2) and MONS4 (MON v4.1).

Quick opinion:

GEN v5.1 screenshot
GEN v5.1 with 51 column display;
the editor looks quite similar to version 4.1 with 51 column display

GENP3 (and GENP351) assembler is very similar to GENS4 (and GENS451) assembler.
Its biggest difference and also advantage is the disk access. The source code can be loaded and saved directly from disk and the assembly directive and the generated code can be written directly on disk. Tape operation is also supported, so you can load an old file from tape and save it to disk.

The program still needs the source code to fit the memory. The program cannot handle a source code file that is bigger than the available free memory space. The program is not capable to use the RAM disk area for this purpose (like Tasword 3 for +3 does, for example).

MON v5.2 screenshot
MON v5.2 front panel display;
RAM and ROM pages are quite permanently displayed

MONP3 disassembler/debugger has a similar interface with MONS4 and almost all commands are the same. However, the program is different in respect with MONS4, in that it resides above the RAM disk area and occupies only 160 bytes of the normal (visible) memory. It has ROM and RAM memory page switching feature and is able to generate GEN compatible source code directly to disk.

The program performs somewhat slower than MONS4, which is understandable given that the program runs in hidden RAM above the RAM disk area and therefore has to do various RAM paging operations.

Although the screen is preserved when MONP3 launches and can be recalled at anytime while under MONP3, a code that might possibly reside in the screen area cannot be seen.

By default, the files on disk are loaded at these addresses:

  • GENP3: address 26000 (code length is 10752 bytes)
  • GENP351: address 26000 (code length is 11264 bytes)
  • GENS451: address 26000 (code length is 11392 bytes)
  • MONP3: address 32768 (code length is 8576 bytes)
  • MONS4: address 55000 (code length is 6656 bytes)

As usual, the code needs to be loaded at address xxxxx, where xxxxx may be the default one (none specified) or user defined (explicitly entered). Then launch the code with RANDOMIZE USR xxxxx.

The manual accompanying the Devpac for +3 version is almost identical to the one accompanying the Devpac for version 4.1, however, there are 2 additional pages at the end of the manual, with +3 specific instructions. You can read here a HTML version transcript of these +3 specific instructions.

Note: the manual refers to MON as the version 5.1, whereas the version on disk is version 5.2.

If you happen to use frequently and even simultaneously both the GENP3 assembler and the MONP3 disassembler/debugger, then you can write to disk two small BASIC programs for (quite) quick and simple loading of those.

If you have a source code that was previously written under GENP3 (or GENS; however, the file must resides on +3DOS disk) and you wish that code be available as plain text file, then use this small utility to make the file format conversion.

I have build it with the purpose of making GENP3 to GEN80 source code conversions (GEN80 is the CP/M version). The program runs under +3BASIC and is disk based only (the disk handling routines are +3DOS compatible); it does not load files directly from tape and, in spite of fact that the (included) source code is in GEN80 format, it does not run under CP/M.

When running the program, you are asked to enter the original filename. The converted file will have the same filename as the original one, except that it will get the .TXT filename extension.

Note: current software version is 1.2

Release history:

v1.2 (sometime during 2022)

  • bug fix – the filename extension of the converted file could end up with some unwanted extra characters left over from previous file conversions (bug originating from v1.1)
  • bug fix – the temporary file used during conversion process was not properly cleared from disk when the original file has no filename extension (bug originating from v1.1)
  • bug fix – the program erroneously reported error “Bad filename, xx:y” when the filename is entered by preceding it with a drive letter and a colon AND if the main part of the filename is exactly 8 characters long (regardless of the further presence or absence of a filename extension)

v1.1 (sometime during 2022)

  • as an additional precaution measure, the converted source code file is now saved with the .TXT filename extension, so it will no longer overwrite the original one (unless the original one also has a .TXT filename extension, in which case it will still be automatically overwritten; however, it is highly unlikely for a GENP3 (or GENS) source code file to be saved on purpose with a .TXT filename extension); please note that if the converted source code file is to be used with the HiSoft Devpac80 HDE interactive CP/M editor, then its filename extenstion must be manually renamed from .TXT to .GEN

v1.0 (sometime during 1995)

  • initial +3 version release
  • converted source code file automatically overwrites the original one, so a few extra steps must be taken if the original source code file is expected to be still requred at a later time


Sus de tot