OpenCores
URL https://opencores.org/ocsvn/z80soc/z80soc/trunk

Subversion Repositories z80soc

[/] [z80soc/] [trunk/] [V0.7/] [rom/] [psf2rom.sh] - Blame information for rev 34

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 34 rrred
#!/bin/sh
2
IN=$1
3
 
4
addr () {
5
 s=$1
6
 ss=${s//+/?}
7
 sss=${ss//-/?}
8
 #echo $sss
9
 echo ${sss:11:2}
10
 
11
}
12
 
13
convbin () {
14
 s=$1
15
 ss=${s//X/1}
16
 echo ${ss// /0}
17
 
18
}
19
 
20
echo "library IEEE;
21
use IEEE.std_logic_1164.all;
22
use ieee.numeric_std.all;
23
 
24
entity char is
25
        port (
26
        clka: IN std_logic;
27
        addra: IN std_logic_VECTOR(10 downto 0);
28
        douta: OUT std_logic_VECTOR(7 downto 0));
29
end char;
30
 
31
architecture a of char is
32
begin
33
 
34
process (clka)
35
begin
36
 if clka'event and clka = '1' then
37
        case addra is"
38
 
39
ADDR=0
40
 
41
for L in `cat $IN | sed s/" "/0/g | grep -v "font" | grep -v chars | grep -v width | grep -v height | grep -v 256 | grep -v "^8"`
42
do
43
   ISADDR=`echo $L | grep "++"`
44
   if [[ -z "$ISADDR" ]]; then
45
      LIN=${L//X/1}
46
      BL1="when \""
47
      BL3="\" => douta <= \"$LIN\";"
48
      binaddr="0000000000"`echo "obase=2;ibase=10;$ADDR" | bc`
49
      fixhexaddr=${binaddr:(-11)}
50
      echo "             "$BL1$fixhexaddr$BL3
51
 
52
      let ADDR=$ADDR+1
53
    fi
54
 
55
done
56
 
57
echo "             when others => douta <= \"00000000\";
58
        end case;
59
 end if;
60
end process;
61
end;"
62
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.