@ GNU AS assembler header file for ZapRedraw
@ Written by DefMod (Dec  9 2012) on Sun Dec  9 15:50:43 2012
@ Christian Ludlam, <chris@recoil.org> 09-Feb-02 23:39

@ OSLib---efficient, type-safe, transparent, extensible,
@ register-safe API coverage of RISC OS
@ 
@ Copyright (c) 1994-2012 Jonathan Coxhead and OSLib maintainers
@ 
@ Licence:
@ 
@    OSLib is free software; you can redistribute it and/or modify
@ it under the terms of the GNU General Public License as published by
@ the Free Software Foundation; either version 1, or (at your option)
@ any later version - and this with the following clarification and
@ special exception:
@ 
@    Linking this library statically or dynamically with other modules
@ is making a combined work based on this library. Thus, the terms
@ and conditions of the GNU General Public License cover the whole
@ combination.
@ 
@    As a special exception, the copyright holders of this library
@ give you permission to link this library with independent modules
@ to produce an executable, regardless of the license terms of these
@ independent modules, and to copy and distribute the resulting
@ executable under terms of your choice, provided that you also meet,
@ for each linked independent module, the terms and conditions of the
@ license of that module. An independent module is a module which is
@ not derived from or based on this library. If you modify this
@ library, you may extend this exception to your version of the library,
@ but you are not obliged to do so. If you do not wish to do so, delete
@ this exception statement from your version.
@ 
@    OSLib is distributed in the hope that it will be useful,
@ but WITHOUT ANY WARRANTY; without even the implied warranty of
@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
@ GNU General Public License for more details.
@ 
@    You should have received a copy of the GNU General Public License
@ along with this programme; if not, write to the Free Software
@ Foundation, Inc, 675 Mass Ave, Cambridge, MA 02139, USA.

#ifndef ZapRedraw_Hdr
#  define ZapRedraw_Hdr

#  ifndef Get_Types
#    define Get_Types
#    include "oslib/Types.Hdr"
#  endif

#  ifndef Get_OS
#    define Get_OS
#    include "oslib/OS.Hdr"
#  endif

#  ifndef Get_Wimp
#    define Get_Wimp
#    include "oslib/Wimp.Hdr"
#  endif

#  ifndef Get_Font
#    define Get_Font
#    include "oslib/Font.Hdr"
#  endif

@Symbols for constants
#  define ZapRedraw_DSA 0x0
#  define ZapRedraw_VDU 0x1
#  define ZapRedraw_DoubleHeight 0x2
#  define ZapRedraw_GivenExtensionRoutine 0x4
#  define ZapRedraw_Substyles 0x8
#  define ZapRedraw_FastRectangles 0x10
#  define ZapRedraw_AutoScale 0x20
#  define ZapRedraw_Extend 0x40
#  define ZapRedraw_RtoL 0x80
#  define ZapRedraw_Transparent 0x100
#  define ZapRedraw_AASuppress 0x200
#  define ZapRedraw_16Bit 0x400
#  define ZapRedraw_32Bit 0x800
#  define ZapRedraw_SmallColours 0x1000
#  define ZapRedraw_Normal 0x0
#  define ZapRedraw_Strikethrough 0x1
#  define ZapRedraw_Inverse 0x8
#  define ZapRedraw_Bold 0x20
#  define ZapRedraw_Italic 0x40
#  define ZapRedraw_Underlined 0x80
#  define ZapRedrawEcoding_UTF8 0x1
#  define ZapRedrawEcoding_UTF16 0x2
#  define ZapRedraw_Command 0x0
#  define ZapRedraw_CommandNull 0x0
#  define ZapRedraw_CommandSetColours 0x1
#  define ZapRedraw_CommandEOL 0x2
#  define ZapRedraw_Command16bitChar 0x3
#  define ZapRedraw_CommandMerge 0x4
#  define ZapRedraw_CommandReserved 0x5
#  define ZapRedraw_CommandSetFG 0x6
#  define ZapRedraw_CommandSetBG 0x7
#  define ZapRedraw_CommandCursorMerge 0x8
#  define ZapRedraw_CommandSetStyle 0x9
#  define ZapRedraw_CommandSetStyleCol 0xa
#  define ZapRedraw_CommandSetChunk 0xb
#  define ZapRedraw_CommandSetChunkLong 0xc
#  define ZapRedraw_CommandDelete 0x7f
#  define ZapRedraw_NewRaster 0x0
#  define ZapRedraw_SetColours 0x1
#  define ZapRedraw_Merge 0x4
#  define ZapRedraw_SetFG 0x6
#  define ZapRedraw_SetBG 0x7
#  define ZapRedraw_CursorMerge 0x8
#  define ZapRedraw_SetStyle 0x9
#  define ZapRedraw_SetStyleColours 0xa
#  define ZapRedraw_SetChunk 0xb
#  define ZapRedraw_SetLargeChunk 0xc
#  define ZapRedrawCreatePalette_WimpToVDU 0x1
#  define ZapRedrawCreatePalette_VDUToDSA 0x2
#  define ZapRedrawSpriteSizeReason_PassOne 0x0
#  define ZapRedrawSpriteSizeReason_PassTwo 0x80
#  define ZapRedraw_MatchForColourShift 0x8
#  define ZapRedraw_MatchFor 0x40000000
#  define ZapRedraw_MatchBac 0x80000000
#  define ZapRedraw_CursorHighByteShift 0x0
#  define ZapRedraw_CursorForShift 0x18
#  define ZapRedraw_CursorMergeCharacter 0x400
#  define ZapRedraw_CursorMergeCursor 0x800
#  define ZapRedrawFindFont_DSA 0x0
#  define ZapRedrawFindFont_VDU 0x1
#  define ZapRedrawFindFont_ReductionBlock 0x2
#  define ZapRedrawReadCharSize_Pixels 0x0
#  define ZapRedrawReadCharSize_OS 0x1
#  define ZapRedrawReadCharSize_Linesp 0x2
#  define ZapRedrawReadCharSize_Scale 0x4

@Symbols for structure offsets and sizes
        .struct 0
        .skip   Bits
ZapRedraw_Flags                : 

@ abstract type
#  define ZapRedraw_F 4

@ abstract type
#  define ZapRedraw_E 4

        .struct 0
        .skip   Ptr
ZapRedraw_CharCache            : 

        .struct 0
        .skip   Byte
ZapRedraw_Colour               : 

        .struct 0
        .skip   Char
ZapRedraw_Substyle             : 

        .struct 0
        .skip   256*Bits
ZapRedraw_EncodingTable        : 


        .struct 0
ZapRedraw_DSABlock_flags       : .skip   ZapRedraw_Flags
ZapRedraw_DSABlock_box         : .skip   OS_Box
ZapRedraw_DSABlock_screen      : .skip   Ptr
ZapRedraw_DSABlock_bpl         : .skip   Int
ZapRedraw_DSABlock_log2_bpp    : .skip   Int
ZapRedraw_DSABlock_charw       : .skip   Int
ZapRedraw_DSABlock_charh       : .skip   Int
ZapRedraw_DSABlock_caddr       : .skip   Ptr
ZapRedraw_DSABlock_cbpl        : .skip   Int
ZapRedraw_DSABlock_cbpc        : .skip   Int
ZapRedraw_DSABlock_linesp      : .skip   Int
ZapRedraw_DSABlock_data        : .skip   Ptr
ZapRedraw_DSABlock_scrollx     : .skip   Int
ZapRedraw_DSABlock_scrolly     : .skip   Int
ZapRedraw_DSABlock_palette     : .skip   Ptr
ZapRedraw_DSABlock_fg          : .skip   Int
ZapRedraw_DSABlock_bg          : .skip   Int
ZapRedraw_DSABlock_workarea    : .skip   Ptr
ZapRedraw_DSABlock_magx        : .skip   Int
ZapRedraw_DSABlock_magy        : .skip   Int
ZapRedraw_DSABlock_xsize       : .skip   Int
ZapRedraw_DSABlock_ysize       : .skip   Int
ZapRedraw_DSABlock_mode        : .skip   OS_Mode
ZapRedraw_DSABlock_length      : .skip   Int
ZapRedraw_DSABlock_lmargin     : .skip   Int
ZapRedraw_DSABlock_tmargin     : .skip   Int
ZapRedraw_DSABlock_encoding    : .skip   ZapRedraw_E
ZapRedraw_DSABlock             : 

        .struct 0
ZapRedraw_VDUBlock_flags       : .skip   ZapRedraw_Flags
ZapRedraw_VDUBlock_box         : .skip   OS_Box
ZapRedraw_VDUBlock_reserved0   : .skip   Ptr
ZapRedraw_VDUBlock_reserved1   : .skip   Int
ZapRedraw_VDUBlock_log2_bpp    : .skip   Int
ZapRedraw_VDUBlock_charw       : .skip   Int
ZapRedraw_VDUBlock_charh       : .skip   Int
ZapRedraw_VDUBlock_caddr       : .skip   Ptr
ZapRedraw_VDUBlock_offsetx     : .skip   Int
ZapRedraw_VDUBlock_offsety     : .skip   Int
ZapRedraw_VDUBlock_linesp      : .skip   Int
ZapRedraw_VDUBlock_data        : .skip   Ptr
ZapRedraw_VDUBlock_scrollx     : .skip   Int
ZapRedraw_VDUBlock_scrolly     : .skip   Int
ZapRedraw_VDUBlock_palette     : .skip   Ptr
ZapRedraw_VDUBlock_fg          : .skip   Int
ZapRedraw_VDUBlock_bg          : .skip   Int
ZapRedraw_VDUBlock_workarea    : .skip   Ptr
ZapRedraw_VDUBlock_magx        : .skip   Int
ZapRedraw_VDUBlock_magy        : .skip   Int
ZapRedraw_VDUBlock_xsize       : .skip   Int
ZapRedraw_VDUBlock_ysize       : .skip   Int
ZapRedraw_VDUBlock_mode        : .skip   OS_Mode
ZapRedraw_VDUBlock_length      : .skip   Int
ZapRedraw_VDUBlock_lmargin     : .skip   Int
ZapRedraw_VDUBlock_tmargin     : .skip   Int
ZapRedraw_VDUBlock_encoding    : .skip   ZapRedraw_E
ZapRedraw_VDUBlock             : 

        .struct 0
ZapRedraw_FontBlock_flags      : .skip   ZapRedraw_Flags
ZapRedraw_FontBlock_box        : .skip   OS_Box
ZapRedraw_FontBlock_screen     : .skip   Ptr
ZapRedraw_FontBlock_bpl        : .skip   Int
ZapRedraw_FontBlock_log2_bpp   : .skip   Int
ZapRedraw_FontBlock_charw      : .skip   Int
ZapRedraw_FontBlock_charh      : .skip   Int
ZapRedraw_FontBlock_font       : .skip   ZapRedraw_F
ZapRedraw_FontBlock_cbpl       : .skip   Int
ZapRedraw_FontBlock_cbpc       : .skip   Int
ZapRedraw_FontBlock_linesp     : .skip   Int
ZapRedraw_FontBlock_data       : .skip   Ptr
ZapRedraw_FontBlock_scrollx    : .skip   Int
ZapRedraw_FontBlock_scrolly    : .skip   Int
ZapRedraw_FontBlock_palette    : .skip   Ptr
ZapRedraw_FontBlock_fg         : .skip   Int
ZapRedraw_FontBlock_bg         : .skip   Int
ZapRedraw_FontBlock_workarea   : .skip   Ptr
ZapRedraw_FontBlock_magx       : .skip   Int
ZapRedraw_FontBlock_magy       : .skip   Int
ZapRedraw_FontBlock_xsize      : .skip   Int
ZapRedraw_FontBlock_ysize      : .skip   Int
ZapRedraw_FontBlock_mode       : .skip   OS_Mode
ZapRedraw_FontBlock_length     : .skip   Int
ZapRedraw_FontBlock_lmargin    : .skip   Int
ZapRedraw_FontBlock_tmargin    : .skip   Int
ZapRedraw_FontBlock_encoding   : .skip   ZapRedraw_E
ZapRedraw_FontBlock            : 

        .struct 0
ZapRedraw_Block_vdu            : .skip   ZapRedraw_VDUBlock
        .struct 0
ZapRedraw_Block_dsa            : .skip   ZapRedraw_DSABlock
        .struct 0
ZapRedraw_Block_font           : .skip   ZapRedraw_FontBlock
ZapRedraw_Block                : 

        .struct 0
ZapRedraw_DSAPalette_dup_colour: .skip   Bits
ZapRedraw_DSAPalette           : 

        .struct 0
ZapRedraw_VDUPalette_colour    : .skip   OS_Colour
ZapRedraw_VDUPalette           : 

        .struct 0
ZapRedraw_Palette_vdu          : .skip   ZapRedraw_VDUPalette
        .struct 0
ZapRedraw_Palette_dsa          : .skip   ZapRedraw_DSAPalette
ZapRedraw_Palette              : 

        .struct 0
        .skip   Int
ZapRedraw_Reason               : 

        .struct 0
        .skip   Bits
ZapRedrawCreatePalette_Flags   : 

        .struct 0
        .skip   Bits
ZapRedrawSpriteSize_Reason     : 

        .struct 0
        .skip   Bits
ZapRedraw_AddCursorMatch       : 

        .struct 0
        .skip   Bits
ZapRedraw_AddCursorCursor      : 

        .struct 0
        .skip   Bits
ZapRedrawFindFont_Flags        : 

        .struct 0
        .skip   OS_Box
ZapRedraw_ReductionBlock       : 

        .struct 0
        .skip   Bits
ZapRedrawReadCharSize_Flags    : 


@Symbols for SWI's and SWI reason codes
.set XZapRedraw_RedrawArea,0x68480
.set ZapRedraw_RedrawArea,0x48480
   @Entry
   @  R1 -> redraw_block (ZapRedraw_Block)
   @  R2 = extension_fn (pointer to code)
   @  R3 = extension_handle (pointer to Void)
   @Exit
   @  R0 corrupted

.set XZapRedraw_GetPaletteEntry,0x68481
.set ZapRedraw_GetPaletteEntry,0x48481
   @Entry
   @  R0 = colour_number (OS_ColourNumber)
   @  R1 = bpp (Int)
   @Exit
   @  R0 = dup_colour (Int)

.set XZapRedraw_RedrawRaster,0x68482
.set ZapRedraw_RedrawRaster,0x48482

.set XZapRedraw_ConvertBitmap,0x68483
.set ZapRedraw_ConvertBitmap,0x48483
   @Entry
   @  R1 -> redraw_block (ZapRedraw_Block)
   @  R2 = first (Int)
   @  R3 = last (Int)
   @  R4 = bitmaps (ZapRedraw_CharCache)
   @Exit
   @  R0 corrupted

.set XZapRedraw_PrepareDataLine,0x68484
.set ZapRedraw_PrepareDataLine,0x48484
   @Entry
   @  R0 = ctrl_colour (ZapRedraw_Colour)
   @  R1 -> redraw_block (ZapRedraw_Block)
   @  R2 -> input (String)
   @  R3 -> fg (ZapRedraw_Colour)
   @  R4 -> bg (ZapRedraw_Colour)
   @  R5 = length (Int)
   @  R6 = output (pointer to String)
   @  R7 -> substyles (ZapRedraw_Substyle)
   @Exit
   @  R0 = highest (Int)
   @  R5 = length_out (Int)

.set XZapRedraw_AddCursor,0x68485
.set ZapRedraw_AddCursor,0x48485

.set XZapRedraw_FindCharacter,0x68486
.set ZapRedraw_FindCharacter,0x48486
   @Entry
   @  R0 = count (Int)
   @  R1 -> input (String)
   @  R2 = fg (ZapRedraw_Colour)
   @  R3 = bg (ZapRedraw_Colour)
   @  R4 = style (ZapRedraw_Substyle)
   @Exit
   @  R0 -> something (String)
   @  R1 -> next_char (String)
   @  R2 = fg_out (ZapRedraw_Colour)
   @  R3 = bg_out (ZapRedraw_Colour)
   @  R4 = style_out (ZapRedraw_Substyle)

.set XZapRedraw_MoveBytes,0x68487
.set ZapRedraw_MoveBytes,0x48487
   @Entry
   @  R1 -> source (Byte)
   @  R2 = dest (pointer to Byte)
   @  R3 = length (Int)
   @Exit
   @  R0 corrupted
   @  R1 corrupted
   @  R2 corrupted
   @  R3 corrupted

.set XZapRedraw_CachedCharSize,0x68488
.set ZapRedraw_CachedCharSize,0x48488
   @Entry
   @  R0 = bpp (Int)
   @  R2 = charw (Int)
   @  R3 = charh (Int)
   @Exit
   @  R0 corrupted
   @  R2 = cbpl (Int)
   @  R3 = cbpc (Int)

.set XZapRedraw_ConvBitmapChar,0x68489
.set ZapRedraw_ConvBitmapChar,0x48489
   @Entry
   @  R1 -> redraw_block (ZapRedraw_Block)
   @  R2 = source_bpl (Int)
   @  R3 = dest_bpl (Int)
   @  R4 = source_bitmap (ZapRedraw_CharCache)
   @  R5 = dest_bitmap (ZapRedraw_CharCache)
   @  R6 = bit_mask (Bits)
   @  R7 = bpp (Int)
   @Exit
   @  R0 corrupted
   @  R4 = next_source (ZapRedraw_CharCache)
   @  R5 = next_dest (ZapRedraw_CharCache)

.set XZapRedraw_CreatePalette,0x6848a
.set ZapRedraw_CreatePalette,0x4848a
   @Entry
   @  R0 = flags (ZapRedrawCreatePalette_Flags)
   @  R1 -> redraw_block (ZapRedraw_Block)
   @  R2 -> in (ZapRedraw_Palette)
   @  R3 = out (pointer to ZapRedraw_Palette)
   @  R4 = number (Int)
   @Exit
   @  R0 corrupted

.set XZapRedraw_InsertChar,0x6848b
.set ZapRedraw_InsertChar,0x4848b
   @Entry
   @  R0 = c (Int)
   @  R1 = address (pointer to String)
   @Exit
   @  R0 corrupted
   @  R1 -> address_out (String)

.set XZapRedraw_ReadSystemChars,0x6848c
.set ZapRedraw_ReadSystemChars,0x4848c
   @Entry
   @  R0 = buffer (ZapRedraw_CharCache)
   @  R1 -> redraw_block (ZapRedraw_Block)
   @Exit
   @  R0 corrupted

.set XZapRedraw_ReverseBitmaps,0x6848d
.set ZapRedraw_ReverseBitmaps,0x4848d
   @Entry
   @  R1 = source (ZapRedraw_CharCache)
   @  R2 = dest (ZapRedraw_CharCache)
   @  R3 = number (Int)
   @Exit
   @  R0 corrupted

.set XZapRedraw_ReadVduVars,0x6848e
.set ZapRedraw_ReadVduVars,0x4848e
   @Entry
   @  R1 = redraw_block (pointer to ZapRedraw_Block)
   @Exit
   @  R0 corrupted

.set XZapRedraw_GetRectangle,0x6848f
.set ZapRedraw_GetRectangle,0x4848f
   @Entry
   @  R0 -> wimp_block (Wimp_Draw)
   @  R1 = redraw_block (pointer to ZapRedraw_Block)
   @Exit
   @  R0 corrupted

.set XZapRedraw_AddVduBitmaps,0x68490
.set ZapRedraw_AddVduBitmaps,0x48490
   @Entry
   @  R1 -> redraw_block (ZapRedraw_Block)
   @  R2 = first (Int)
   @  R3 = last (Int)
   @  R4 = address (ZapRedraw_CharCache)
   @Exit
   @  R0 corrupted

.set XZapRedraw_CacheFontChars,0x68491
.set ZapRedraw_CacheFontChars,0x48491

#  define ZapRedrawCacheFontChars_CurrentMode 0x1
   @Entry
   @  R0 = &1
   @  R1 -> redraw_block (ZapRedraw_Block)
   @  R2 -> font_name (String)
   @  R3 = size (Int)
   @  R4 = xoff (Int)
   @  R5 = yoff (Int)
   @  R6 = first (Int)
   @  R7 = last (Int)
   @Exit
   @  R0 corrupted

#  define ZapRedrawCacheFontChars_1bpp 0x2
   @Entry
   @  R0 = &2
   @  R1 -> redraw_block (ZapRedraw_Block)
   @  R2 -> font_name (String)
   @  R3 = size (Int)
   @  R4 = xoff (Int)
   @  R5 = yoff (Int)
   @  R6 = first (Int)
   @  R7 = last (Int)
   @Exit
   @  R0 corrupted

.set XZapRedraw_SpriteSize,0x68492
.set ZapRedraw_SpriteSize,0x48492

#  define ZapRedrawSpriteSize_CurrentMode 0x1
   @Entry
   @  R0 = &1 :OR: pass (ZapRedrawSpriteSize_Reason)
   @  R1 -> redraw_block (ZapRedraw_Block)
   @Exit
   @  R0 = size (Int)

#  define ZapRedrawSpriteSize_1bpp 0x2
   @Entry
   @  R0 = &2 :OR: pass (ZapRedrawSpriteSize_Reason)
   @  R1 -> redraw_block (ZapRedraw_Block)
   @Exit
   @  R0 = size (Int)

.set XZapRedraw_RedrawWindow,0x68493
.set ZapRedraw_RedrawWindow,0x48493
   @Entry
   @  R0 -> wimp_block (Wimp_Draw)
   @  R1 -> redraw_block (ZapRedraw_Block)
   @Exit
   @  R0 corrupted

.set XZapRedraw_Divide,0x68494
.set ZapRedraw_Divide,0x48494
   @Entry
   @  R0 = numerator (Bits)
   @  R1 = denominator (Bits)
   @Exit
   @  R0 = div (Bits)
   @  R1 corrupted
   @  R2 = mod (Bits)
   @  R3 corrupted

.set XZapRedraw_PlotRectangle,0x68495
.set ZapRedraw_PlotRectangle,0x48495
   @Entry
   @  R0 = x0 (Int)
   @  R1 = y0 (Int)
   @  R2 = x1 (Int)
   @  R3 = y1 (Int)
   @  R4 = colour (OS_ColourNumber)
   @Exit
   @  R0 corrupted
   @  R1 corrupted
   @  R2 corrupted
   @  R3 corrupted
   @  R4 corrupted
   @  R5 corrupted
   @  R6 corrupted
   @  R7 corrupted
   @  R8 corrupted

.set XZapRedraw_AddCursorSmart,0x68496
.set ZapRedraw_AddCursorSmart,0x48496
   @Entry
   @  R0 = dest (pointer to String)
   @  R1 -> redraw_block (ZapRedraw_Block)
   @  R2 = offset (Int)
   @  R3 = length (Int)
   @  R4 -> cursors (String)
   @  R5 -> source (String)
   @  R6 = match (ZapRedraw_AddCursorMatch)
   @  R7 = cursor (ZapRedraw_AddCursorCursor)
   @Exit
   @  R0 -> end (String)

.set XZapRedraw_FindFont,0x68497
.set ZapRedraw_FindFont,0x48497
   @Entry
   @  R0 -> name (String)
   @  R1 = flags (ZapRedrawFindFont_Flags)
   @  R2 = size (Int)
   @  R3 = aspect (Int)
   @  R4 -> block (ZapRedraw_ReductionBlock)
   @Exit
   @  R0 = handle (ZapRedraw_F)

.set XZapRedraw_LoseFont,0x68498
.set ZapRedraw_LoseFont,0x48498
   @Entry
   @  R0 = handle (ZapRedraw_F)
   @Exit
   @  R0 corrupted

.set XZapRedraw_ReadCharSize,0x68499
.set ZapRedraw_ReadCharSize,0x48499
   @Entry
   @  R0 = handle (ZapRedraw_F)
   @  R1 -> redraw_block (ZapRedraw_Block)
   @  R2 = flags (ZapRedrawReadCharSize_Flags)
   @Exit
   @  R0 corrupted
   @  R2 = charw (Int)
   @  R3 = charh (Int)

.set XZapRedraw_Version,0x6849a
.set ZapRedraw_Version,0x4849a
   @Exit
   @  R0 = Version (Int)
   @  R1 corrupted
   @  R2 corrupted

.set XZapRedraw_ListFonts,0x6849b
.set ZapRedraw_ListFonts,0x4849b
   @Entry
   @  R1 = buffer1 (pointer to data)
   @  R2 = context (Font_ListContext)
   @  R3 = size1 (Int)
   @  R4 = buffer2 (pointer to data)
   @  R5 = size2 (Int)
   @  R6 -> tick_font (String)
   @Exit
   @  R2 = context_out (Font_ListContext)
   @  R3 = used1 (Int)
   @  R5 = used2 (Int)

.set XZapRedraw_UpdateWindow,0x6849c
.set ZapRedraw_UpdateWindow,0x4849c
   @Entry
   @  R0 -> update (Wimp_Draw)
   @  R1 -> redraw_block (ZapRedraw_Block)
   @Exit
   @  R0 corrupted

.set XZapRedraw_ReadFontInfo,0x6849d
.set ZapRedraw_ReadFontInfo,0x4849d

#  define ZapRedraw_ReadFontName 0x0
   @Entry
   @  R0 = &0
   @  R1 = handle (ZapRedraw_F)
   @Exit
   @  R0 -> name (String)

.set XZapRedraw_ReadModeBPP,0x6849e
.set ZapRedraw_ReadModeBPP,0x4849e
   @Exit
   @  R0 = bpp (Int)

.set XZapRedraw_DecodeMenu,0x6849f
.set ZapRedraw_DecodeMenu,0x4849f
   @Entry
   @  R0 = flags (Font_DecodeFlags)
   @  R1 -> menu (data)
   @  R2 -> block (data)
   @  R3 = buffer (pointer to data)
   @  R4 = size (Int)
   @Exit
   @  R3 -> next_selection (Int)
   @  R4 = used (Int)

.set XZapRedraw_Encoding,0x684a0
.set ZapRedraw_Encoding,0x484a0

.set XZapRedrawEncoding_Find,0x684a0
.set ZapRedrawEncoding_Find,0x484a0
   @Entry
   @  R0 = &0
   @  R1 -> name (String)
   @Exit
   @  R0 = handle (ZapRedraw_E)

.set XZapRedrawEncoding_Lose,0x684a0
.set ZapRedrawEncoding_Lose,0x484a0
   @Entry
   @  R0 = &1
   @  R1 = handle (ZapRedraw_E)
   @Exit
   @  R0 corrupted

.set XZapRedrawEncoding_Table,0x684a0
.set ZapRedrawEncoding_Table,0x484a0
   @Entry
   @  R0 = &2
   @  R1 = handle (ZapRedraw_E)
   @Exit
   @  R0 -> table (ZapRedraw_EncodingTable)

#endif
