FreeBASIC 1.20.4 for Windows 95
================================

File: README-WIN95.TXT

Purpose
-------

This package contains the FreeBASIC 1.20.4-1 compiler, headers, runtime
libraries, graphics and sound libraries, examples, and the Win95-compatible
tools required by the normal 32-bit compiler pipeline.

The package was assembled specifically for Windows 95 OSR2. The compiler was
started inside the Windows 95 virtual machine, used there to assemble and link
a program, and the generated program was then run successfully in the same
virtual machine.

Quick start
-----------

Extract the complete directory to a short path such as C:\FBC, open an MS-DOS
Prompt, and run:

    cd \FBC
    fbc.exe -arch 486 examples\hello.bas
    examples\hello.exe

Use "-arch 486" for a conservative Windows 95 build which does not assume MMX
or SSE support. The updated graphics and sound libraries select accelerated
MMX or SSE2 paths at run time only when the processor reports that support.

Win95 toolchain details
-----------------------

The assembler, linker, and related GNU tools in bin\win32 are from GNU
binutils 2.19.1. They were selected because later MinGW tool builds import
Windows functions which do not exist in an unmodified Windows 95 installation.

The bin\win32\msvcrt.dll file is the Win95-compatible C runtime used by these
command-line tools. It must remain beside the tools. Do not use it to replace a
DLL in C:\WINDOWS\SYSTEM.

Programs built by the normal FreeBASIC backend use Windows 95's system
MSVCRT40.DLL. The included import and compatibility libraries provide the
small set of newer CRT symbol names expected by the current runtime without
requiring a newer Windows release.

The optional GCC code-generation backend and GDB are not included. Available
modern builds of those tools require post-Win95 APIs. The native FreeBASIC
backend, assembler, linker, resource compiler, and binary utilities needed for
ordinary 32-bit Windows 95 programs are included.

Smoke test
----------

From the package root, run:

    win95-test\TEST.BAT

The script compiles win95-test\HELLO.BAS with "-arch 486", runs it, and writes
RESULT.TXT in that directory. A successful run contains:

    PASS native fbc compile and run

The directory also contains the result files copied from the final Windows 95
OSR2 verification run.

Known harmless diagnostic
-------------------------

Binutils 2.19.1 can warn about newer assembly directives such as .aligncomm or
some debugging directives. These warnings did not prevent the verified test
program from compiling, linking, or running.

End of README-WIN95.TXT
