www.cpcalive.com
Cliquer ici pour la documentation française
Pulsar aquí para la documentación en español




                                                                                                                                                                  
                                                    
* CpcAlive V1.08b *
* ENGLISH
DOCUMENTATION *
                                                                                                                                                                                                                      
note: This documentation relates about information necessary to use the CpcAlive emulator. A demonstration, documentations about Cpc exploitation and Bios/Dos interruptions, a Z80 assembler and a X86 assembler are available on the internet site: www.cpcalive.com
                                                                                                                                                                                                                       

TABLE OF CONTENTS

I - CpcAlive Initializations
II - CpcAlive commands syntax:
    CpcAlive [input_file[:X]] [CpcAlive command] [Cpc command] [>output_file]
    - 1 - [input_file[:X]]
        - 1a - Loading virtual diskettes files (.DSK) -
        - 1b - Loading  Cpc roms files -
        - 1c - Loading intel hex files  -
        - 1d - Loading command files
        - 1e - Loading text files (KeyBoard simulation)
    - 2 - [Cpc command] = Cpc command
    - 3 - [>output_file]
III - Commands  from the Cpc basic interpreter
IV- ':D' Marker (like 'D'atas)
V - ACCENTUED CHARACTERS
VI - BIOS AND DOS INTERRUPTIONS ACCESS TROUGH Z80
VII - X86 ENVIRONMENT
VIII - UTILITY SOFTWARES
    - 1 - CreaDisc.bas: create a virgin virtual diskette. (data formatted)
    - 2 - AniCrea.exe: create a FLI animation file
    - 3 - Fli2Gif.exe: read a FLI animation file (for mor information read the Fli2Gif.doc file)
IX - CPCALIVE EVOLUTION


                                                                                                                                                                  
                                                    

I - CpcAlive Initializations:
Create a CpcAlive
directory on your hard disk and decompress the file CpcAliveV1.08b.zip in this directory.

= Icon to launch CpcAlive
= Icon to launch the "Windows Dos" system.
For launch CpcAlive from the desktop, create a short cut with the icon
named CpcAlive.

If you launch CpcAlive and you obtain an "Ems error" message:
EMS memory is emulated with "Windows Dos" but it is not set by defect with some windows versions. ("Windows Dos" is the Dos name wich is provide with windows XP)
To correct the problem, close the window, click on the icon with right mouse bouton and select "Proprieties", "Memory", "EMS Memory>AUTO". Another solution is to do the same thing with the file "_default.pif" in the "WINDOWS" directory (it is the file named "_default" with the MS-DOS icon).

Notes:
    - Amstrad roms ares copyrighted, you cannot thus normally use CpcAlive only if you have a
n Amstrad Cpc 6128 computer in a position to function.
    - colors PAPER and PEN 1 were modified with initialization for
ergonomic reason  (less tiring for eyes).


II - CpcAlive commands syntax:

CpcAlive [input_file[:X]] [CpcAlive command] [Cpc command] [>output_file]
or
! [input_file[:X]] [CpcAlive command] [Cpc command] [>output_file]

- 1 - [input_file[:X]]
~~~~~~~~~~~~~~~~~~~~~~~

input_file =      virtual diskette with format DSK     (see chapter - 1a -)
              or     Cpc rom file                                  (see chapter - 1b -)
              or     intel hex file                                   (see chapter - 1c -)
              or     command file                                 (see chapter - 1d -)
              or     text document                                (see chapter - 1e -)

X           =      see chapters 1a, 1b and 1c

Syntax from the Cpc Basic Interpreter:

All input files commands are also available from the Cpc basic interpreter with instruction:
|INPUT,"input_file[:X]"[,@er%]

The
error return parameter @er% is facultatif. If it is put, the significance of the values recovered in the variable er% are:
0 = ok
1 = error number parameters
2 = way not found
(don't forget initialize er% at the program beginning or before the command)

         ex:    10 er%=0
                 20 |INPUT,"Disc.dsk",@er%
                 30 if er%<>0 then PRINT"ERROR":STOP

It is possible to put several file names at the continuation. They must be separated by a space character. In this case, the error code er% will relate to the last file mentioned.


- 1a - Loading virtual diskettes files (.DSK
) -
Make follow the file name of the
":A" or ":B" markers to choose the Cpc drive destination.(drive A by defect)

example starting from the Dos command line:

! disc.dsk:A

This command launch the emulator and load the virtual diskette "disc.dsk" in drive A.
note: no space betwen the file name and the marker.


- 1b - Loading  Cpc roms files -

Make follow the file name by the ":R" marker. CpcAlive will seek the first area available.
CpcAlive accept 256 roms. All these roms ares recognized by the Cpc system.

To load a rom in the emulator: 3 solutions

- Loading starting from the Dos command line:
       ! ROM.ROM:R
- Loading starting from a CpcAlive command file:
      
ROM.ROM:R
- Loading starting from the Cpc BASIC interpreter:
       |INPUT, "
ROM.ROM:R"

If it is necessary to have a fixed area number, you can replace the letter letter "R" with an area number (0<area number <256).
example starting from the Dos command line:  ! z80rom.rom:10

notes:
- All markers must be write with capital letters.
- The areas numbers used by the Cpc system are  0 for BASIC rom and 7 for DISC rom
- The X86 modules (see chapter "X86 Environment") with mnemonics use also Z80 roms sites. Z80 roms with a site specific number must be loaded before the X86 modules. The best way is to indicate them at the beginning of the command file ROM.INI located in the principal repertory.
- Roms loading with 
|INPUT command will be reconize by the Cpc system only after a Cpc reboot, for example by a CALL 0 or by pressing on [Ctrl][Alt][Home] keys in the same time.

- 1c - Loading intel hex files  -

Loading in rom:
Make follow the file name by the ":X" marker where X represent the rom recipient
number.

example starting from the Dos command line:

!  hex.obj:10     for loading in rom number 10

note: If the destination rom does not exist, CpcAlive create it. In this case it is possible to use the :R marker (see chapter "Loading Cpc roms files")

Loading in ram:
Make follow the file name by the ":X" marker where X represents
the ram recipient configuration type. Valids hexadecimal values for loading in RAM are:
0C0h, 0C1h, 0C2h, 0C3h, 0C4h, 0C5h, 0C6h and 0C7h

Table showing
ram blocks positioning in foncion of the configuration type:

                type      blocks positions
                0C0h          0,1,2,3
                0C1h          0,1,2,7
                0C2h          4,5,6,7
                0C3h          0,3,2,7
                0C4h          0,4,2,3
                0C5h          0,5,2,3
                0C6h          0,6,2,3
                0C7h          0,7,2,3

note: - By defect, the loading is done in RAM with
0C0h configuration.

example starting from the Cpc BASIC interpreter
|input,"hex.obj"
In this case, the file hex.obj is loaded in the standard Cpc configuration memory.


- 1d - Loading command files

The intern emulator valid orders starting from the Dos system command line or a CpcAlive command file are:

CpuFast                    ; maximum speed
CpuSlow                   ; normal speed (speed of the Cpc computer)
Sleep                        ;
emulator sleeping state [AltGr][S]
Exit                          ; to leave emulator
[Ctrl][Alt][End]
ROM=X                   ; select ROM X (256 for the Bios)
RAM=X                   ; select RAM X type
                                ;
see chapter II paragraph - 1c - "Loading in ram"
                                ; for ram configuration values.

:LLAAAA00DDDD   ; intel hex line
                                ; for information: LL=block size
                                ;                         AAAA=
Starting adress
                                ;                         00 always 00
                                ;                         DDDD=datas

example starting from the Dos command line:
Select the BIOS rom and poke the value 2 in 0B13h adress (start screen mode) and select slow speed emulation:

! ROM=256 :010B130002 CpuSlow

(Don't forget spaces between commands.)

If a CpcAlive command is not reconized, this command and the rest of the line is interpreted like a Cpc command. You can by this way adding one or more Cpc commands at the end of the line. (Only from the Dos interpreter. From CpcAlive commands files, use the "keyboard" command).

example:

! ROM=256 :010B130002 CpuSlow PRINT"OK"

notes:
- orders owe beings separated by a space.
- the crc normally present in intel hex standard is not obligatory here.
- put values in RAM blocks 0,1,2 ou 3 before the Cpc system
initialization is useless because this blocks are cleared with starting (except 0BE00h to 0BFFFh addresses). To put values in RAM from the Dos command line, the system could be launched and put in sleeping mode previously.


command files

These files are intended, as their name indicates it, to command the emulator from a file. This file must start with
"CDE:" sequence without guillemets (header). A good example is the ROM.INI file which is a command file intended for the emulator initialization. It is from this one that for example the Cpc roms are loaded. Each line is interpreted like "CpcAlive" commands starting from the Dos command line. Note the separator ';' for comments.

Two internal orders more ares available in this files:

EndCde:         indicate the end of a command file.
(facultatif)
Keyboard:      going from the COMMAND mode to the KEYBOARD mode.
                     After this order, the file will not be interpreted any more like a command file
                     but like a text file  (see chapter - 1e -)
                     Use the keyword  "|Command" to go back in COMMAND mode.
                    (!do not use the command "KeyBoard" in the ROM.INI file.)

exemple 1:
Select the BIOS rom and poke the value 2 in 0B13h adress (start screen mode) and select slow speed:

CDE:                ; header
ROM=256        ; select rom bios
:010B130002    ; poke the value 2 in 0B13h adress (start screen mode)
CpuSlow          ; speed selection
EndCde            ; close the command file

exemple 2:
CDE:                ; header
ROM=256        ; select rom bios
:010B130002    ; poke the value 2 in 0B13h adress (start screen mode)
CpuSlow          ; speed selection
Keyboard         ; swap in keyboard mode
                       ;
(starting from here each character is transmitted
                       ; directly to the Cpc keyboard manager)

PRINT"OK"

exemple 3:
PRINT"OK1"
|COMMAND    ;
going from the KEYBOARD mode to the COMMAND mode.
ROM=256        ; select rom bios
:010B130002    ; poke the value 2 in 0B13h adress (start screen mode)
CpuSlow          ; speed selection
Keyboard         ; swap in keyboard mode
                       ;
(starting from here each character is transmitted
                       ; directly to the Cpc keyboard manager)

PRINT"OK2 "


The command file CPC.INI located in the principal repertory is a file user which can receive configuration commands.

- 1e - Loading text files (KeyBoard simulation)

If the file type is not recognized by CpcAlive as being one of files detailed higher, CpcAlive considers that it is a text file. CpcAlive treats these files simply. Each character of the document is read and sent to the Cpc keyboard manager. You can thus transmit by this function a BASIC file with text format or pilot a software running into the emulator.

example starting from the Dos command line:
! exemple.bas

This order load the text named "exemple.bas" through the Cpc keyboard manager. This file must be in text format. In this example it must be in the CpcAlive directory or a path
directory. If the file does not exist, the chain "exemple.bas" will be transmitted to the Cpc keyboard manager and will probably emerge on a "Syntax error" message.

example starting from the Cpc BASIC interpreter:
mode 2
10 |Input,"FILE_ID.DIZ"
20 line input a$:if a$="" then |STOP:end else goto 20
run

This example load the document "FILE_ID.DIZ" until it meet one blank line. The order |STOP close the file.

note: A
text file opening close definitively the text file previously open if there were one.



- 2 - [Cpc command] = Cpc command
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The Cpc orders must always be placed at the last of the command line.

ex: ! PRINT"ok"
Launch the emulator and places the order PRINT"ok" through the Cpc keaboard manager.

Particular case:
The '|' character is a Dos command. CpcAlive uses thus a substitution character which is the '§' than you can obtained with the [ALT][245] keyboard sequence from the Dos command line. (If you obtain another character than '§' on your screen it is not important. The most important is the [ALT][245] keyboard sequence to obtain the ascii character number 245 in the Dos command line)

ex: ! §DISC
Launch the emulator and place the order |DISC in Cpc keyboard manager.

Note:
There are other reserved characters by Dos like ' < ' or ' > ' which can't be used for Cpc commands from the Dos command line. For more information read the Dos system documentation.


- 3 - [>output_file]
~~~~~~~~~~~~~~~~~~~~~
By defect the Cpc printing output is done in file CPC.PRN located in CpcAlive directory.
This order redirects this exit towards the output_file. The equivalent order starting from the Cpc interpreter is as follows:

|OUTPUT, "output_file"[,@er% ]

The error return parameter @er% is facultatif. If it is put, the significance of the values recovered in the variable er% are:
0 = ok
1 = error number parameters
3 = way not found
4 = no more handle available
5 = refused access
(don't forget to initialize er% at the beginning of the program or before the order)

example starting from the Dos command line:
! PRINT#8, "OK"                 register word "OK" in the file
Cpc.prn
! PRINT#8, "OK">test.prn    register word" OK "in the file test.prn

notes:
- Only one character ' > ' before output_file indicates to the Dos system that if the output_file
name already exists, this file will be recreate virgin before receiving datas. (the old one output_file with the same name being delete without notice... warning).
Two characters ' > > ' before output_file indicates to the Dos system that it must preserve the file and put new datas to be followed. (There does not exist at time equivalent order starting from the Cpc BASIC interpreter)

- The Cpc.prn file is emptied with each launching of the emulator.

example starting from the Dos command line:
! PRINT#8, "OK1":§Exit>test.prn         register word "OK1"in the file test.prn
! PRINT#8, "OK2":§Exit>>test.prn       register word "OK2"follow in the file test.prn

The result in the file test.prn gives:
OK1
OK2

A small program which redirect the CATalogue output towards the output file:
10 POKE &BB5C,PEEK(&BD2D):POKE &BB5B,PEEK(&BD2C)
20 CAT
30 CALL &BD37:|DISC
RUN


III - Commands  from the Cpc basic interpreter:

|CpuFast                    = maximum speed
|CpuSlow                   = normal speed (speed of the Cpc computer)
|Sleep                        = emulator in sleeping mode
[AltGr][S]
|Exit                          = to leave emulator
[Ctrl][Alt][End]
|Command                 = going from the KEYBOARD mode to the COMMAND mode.
                                   (see chapter II paragraph - 1d - )
|INPUT, "file_name[:X]"[,@er% ]
                                 = see chapter II paragraph - 1 -
|STOP                       = see chapter II paragraph - 1e -
|GO, "chain"[,@er% ] = see chapter IV
|OUTPUT, "output_file"[,@er% ]
                                = see chapter II paragraph - 4 -
|OUTASCDOS          = see chapter V
|OUTASCWIN          = see chapter V
|OUTASCOFF           = see chapter V
|PRINT, "chains"       = output character string towards output_file.
                                   (Order equivalent to the order PRINT#8,"chains";)
|LPRINT, "chains"     = output character string towards output_file followed by a carriadge return.
                                   (Order equivalent to the order PRINT#8,"chains")
|INK,PEN,R,G,B       = change PEN color. Letters R,G,B représents Red,Green and Blue values (0 to 255)
                                   ex: |INK,0,0,255,0 (change PAPER color)
                                   ex: |INK,1,255,0,0 (change PEN 1 color)
|INKRESTORE         = restore originals Cpc inks.
|INKCPC                  = standard cpc inks
|INKSOFT                = CpcAlive inks (inks by defect)
                                   The pallet is the same as the standard pallet Cpc but with less
                                   luminosity, and
values Paper and PEN 1 are modified with starting.
|OBMP, "nom_de_fichier"[,@er% ]
                                = create a file image of the Cpc screen (
BMP format).
                                    - see |OUTPUT command for
error codes significance.
CALL 0                    = réinit System Cpc [Ctrl][Alt][Home]


IV-
':D'
Marker
(like 'D'atas)


The
":D" marker (like 'D'atas) following the file name indicates to the emulator that it must transmit the value in decimal format of each byte of the file through the Cpc keyboard manager.This function as been developed to easily treat datas from a file with the Cpc BASIC interpreter.

Here, a small program whose function is reading some bytes of ROM.INI file and print them in hexadecimal format:

10 mode 2:window#0,1,80,2,25:window#1,1,80,1,1
20 |Input,"ROM.INI:D"
30 for i=0 to 100
40 input#1,a:Print hex$(a,2)" ";
50 next i
60 |STOP
run

The order |GO, "chain"[,@er% ] move the file pointer.
In this case, "chain" represent the
displacement value compared to the file beginning. The error return parameter @er% is facultatif. If it is put, the values significance recovered in the variable er% are:
0 = ok
1 = error
(don't forget to initialize er% at the program beginning or before the command)

example starting from the Cpc BASIC interpreter:
|GO,"&100"

Moves the file pointer to the position &100. The maximum value is &FFFFFFFF and can be write in decimal.


V -
ACCENTUED CHARACTERS

See french or spanish documentation


VI -
BIOS AND DOS INTERRUPTIONS ACCESS TROUGH Z80

Bios and Dos interruptions are accessible with CpcAlive specifics opcodes through the emulated Z80 microprocessor and a correspondence between the Z80 and X86 registers.
Correspondences table:             Z80 registers     
X86 registers
                                               F                 >   Flags
                                               A                 >   AL
                                               BC               >   CX
                                               DE               >   DX
                                               HL               >   BX
                                               IX                >   SI
                                               IY                >   DI

CpcAlive adds a Z80 register named AH corresponding to the X86 register AH, and three new opcodes.

opcode:             mnemonics:     function:
040h, 052h        LD AH, A
          load the value of register A in pseudo register AH
040h, 05Bh        LD A, AH          load the value of pseudo register AH in register A
040h, 049h, xx    INT(xx)             call interruption number xx

example of macros (here for the assembler 8 bits tasm)
# define LD_AH_A         db 040h \ db 052h
# define LD_A_AH         db 040h \ db 05Bh
# define INT(xx)             db 040h \ db 049h \ db xx

example:
; ** OUTPUT PIXEL THROUGH INT 010H **
OutPix:     ld de, 12                 ; coordinate Y
                ld bc, 24                 ; coordinate X
                ld a, 0Ch                 ; FUNCTION 0CH = WRITE A GRAPHIC POINT
                LD_AH_A              ; load the value of register A in
                                              ; pseudo register AH
                ld a,3                      ; color requested
                INT(010h)              ; CALL INTERRUPTION BIOS 010H
                ret

notes:
- The
Z80-X86 correspondence registers is respected with the return of the interruption except for the registers IX and IY which are never modified. If segments ES and DS are necessary in entry, they refer to the RAM (or Rom) of the cpc. The rare Bios functions returns values in the segment registers or registers DI and SI are not usable.
- The standard output peripheral is always the screen.
- The Bios interruption INT 10H accept only the functions:

Function 02h // Set cursor position //
Function 03h // Read cursor position //
Function 09h // Write character with color at cursor //
Function 0Ah // Write character with color at cursor //
Function 0Bh // Set color palette //
Function 0Ch // Write graphics pixel at coordinate //
Function 0Dh // Read graphics pixel at coordinate //
Function 0Eh // Write text in teletype mode //
Function 10h - 00h // set individual palette register //
Function 10h - 02h // set all palette registers and border //
Function 10h - 07h // read palette register //
Function 10h - 09h // read palette registers and border //
Function 10h - 10h // set DAC color register //
Function 10h - 12h // set block of DAC color registers //
Function 10h - 15h // read DAC color register //
Function 10h - 17h // read block of DAC color registers //
Function 10h - 1Bh // sum color values to shades of gray //
Function 13h // Write string //

notes: -
the palette registers correspond to the 16 Cpc pens and DAC registers correspond to the 32 Cpc inks.
          - the border always correspond to the Pen 0 with CpcAlive.

It should be also known that the cpc Ram is located in the EMS memory segment.
(in case where some equilibrists would venture touching ems functions).

The Z80IOPix.bas file located in the "EX" directory is an
orders RSX example using the Bios interruptions. This file is a text file éditable with a text editor. Explanations and listing are included.
command starting from the Dos command line:       ! EX\Z80IOPix.bas
command starting from the Cpc BASIC interpreter:     |input, "EX\Z80IOPix.bas"


                                                                                                                                                                   
                                                    
note: Documentations about Bios and Dos interruptions and the Z80 assembler "tasm" are available on onternet site: www.cpcalive.com
                                                                                                                                                                                                                       


VII - X86 ENVIRONMENT

It is possible to program the CpcAlive emulator with X86 instructions.
CpcAlive accept 256 64K modules.
A module is a .EXE or .COM format program with a table located at the address 0200h in the program code. This table must be made like this:

org 0200h
                db ' X86CPC'               ; 0200h mark
                dw 0                             ; 0206h version
                dw offset X86Vec          ; 0208h entry vectors table
                dw 0                             ; 020Ah reserved system
                dw 0                             ; 020Ch reserved system
                dw 0                             ; 020Eh reserved system
                dw offset MnemoTb      ; 0210h offset mnemonics
                db -1                             ; 0212h receipt the X86 module number
                db -1                             ; 0213h 
reserved system
                db -1                             ; 0214h reçeipt the Z80 rom number associated
                db -1                             ; 0215h reserved system
                dw 0                              ; 0216h
reçeipt the first Cpc accessible adress (0=no adress accessible)
                db 0100h-018h dup (0)   ; 0218h 
reserved system

; mnemonics table
MnemoTb db "MNEMO","1" or 080h          ; |MNEMO1
                db "MNEMO","2" or 080h          ; |MNEMO2
                db 0


; entry vectors table
X86Vec    dw offset program1           ; 00 1st program
                dw offset program2           ; 01 2nd program
                ;... 128 vectors maximum

; X86 programs must be declared in "far"
program1 proc far    ; ** CALLED BY THE BASIC INSTRUCTION |MNEMO1 **
                ;... code X86
                retf
program1 endp
program2 proc far    ; ** CALLED BY THE BASIC INSTRUCTION |MNEMO2 **
                ;... code X86
                retf
program2 endp

Operation: On presence of the MnemoTb vector to the address 0210h, the emulator generates a Z80 rom integrating the mnemonics table (MnemoTb) with its X86 call vectors. The first vector of the table "X86Vec" corresponding to the first mnemonics is the vector of initialization which is called with each initialization of the Cpc system. Each mnemonics corresponds to a vector of this table (in the order). The end of each mnemonics is indicated with the bit 7 on the last letter of the mnemonics. The table should not exceed 128 mnemonics and must be finished by a null byte.
Note: It is also possible also to call the X86 routines from the Cpc memory through Z80 opcodes (see below). If mnemonics are not necessary, replace the vector "MnemoTb" by a null word (address 0210h).

The file X86IOPix.asm located in directory "EX" is a complete example. It has generate the module X86IOPix.com in the same directory but it can also be compilated with format .EXE
command starting from the Dos command line:       ! EX\X86IOPix.com


To load a module in the emulator: 3 solutions

- Loading starting from the Dos command line:
       ! MODULE.COM
- Loading starting from a CpcAlive command file:
      
MODULE.COM
- Loading starting from the Cpc BASIC interpreter:
       |INPUT, "
MODULE.COM":call 0


To call a X86 program from the Z80 memory:


The call of a X86 program from the Cpc RAM (or ROM) is done using the opcode 049h followed module number, then vector number.
For example if you want to call "program2" (vector number 1) in the example above, considering that the system has load the module in the area 010h, that will give the Z80 opcode: 049h, 010h, 001h

notes:

- The module number is indicated to the address 0212h of the X86 environmental table.
- The vector number must be between 0 and 127. If the bit 7 is set, a "RET" will be simulated after the instruction. The instruction operation becomes similar than a "JP" instruction.


The Z80 registers values are retransmitted with the X86 programs like this:
Z80 registers      X86 registers
  F                  >   Flags
  A                 >   AL
  BC               >   CX
  DE               >   DX
  HL               >   BX
  IX                >   SI
  IY                >   DI

The pseudo Z80 register AH is also transfered.
CS,DS and ES registers address the Cpc memory.
FS and GS registers are undefined.
X86 registers values returned by the program will be retransmitted to the Z80 with the same way.
The Cpc memory access depends about the module size because modules are activated in the same area.
The first Cpc accessible adress is indicated to the address 0216h in the environmental table X86.

notes:
- The Cpc addresses lower than 04000h are never accessible from a X86 module.
- The Bios interruption INT 10H accept only the functions described in the preceding chapter.
- The standard output peripheral is always the screen.


VIII - UTILITY SOFTWARES

- 1 - CreaDisc.bas: create a virgin virtual diskette. (data formatted)
Order starting from the Dos command line:
! CreaDisc.bas>
diskette_name.dsk

- 2 - AniCrea.exe: create a FLI animation file

Dos syntax: AniCrea input_file [output_file]
input_file=Basic file generator (.BAS)
output_file=Animation file result (.FLI)

Basic syntax:
|ANICREA,OUTPUT_NAME$[,@er%]     -     start output file
The error return parameter @er% is facultatif. If it is put, the significance of the values recovered in the variable er% are:
0 = ok
1 = error number parameters
3 = way not found
4 = no more handle available
5 = refused access
6 = refused handle
(don't forget to initialize er% at the beginning of the program or before the order)

|ANISPEED,animation play speed between 0 to 65535

|FRAMEOUT[,@er%]             -     generate a frame
The error return parameter @er% is facultatif. If it is put, the significance of the values recovered in the variable er% are:
0 = ok
1 = error number parameters
2 = file not open
3 = output file write error

|ANICLOSE[,@er%]               - close output file
The error return parameter @er% is facultatif. If it is put, the significance of the values recovered in the variable er% are:
0 = ok
1 = error number parameters
2 = acces file error

The command "AniCrea demo.bas" from the Dos command line create the file DEMO.FLI


- 3 - Fli2Gif.exe: read a FLI animation file (for more information read the Fli2Gif.doc file)



Developer
souls call
If  you have the idea to develop some softwares or little demonstrations for CpcAlive, I would be enjoy to include them in next version or on the site of CpcAlive . You can post them here: cpcalive@aol.com .You'ld be informed about CpcAlive new versions. Thank you


CpcAlive is now shareware.
People who wish to take part can make a free gift here:
Office Chrétien des personnes Handicapées
(Handicaped People Christian Office)
(Association without bond with the author of the software Cpc
Alive)
The registered version removes the logo on the outputs screen files (BMP & FLI)
To receive it, 
return a scan image of the tax receipt here: cpcalive@aol.com
thank you


IX - CPCALIVE EVOLUTION

V1.08b           13/04/2005     important correction
V1.08             08/04/2005     - total integration of the implementation of RSX
                                              instructions in the X86 environment
                                           - improvement keyboard management
                                           - important corrections
V1.07MMM    08/12/2005    - more Bios and Dos fonctions accepted
V1.07MM       19/11/2005    - corrections
V1.07M          16/11/2005    - correction X86 programmation environment
V1.07L           10/11/2005    - integration X86 programmation environment
V1.07k           27/09/2005    - improvement CpcAlive commands interpreter
V1.07j            28/07/2005    - Bios and Dos interruptions access trough Z80 instructions
V1.07i                 07/2005    - addition FLI animation file generator modul
V1.07h                05/2005    - pallets 262144 colors
                                           - addition |INK,PEN,R,G,B and |INKRESTORE orders
V1.07g                04/2005    - addition .PIF files for Win9X DosBox configuration.
V1.07                 04/2005     - addition .PIF files for WinXP DosBox configuration.
V1.01 to V1.06                    - corrections
V1.0                   12/2004     - first diffusion


END