Re: Jiri, where are you?

new topic     » goto parent     » topic index » view thread      » older message » newer message

--------------7A2DEC1D81121BDF9CF34FB1

Hello Jiri,
attached a little program (IBM437.EX, one has to supply your rfont.e)
which will display the VGA fonts 16x8 or 8x8 in standard VGA graphics
mode 18. It will create also a BMP file. Only char 10 is missing.
Have a nice day, Rolf

--------------7A2DEC1D81121BDF9CF34FB1
 name="Ibm437.ex"
Content-Disposition: inline;
 filename="Ibm437.ex"

--                                                    Rolf Schr”der 2001-01-23
--> IBM437.EX  All IBM-437 characters from VGA font   M””rkenweg 37
--  ßßßßßßßßß  in graphics VGA(18) mode               21029 Hamburg, Germany
--
--  Language: EUPHORIA ver. 2.2                       r.schr at t-online.de
constant TOPROW  = 32       -- Upper pixel row of table (without header)
constant LEFTCL  = 100      -- Left pixel column of table
constant FORECOL = BLACK
constant BACKCOL = BRIGHT_WHITE
procedure cls()         -- Set screen to ASCII 32
--        ßßß
    integer   dy
    
    if FONT = ROM16 then
	dy = 16
    else
	dy = 8
    end if
    for i = 0 to 479 by dy do
	setxy(0,i)
	write(repeat(32,80))
    end for
end procedure
procedure main()
--        ßßßß
    integer  i1
    sequence s1, s2

    
    if graphics_mode(18) then
	puts(1,"Couldn't set VGA graphics mode. Abort.\n")
	abort(1)
    end if
    select_font(FONT)       -- 8x16 | 8x8 ROM Font
    set_background(BACKCOL)
    set_foreground(FORECOL)
    cls()
    set_background(CLEAR)   -- trancparent (faster)
    if FONT = ROM16 then
	s1 = HEADER1
    else
	s1 = HEADER2
    end if
    setxy(320-length(s1)*4,0)                   -- Write header
    write(s1)
    for i = 0 to 15 do                          -- Write numbers: hor. & ver.
	setxy(LEFTCL+56+24*i,TOPROW         )   -- Write hor. dec.
	write(sprintf("%3d",i))
	setxy(LEFTCL+56+24*i,TOPROW+24      )   -- Write hor. hex.
	write(sprintf("%3x",i))
	setxy(LEFTCL        ,TOPROW+24*(i+2))   -- Write ver. dec.
	write(sprintf("%3d",i*16))
	setxy(LEFTCL+32     ,TOPROW+24*(i+2))   -- Write ver. hex.
	write(sprintf("%3x",i*16))
    end for
    setxy(LEFTCL   ,TOPROW   )
    write("DEC")
    setxy(LEFTCL+32,TOPROW+24)
    write("HEX")
    for i = 0 to 15 do                          -- Write all 256 characters!
	for j = 0 to 15 do
	    setxy(LEFTCL+72+24*j,TOPROW+24*(i+2))  
	    write({16*i+j})
	end for
    end for
    draw_line(FORECOL,{{LEFTCL         ,TOPROW+24*2 -4 },
		       {LEFTCL+80+24*15,TOPROW+24*2 -4 }})  -- hor.
    draw_line(FORECOL,{{LEFTCL+64      ,TOPROW         },
		       {LEFTCL+64      ,TOPROW+24*18-8 }})  -- ver.
    s1 = save_image({LEFTCL,0},{LEFTCL+80+24*15,TOPROW+24*18-8})
    s2 = get_all_palette() * 4
    if FONT = ROM16 then
	i1 = save_bitmap({s2,s1},"ROM16X8x.BMP")
    else
	i1 = save_bitmap({s2,s1},"ROM8X8x.BMP")
    end if
    i1 = wait_key()
    i1 = graphics_mode(-1)
end procedure
    main()
--------------7A2DEC1D81121BDF9CF34FB1--

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu