Hi Balthasar,

Nice to see you around :)

Dropping the egavga blob would indeed be great - it would make CPIED 
truly free.
Porting to another compiler is not that important IMHO, since Turbo C is 
free (as in beer) anyway, so it's no big deal to use it. And the 
compiler does work under FreeDOS... But maybe you are referring to the 
IDE thing (that I've never tried to run).

About CPX - in fact you could easily reuse the FreeDOS implementation. I 
looked into the sources of FreeDOS MODE, and I found a neat function 
that is ready to use:

   extern int cpx2cpi(void far * buffer);

The core of the function is written in assembler (by Eric), and lies in 
the cpitrick.asm file.

The function returns 0 if the file is a standard CPI file, 1 if it was 
UPXed, -1 on error.

So you could both detect and decompress CPX files in one shot using this.

cheers,
Mateusz





On 07/28/2013 07:13 PM, Balthasar Szczepański wrote:
>   Thanks for your commentc,
>
>   > 1. I haven't managed to compile it from source (but haven't tried very
>   > hard either, and I have very limited knowledge about how to use Turbo
>   > C++). I did produced an executable, but the linker was complaining a lot
>   > about undefined symbols, so I probably missed how to link the egavga
>   > lib.  A section in the readme about 'how to build from source' would be
>   > appreciated (maybe a makefile also? this would greatly simplify the
>   > build process). I assume the *.prj file contains some indications, but
>   > looking at it with a hex editor I see there are some hardcoded paths
>   > there, so it's probably useful only on your system.
>
>   The *.prj file hardcodes the include path and library path, they can
>   be changed with Options -> Directories. Change
>
>    E:\PROGRAM\TURBO\INCLUDE
>    E:\PROGRAM\TURBO\LIB
>
>   so that they point to your include and library path.
>   Or create a new project, add cpied.cpp and egavga.obj and set the
>   memory model (Options -> Compiler ->  Code generation). I compiled it
>   with the compact memory model, but while debugging large or huge is
>   needed, because the turboC++ IDE also consumes memory and doesn't
>   leave enough for the CPI.
>   There will be more information about compiling. The code will also be
>   moved from turbo c++ to another compiler (open watcom propably),
>   because i want to remove the dependancy on the egavga driver. and
>   because Turbo C++ doesn't run on FreeDOS
>
>   > 4. The 'official' name of the program is unclear. Is it 'cpied', 'CPI
>   > Editor', or 'Edytor Napis?w' ? All these names appear at one point or
>   > another.
>   > 5. The version string is inconsistent - in the documentation and source
>   > code it says '1.2b', while in the program itself it states '1.2'.
>
>   'Edytor napisów' is the name i used when I started working on this
>   program and had to call it somehow, this name is no longer used and
>   it's a wrong name. CPIED was used as a filename becauce 'cpi editor'
>   is longer than 8 and has a space. However, this will become the
>   'official' name because it's not the only cpi editor in the world.
>   The current version is 1.2b.
>
>   > 2. When I pressed F4, and tried to get out (escape, empty string..) I
>   > broke the UI and had to abort via CTRL+C. Some input checking there
>   > could be nice.
>   > 6. When I want to load a file (F3), then press enter a few times, the
>   > input dialog stays displayed, but any new text appear much lower in the
>   > screen. Seems that you ignore enter if it's presses on an empty string,
>   > while I feel it should immediately provide some error message.
>
>   The dialogboxes have no input checking. they just get a string (and
>   convert it to a number when a number is wanted). It's possible to do
>   more unwanted things, ie use CON, COM1, or NUL as a file name...
>   This will be improved.
>
>   > 7. It's not clear how many codepages are stored in a file. To know this,
>   > one have to count them manually with home/end. It would be great if the
>   > total of avaiable code pages would be printed on screen (eg. in the
>   > title bar, next to the file name). Even better - having some kind of a
>   > menu that lists available codepages, and allows to choose the one we
>   > want. Such menu could be then used also to remove codepages or add new
>   > codepages, and it would be called like 'codepages management' or
>   > something like that.
>
>   All the cpi files i used to test the program were already known by me
>   so I didn't even think that this information should be provided. But
>   it is an important thing and the number of codepages and numbers of
>   each codepage will be displayed and will be selectable.
>
>   > 8. You seem to always display 3 fixed sizes of fonts. I don't know
>   > anything about the CPI format, but is it possible that a CPI file could
>   > contain more font sizes? Or font sizes different from what you assume
>   > (8x8, 8x14, 8x16) ?
>
>   Theoretically, the cpi format allows other sizes but (8x8, 8x14, 8x16)
>   are the sizes used by EGA and VGA cards and by DISPLAY.SYS.
>
>   > 9. There is no CPX support, but nevertheless, it would be cool to be
>   > able to detect the CPX format, and provide some hints about what to do.
>   > Right now cpied just says 'Unsupported format, id0=0x81'. Would be great
>   > if it would say something like "this is CPX, not supported format, but
>   > if you need to edit it simply uncompress it first using UPX -d font.cpx
>   > -o font.cpi"
>
>   The cpx format will be supported, but first I have to learn about this
>   UPX compression and finish the project i'm working on now. At this
>   moment I don't know how to detect a cpx file by its contents
>
>   Balthasar Szczepański


------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to