├── .gitignore
├── COPYING
├── HDMIDirect.png
├── HDMIDirect.v
├── LICENSE.md
├── Notes.md
├── README.md
├── Wiring.md
├── altera
└── 13.0sp1
│ ├── HDMIDirect.bdf
│ ├── HDMIDirect.bsf
│ ├── HDMIDirect.qpf
│ ├── HDMIDirect.qsf
│ ├── HDMIDirect.qws
│ ├── HDMIDirect.v
│ ├── HDMIDirectV.bsf
│ ├── HDMI_test.bsf
│ ├── TERC4_encoder.bsf
│ ├── TMDS_encoder.bsf
│ ├── altpll_masterclk.bsf
│ ├── altpll_masterclk.ppf
│ ├── altpll_masterclk.qip
│ ├── altpll_masterclk.v
│ ├── altpll_masterclk_bb.v
│ ├── font
│ └── logo.hex
│ └── output_files
│ ├── HDMIDirect.pof
│ └── HDMIDirect.sof
└── font
├── logo.hex
├── makelogo.c
├── messages.h
├── messages.xcf
├── neogeo.h
└── neogeo.xcf
/.gitignore:
--------------------------------------------------------------------------------
1 | # Temps
2 | *.bak
3 | *.cdf
4 | *.done
5 | *.jdi
6 | *.pin
7 |
8 | # Output files
9 | *.asm.*
10 | *.eda.*
11 | *.fit.*
12 | *.flow.*
13 | *.map.*
14 | *.sta.*
15 |
16 | # Output directories
17 | altera/13.0sp1/db/
18 | altera/13.0sp1/greybox_tmp/
19 | altera/13.0sp1/incremental_db/
20 | altera/13.0sp1/output_files/greybox_tmp/
21 | altera/13.0sp1/simulation/
22 |
--------------------------------------------------------------------------------
/COPYING:
--------------------------------------------------------------------------------
1 | GNU GENERAL PUBLIC LICENSE
2 | Version 2, June 1991
3 |
4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
5 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
6 | Everyone is permitted to copy and distribute verbatim copies
7 | of this license document, but changing it is not allowed.
8 |
9 | Preamble
10 |
11 | The licenses for most software are designed to take away your
12 | freedom to share and change it. By contrast, the GNU General Public
13 | License is intended to guarantee your freedom to share and change free
14 | software--to make sure the software is free for all its users. This
15 | General Public License applies to most of the Free Software
16 | Foundation's software and to any other program whose authors commit to
17 | using it. (Some other Free Software Foundation software is covered by
18 | the GNU Lesser General Public License instead.) You can apply it to
19 | your programs, too.
20 |
21 | When we speak of free software, we are referring to freedom, not
22 | price. Our General Public Licenses are designed to make sure that you
23 | have the freedom to distribute copies of free software (and charge for
24 | this service if you wish), that you receive source code or can get it
25 | if you want it, that you can change the software or use pieces of it
26 | in new free programs; and that you know you can do these things.
27 |
28 | To protect your rights, we need to make restrictions that forbid
29 | anyone to deny you these rights or to ask you to surrender the rights.
30 | These restrictions translate to certain responsibilities for you if you
31 | distribute copies of the software, or if you modify it.
32 |
33 | For example, if you distribute copies of such a program, whether
34 | gratis or for a fee, you must give the recipients all the rights that
35 | you have. You must make sure that they, too, receive or can get the
36 | source code. And you must show them these terms so they know their
37 | rights.
38 |
39 | We protect your rights with two steps: (1) copyright the software, and
40 | (2) offer you this license which gives you legal permission to copy,
41 | distribute and/or modify the software.
42 |
43 | Also, for each author's protection and ours, we want to make certain
44 | that everyone understands that there is no warranty for this free
45 | software. If the software is modified by someone else and passed on, we
46 | want its recipients to know that what they have is not the original, so
47 | that any problems introduced by others will not reflect on the original
48 | authors' reputations.
49 |
50 | Finally, any free program is threatened constantly by software
51 | patents. We wish to avoid the danger that redistributors of a free
52 | program will individually obtain patent licenses, in effect making the
53 | program proprietary. To prevent this, we have made it clear that any
54 | patent must be licensed for everyone's free use or not licensed at all.
55 |
56 | The precise terms and conditions for copying, distribution and
57 | modification follow.
58 |
59 | GNU GENERAL PUBLIC LICENSE
60 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
61 |
62 | 0. This License applies to any program or other work which contains
63 | a notice placed by the copyright holder saying it may be distributed
64 | under the terms of this General Public License. The "Program", below,
65 | refers to any such program or work, and a "work based on the Program"
66 | means either the Program or any derivative work under copyright law:
67 | that is to say, a work containing the Program or a portion of it,
68 | either verbatim or with modifications and/or translated into another
69 | language. (Hereinafter, translation is included without limitation in
70 | the term "modification".) Each licensee is addressed as "you".
71 |
72 | Activities other than copying, distribution and modification are not
73 | covered by this License; they are outside its scope. The act of
74 | running the Program is not restricted, and the output from the Program
75 | is covered only if its contents constitute a work based on the
76 | Program (independent of having been made by running the Program).
77 | Whether that is true depends on what the Program does.
78 |
79 | 1. You may copy and distribute verbatim copies of the Program's
80 | source code as you receive it, in any medium, provided that you
81 | conspicuously and appropriately publish on each copy an appropriate
82 | copyright notice and disclaimer of warranty; keep intact all the
83 | notices that refer to this License and to the absence of any warranty;
84 | and give any other recipients of the Program a copy of this License
85 | along with the Program.
86 |
87 | You may charge a fee for the physical act of transferring a copy, and
88 | you may at your option offer warranty protection in exchange for a fee.
89 |
90 | 2. You may modify your copy or copies of the Program or any portion
91 | of it, thus forming a work based on the Program, and copy and
92 | distribute such modifications or work under the terms of Section 1
93 | above, provided that you also meet all of these conditions:
94 |
95 | a) You must cause the modified files to carry prominent notices
96 | stating that you changed the files and the date of any change.
97 |
98 | b) You must cause any work that you distribute or publish, that in
99 | whole or in part contains or is derived from the Program or any
100 | part thereof, to be licensed as a whole at no charge to all third
101 | parties under the terms of this License.
102 |
103 | c) If the modified program normally reads commands interactively
104 | when run, you must cause it, when started running for such
105 | interactive use in the most ordinary way, to print or display an
106 | announcement including an appropriate copyright notice and a
107 | notice that there is no warranty (or else, saying that you provide
108 | a warranty) and that users may redistribute the program under
109 | these conditions, and telling the user how to view a copy of this
110 | License. (Exception: if the Program itself is interactive but
111 | does not normally print such an announcement, your work based on
112 | the Program is not required to print an announcement.)
113 |
114 | These requirements apply to the modified work as a whole. If
115 | identifiable sections of that work are not derived from the Program,
116 | and can be reasonably considered independent and separate works in
117 | themselves, then this License, and its terms, do not apply to those
118 | sections when you distribute them as separate works. But when you
119 | distribute the same sections as part of a whole which is a work based
120 | on the Program, the distribution of the whole must be on the terms of
121 | this License, whose permissions for other licensees extend to the
122 | entire whole, and thus to each and every part regardless of who wrote it.
123 |
124 | Thus, it is not the intent of this section to claim rights or contest
125 | your rights to work written entirely by you; rather, the intent is to
126 | exercise the right to control the distribution of derivative or
127 | collective works based on the Program.
128 |
129 | In addition, mere aggregation of another work not based on the Program
130 | with the Program (or with a work based on the Program) on a volume of
131 | a storage or distribution medium does not bring the other work under
132 | the scope of this License.
133 |
134 | 3. You may copy and distribute the Program (or a work based on it,
135 | under Section 2) in object code or executable form under the terms of
136 | Sections 1 and 2 above provided that you also do one of the following:
137 |
138 | a) Accompany it with the complete corresponding machine-readable
139 | source code, which must be distributed under the terms of Sections
140 | 1 and 2 above on a medium customarily used for software interchange; or,
141 |
142 | b) Accompany it with a written offer, valid for at least three
143 | years, to give any third party, for a charge no more than your
144 | cost of physically performing source distribution, a complete
145 | machine-readable copy of the corresponding source code, to be
146 | distributed under the terms of Sections 1 and 2 above on a medium
147 | customarily used for software interchange; or,
148 |
149 | c) Accompany it with the information you received as to the offer
150 | to distribute corresponding source code. (This alternative is
151 | allowed only for noncommercial distribution and only if you
152 | received the program in object code or executable form with such
153 | an offer, in accord with Subsection b above.)
154 |
155 | The source code for a work means the preferred form of the work for
156 | making modifications to it. For an executable work, complete source
157 | code means all the source code for all modules it contains, plus any
158 | associated interface definition files, plus the scripts used to
159 | control compilation and installation of the executable. However, as a
160 | special exception, the source code distributed need not include
161 | anything that is normally distributed (in either source or binary
162 | form) with the major components (compiler, kernel, and so on) of the
163 | operating system on which the executable runs, unless that component
164 | itself accompanies the executable.
165 |
166 | If distribution of executable or object code is made by offering
167 | access to copy from a designated place, then offering equivalent
168 | access to copy the source code from the same place counts as
169 | distribution of the source code, even though third parties are not
170 | compelled to copy the source along with the object code.
171 |
172 | 4. You may not copy, modify, sublicense, or distribute the Program
173 | except as expressly provided under this License. Any attempt
174 | otherwise to copy, modify, sublicense or distribute the Program is
175 | void, and will automatically terminate your rights under this License.
176 | However, parties who have received copies, or rights, from you under
177 | this License will not have their licenses terminated so long as such
178 | parties remain in full compliance.
179 |
180 | 5. You are not required to accept this License, since you have not
181 | signed it. However, nothing else grants you permission to modify or
182 | distribute the Program or its derivative works. These actions are
183 | prohibited by law if you do not accept this License. Therefore, by
184 | modifying or distributing the Program (or any work based on the
185 | Program), you indicate your acceptance of this License to do so, and
186 | all its terms and conditions for copying, distributing or modifying
187 | the Program or works based on it.
188 |
189 | 6. Each time you redistribute the Program (or any work based on the
190 | Program), the recipient automatically receives a license from the
191 | original licensor to copy, distribute or modify the Program subject to
192 | these terms and conditions. You may not impose any further
193 | restrictions on the recipients' exercise of the rights granted herein.
194 | You are not responsible for enforcing compliance by third parties to
195 | this License.
196 |
197 | 7. If, as a consequence of a court judgment or allegation of patent
198 | infringement or for any other reason (not limited to patent issues),
199 | conditions are imposed on you (whether by court order, agreement or
200 | otherwise) that contradict the conditions of this License, they do not
201 | excuse you from the conditions of this License. If you cannot
202 | distribute so as to satisfy simultaneously your obligations under this
203 | License and any other pertinent obligations, then as a consequence you
204 | may not distribute the Program at all. For example, if a patent
205 | license would not permit royalty-free redistribution of the Program by
206 | all those who receive copies directly or indirectly through you, then
207 | the only way you could satisfy both it and this License would be to
208 | refrain entirely from distribution of the Program.
209 |
210 | If any portion of this section is held invalid or unenforceable under
211 | any particular circumstance, the balance of the section is intended to
212 | apply and the section as a whole is intended to apply in other
213 | circumstances.
214 |
215 | It is not the purpose of this section to induce you to infringe any
216 | patents or other property right claims or to contest validity of any
217 | such claims; this section has the sole purpose of protecting the
218 | integrity of the free software distribution system, which is
219 | implemented by public license practices. Many people have made
220 | generous contributions to the wide range of software distributed
221 | through that system in reliance on consistent application of that
222 | system; it is up to the author/donor to decide if he or she is willing
223 | to distribute software through any other system and a licensee cannot
224 | impose that choice.
225 |
226 | This section is intended to make thoroughly clear what is believed to
227 | be a consequence of the rest of this License.
228 |
229 | 8. If the distribution and/or use of the Program is restricted in
230 | certain countries either by patents or by copyrighted interfaces, the
231 | original copyright holder who places the Program under this License
232 | may add an explicit geographical distribution limitation excluding
233 | those countries, so that distribution is permitted only in or among
234 | countries not thus excluded. In such case, this License incorporates
235 | the limitation as if written in the body of this License.
236 |
237 | 9. The Free Software Foundation may publish revised and/or new versions
238 | of the General Public License from time to time. Such new versions will
239 | be similar in spirit to the present version, but may differ in detail to
240 | address new problems or concerns.
241 |
242 | Each version is given a distinguishing version number. If the Program
243 | specifies a version number of this License which applies to it and "any
244 | later version", you have the option of following the terms and conditions
245 | either of that version or of any later version published by the Free
246 | Software Foundation. If the Program does not specify a version number of
247 | this License, you may choose any version ever published by the Free Software
248 | Foundation.
249 |
250 | 10. If you wish to incorporate parts of the Program into other free
251 | programs whose distribution conditions are different, write to the author
252 | to ask for permission. For software which is copyrighted by the Free
253 | Software Foundation, write to the Free Software Foundation; we sometimes
254 | make exceptions for this. Our decision will be guided by the two goals
255 | of preserving the free status of all derivatives of our free software and
256 | of promoting the sharing and reuse of software generally.
257 |
258 | NO WARRANTY
259 |
260 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
261 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
262 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
263 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
264 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
265 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
266 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
267 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
268 | REPAIR OR CORRECTION.
269 |
270 | 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
271 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
272 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
273 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
274 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
275 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
276 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
277 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
278 | POSSIBILITY OF SUCH DAMAGES.
279 |
280 | END OF TERMS AND CONDITIONS
281 |
282 | How to Apply These Terms to Your New Programs
283 |
284 | If you develop a new program, and you want it to be of the greatest
285 | possible use to the public, the best way to achieve this is to make it
286 | free software which everyone can redistribute and change under these terms.
287 |
288 | To do so, attach the following notices to the program. It is safest
289 | to attach them to the start of each source file to most effectively
290 | convey the exclusion of warranty; and each file should have at least
291 | the "copyright" line and a pointer to where the full notice is found.
292 |
293 | {description}
294 | Copyright (C) {year} {fullname}
295 |
296 | This program is free software; you can redistribute it and/or modify
297 | it under the terms of the GNU General Public License as published by
298 | the Free Software Foundation; either version 2 of the License, or
299 | (at your option) any later version.
300 |
301 | This program is distributed in the hope that it will be useful,
302 | but WITHOUT ANY WARRANTY; without even the implied warranty of
303 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
304 | GNU General Public License for more details.
305 |
306 | You should have received a copy of the GNU General Public License along
307 | with this program; if not, write to the Free Software Foundation, Inc.,
308 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
309 |
310 | Also add information on how to contact you by electronic and paper mail.
311 |
312 | If the program is interactive, make it output a short notice like this
313 | when it starts in an interactive mode:
314 |
315 | Gnomovision version 69, Copyright (C) year name of author
316 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
317 | This is free software, and you are welcome to redistribute it
318 | under certain conditions; type `show c' for details.
319 |
320 | The hypothetical commands `show w' and `show c' should show the appropriate
321 | parts of the General Public License. Of course, the commands you use may
322 | be called something other than `show w' and `show c'; they could even be
323 | mouse-clicks or menu items--whatever suits your program.
324 |
325 | You should also get your employer (if you work as a programmer) or your
326 | school, if any, to sign a "copyright disclaimer" for the program, if
327 | necessary. Here is a sample; alter the names:
328 |
329 | Yoyodyne, Inc., hereby disclaims all copyright interest in the program
330 | `Gnomovision' (which makes passes at compilers) written by James Hacker.
331 |
332 | {signature of Ty Coon}, 1 April 1989
333 | Ty Coon, President of Vice
334 |
335 | This General Public License does not permit incorporating your program into
336 | proprietary programs. If your program is a subroutine library, you may
337 | consider it more useful to permit linking proprietary applications with the
338 | library. If this is what you want to do, use the GNU Lesser General
339 | Public License instead of this License.
340 |
--------------------------------------------------------------------------------
/HDMIDirect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charcole/NeoGeoHDMI/8d66141d150ea53abcc77258ed8db8890887f646/HDMIDirect.png
--------------------------------------------------------------------------------
/HDMIDirect.v:
--------------------------------------------------------------------------------
1 | // Charlie Cole 2015
2 | // HDMI output for Neo Geo MVS
3 | // Originally based on fpga4fun.com HDMI/DVI sample code (c) fpga4fun.com & KNJN LLC 2013
4 | // Added Neo Geo MVS input, scan doubling, HDMI data packets and audio
5 | // Offers fake scanline generation (select via button)
6 | // 0: Line doubled but even lines are half brightness
7 | // 1: Only show even lines (odd lines are black)
8 | // 2: Line doubled
9 |
10 | module HDMIDirectV(
11 | input pixclk,
12 | input pixclk72,
13 | input pixclk144,
14 | input [16:0] videobus,
15 | input [4:0] Rin, Gin, Bin,
16 | input dak, sha,
17 | input button,
18 | input sync,
19 | input audioLR,
20 | input audioClk,
21 | input audioData,
22 | input audioLR2,
23 | input [7:0] fontData,
24 | output [2:0] TMDSp, TMDSn,
25 | output TMDSp_clock, TMDSn_clock,
26 | output [11:0] videoaddressw,
27 | output videoramenable,
28 | output videoramclk,
29 | output videoramoutclk,
30 | output videowrite,
31 | output [11:0] videoaddressoutw,
32 | output [16:0] videobusoutw,
33 | output neogeoclk,
34 | output [10:0] fontAddress,
35 | output fontROMClock
36 | );
37 |
38 | ////////////////////////////////////////////////////////////////////////
39 | // User configuration defines
40 |
41 | `define OLD_SYNC // Comment out if have NeoGeo that clears at end of line
42 | `define YM3016 // Comment out for BU9480F (chip found on newer boards)
43 | `define SPLASH_SCREEN
44 | `define BAD_SYNC_DETECT
45 | `define DELAY_UNTIL_SPLASH_SCREEN 240 // In frames (/60 for seconds)
46 |
47 | ////////////////////////////////////////////////////////////////////////
48 |
49 | // Defines to do with video signal generation
50 | `define DISPLAY_WIDTH 720
51 | `define DISPLAY_HEIGHT 480
52 | `define FULL_WIDTH 858
53 | `define FULL_HEIGHT 525
54 | `define H_FRONT_PORCH 16
55 | `define H_SYNC 62
56 | `define V_FRONT_PORCH 9
57 | `define V_SYNC 6
58 |
59 | `define NEOGEO_DISPLAY_WIDTH 640
60 | `define NEOGEO_DISPLAY_HEIGHT 448
61 | `define NEOGEO_FULL_WIDTH 768
62 | `define NEOGEO_FULL_HEIGHT 528
63 | `ifdef OLD_SYNC
64 | `define NEOGEO_VSYNC_LENGTH 81
65 | `else
66 | `define NEOGEO_VSYNC_LENGTH 80
67 | `endif
68 |
69 | `define CENTERING_X ((`DISPLAY_WIDTH-`NEOGEO_DISPLAY_WIDTH)/2) // For centering NeoGeo's 4:3 screen
70 | `define CENTERING_Y ((`DISPLAY_HEIGHT-`NEOGEO_DISPLAY_HEIGHT)/2) // Should be multiple of 8
71 |
72 | // Defines to do with data packet sending
73 | `define DATA_START (`DISPLAY_WIDTH+4) // Need 4 cycles of control data first
74 | `define DATA_PREAMBLE 8
75 | `define DATA_GUARDBAND 2
76 | `define DATA_SIZE 32
77 | `define VIDEO_PREAMBLE 8
78 | `define VIDEO_GUARDBAND 2
79 | `define CTL_END (`FULL_WIDTH-`VIDEO_PREAMBLE-`VIDEO_GUARDBAND)
80 |
81 | wire clk_TMDS = pixclk72;
82 |
83 | ////////////////////////////////////////////////////////////////////////
84 | // Neo Geo Clk Gen
85 | ////////////////////////////////////////////////////////////////////////
86 |
87 | reg [10:0] fraction;
88 | reg [3:0] neoGeoClks;
89 |
90 | initial
91 | begin
92 | neoGeoClks=0;
93 | fraction=0;
94 | end
95 |
96 | wire x10clk = pixclk72^pixclk144; // These clocks are 2 135MHz clocks 90 degrees apart so this makes a 270MHz clock
97 | reg latch, nlatch;
98 |
99 | always @(posedge x10clk)
100 | begin
101 | // To make the timings work we want a neo geo cycle every 11+(111/1024) 270MHz cycles
102 | // Keep track of fractional part and when overflows do a longer cycle to bring us back
103 | if (neoGeoClks==0) begin
104 | nlatch<=latch;
105 | end
106 | if (neoGeoClks==10) begin
107 | neoGeoClks<=(fraction<1024)?0:15;
108 | fraction<=(fraction&1023)+111;
109 | end else begin
110 | neoGeoClks<=neoGeoClks+1;
111 | end
112 | end
113 |
114 | assign risingEdge=(neoGeoClks==6 && !x10clk);
115 |
116 | always @(posedge risingEdge)
117 | begin
118 | latch<=!nlatch;
119 | end
120 |
121 | assign neogeoclk=latch^nlatch;
122 |
123 | ////////////////////////////////////////////////////////////////////////
124 | // Line doubler
125 | // Takes the 480i video data from the NeoGeo and doubles the line
126 | // frequency by storing a line in RAM and then displaying it twice.
127 | // Also takes care of centring the picture (using the sync input).
128 | ////////////////////////////////////////////////////////////////////////
129 |
130 | reg [7:0] redneo, greenneo, blueneo;
131 | reg [9:0] CounterX, CounterY;
132 | reg [9:0] NeoCounterX, NeoCounterY;
133 | reg [11:0] videoaddress;
134 | reg [11:0] videoaddressout;
135 | reg [16:0] videobusout;
136 | reg [1:0] scanlineType;
137 | reg [8:0] frames;
138 | reg [23:0] syncWait;
139 | reg bOverlay;
140 | reg hSync, vSync, DrawArea;
141 |
142 | initial
143 | begin
144 | redneo=0;
145 | greenneo=0;
146 | blueneo=0;
147 | CounterX=0;
148 | CounterY=0;
149 | videoaddress=0;
150 | videoaddressout=0;
151 | videobusout=0;
152 | scanlineType=0;
153 | hSync=0;
154 | vSync=0;
155 | DrawArea=0;
156 | frames=0;
157 | syncWait=0;
158 | bOverlay=0;
159 |
160 | NeoCounterX=0;
161 | NeoCounterY=0;
162 | end
163 |
164 | assign videoramenable=1'b1;
165 | assign videoramclk=!clk_TMDS;
166 | assign videoramoutclk=!clk_TMDS;
167 | assign videowrite=1'b1;
168 | assign videoaddressoutw=videoaddressout;
169 | assign videobusoutw=videobusout;
170 | assign videoaddressw=videoaddress;
171 |
172 | always @(posedge pixclk) DrawArea <= (CounterX<`DISPLAY_WIDTH) && (CounterY<`DISPLAY_HEIGHT);
173 | always @(posedge pixclk) hSync <= !((CounterX>=(`DISPLAY_WIDTH+`H_FRONT_PORCH)) && (CounterX<(`DISPLAY_WIDTH+`H_FRONT_PORCH+`H_SYNC)));
174 | always @(posedge pixclk) vSync <= !((
175 | (CounterY==(`DISPLAY_HEIGHT+`V_FRONT_PORCH-1) && CounterX>=(`DISPLAY_WIDTH+`H_FRONT_PORCH)) ||
176 | CounterY>=(`DISPLAY_HEIGHT+`V_FRONT_PORCH))
177 | && (
178 | (CounterY==(`DISPLAY_HEIGHT+`V_FRONT_PORCH+`V_SYNC-1) && CounterX<(`DISPLAY_WIDTH+`H_FRONT_PORCH)) ||
179 | CounterY<(`DISPLAY_HEIGHT+`V_FRONT_PORCH+`V_SYNC-1)
180 | )); // VSync and HSync seem to need to transition at the same time
181 |
182 | `ifdef OLD_SYNC
183 | always @(posedge neogeoclk)
184 | `else
185 | always @(negedge neogeoclk)
186 | `endif
187 | begin
188 | NeoCounterX <= (NeoCounterX==(`NEOGEO_FULL_WIDTH-1)) ? 0 : NeoCounterX+1;
189 | if(NeoCounterX==(`NEOGEO_FULL_WIDTH-1)) begin
190 | if (NeoCounterY==(`NEOGEO_FULL_HEIGHT-1)) begin
191 | NeoCounterY <= 0;
192 | end else begin
193 | NeoCounterY <= NeoCounterY+1;
194 | end
195 | end
196 | if (sync) begin
197 | `ifdef OLD_SYNC
198 | if (NeoCounterY > `NEOGEO_FULL_HEIGHT-`NEOGEO_VSYNC_LENGTH) begin
199 | NeoCounterY <= `NEOGEO_FULL_HEIGHT-`NEOGEO_VSYNC_LENGTH+1;
200 | NeoCounterX <= 0;
201 | end
202 | `else
203 | if (NeoCounterY > `NEOGEO_FULL_HEIGHT-`NEOGEO_VSYNC_LENGTH)
204 | NeoCounterY <= `NEOGEO_FULL_HEIGHT-`NEOGEO_VSYNC_LENGTH+1;
205 | if ((NeoCounterX>>1)+(NeoCounterY[0]?`NEOGEO_FULL_WIDTH/2:0)>=`NEOGEO_DISPLAY_WIDTH)
206 | NeoCounterX <= 2*`NEOGEO_DISPLAY_WIDTH-`NEOGEO_FULL_WIDTH;
207 | `endif
208 | end
209 | if ((NeoCounterX>>1)+(NeoCounterY[0]?`NEOGEO_FULL_WIDTH/2:0)<`NEOGEO_DISPLAY_WIDTH) begin
210 | if (NeoCounterX[0]) begin
211 | videoaddressout<=(NeoCounterY[2:1]*`NEOGEO_DISPLAY_WIDTH)+(NeoCounterY[0]?`NEOGEO_FULL_WIDTH/2:0)+(NeoCounterX>>1);
212 | videobusout[4:0]<=Rin;
213 | videobusout[9:5]<=Gin;
214 | videobusout[14:10]<=Bin;
215 | videobusout[15]<=!dak;
216 | videobusout[16]<=!sha;
217 | end
218 | end
219 | end
220 |
221 | always @(posedge pixclk)
222 | begin
223 | if(CounterX==(`FULL_WIDTH-1)) begin
224 | if (CounterY==(`FULL_HEIGHT-1)) begin
225 | // Sync screen output with NeoGeo output
226 | // +2 means there's a line in the doubler ready
227 | if (NeoCounterY==(`NEOGEO_FULL_HEIGHT-`CENTERING_Y+2) && NeoCounterX==0) begin
228 | syncWait <= 0;
229 | bOverlay <= 0;
230 | CounterY <= 0;
231 | CounterX <= 0;
232 | if (frames!=`DELAY_UNTIL_SPLASH_SCREEN)
233 | frames <= frames + 1;
234 | end
235 | `ifdef BAD_SYNC_DETECT
236 | else if (syncWait==24'hFFFFFF) begin // If not synced within half a second then display error
237 | bOverlay <= 1;
238 | CounterY <= 0;
239 | CounterX <= 0;
240 | if (frames!=`DELAY_UNTIL_SPLASH_SCREEN)
241 | frames <= frames + 1;
242 | end else begin
243 | syncWait <= syncWait + 1;
244 | end
245 | `endif
246 | end else begin
247 | CounterY <= CounterY+1;
248 | CounterX <= 0;
249 | end
250 | end else begin
251 | CounterX<=CounterX+1;
252 | end
253 | videoaddress<=(CounterY[2:1]*`NEOGEO_DISPLAY_WIDTH) + (CounterX+2-`CENTERING_X); // Look ahead two pixels
254 | if (CounterX>=`CENTERING_X && CounterX<`DISPLAY_WIDTH+`CENTERING_X) begin
255 | if ((CounterX-`CENTERING_X)<`NEOGEO_DISPLAY_WIDTH) begin
256 | if (scanlineType==2 || !(CounterY&1)) begin
257 | redneo <= ((videobus[4:0]<<1)|videobus[15])*3 + (videobus[16]?((videobus[4:0]<<1)|videobus[15]):0);
258 | greenneo <= ((videobus[9:5]<<1)|videobus[15])*3 + (videobus[16]?((videobus[9:5]<<1)|videobus[15]):0);
259 | blueneo <= ((videobus[14:10]<<1)|videobus[15])*3 + (videobus[16]?((videobus[14:10]<<1)|videobus[15]):0);
260 | end else begin
261 | if (!scanlineType[0]) begin
262 | redneo <= (((videobus[4:0]<<1)|videobus[15])*3 + (videobus[16]?((videobus[4:0]<<1)|videobus[15]):0)) >> 1;
263 | greenneo <= (((videobus[9:5]<<1)|videobus[15])*3 + (videobus[16]?((videobus[9:5]<<1)|videobus[15]):0)) >> 1;
264 | blueneo <= (((videobus[14:10]<<1)|videobus[15])*3 + (videobus[16]?((videobus[14:10]<<1)|videobus[15]):0)) >> 1;
265 | end else begin
266 | redneo <= 0;
267 | greenneo <= 0;
268 | blueneo <= 0;
269 | end
270 | end
271 | end else begin
272 | redneo <= 0;
273 | greenneo <= 0;
274 | blueneo <= 0;
275 | end
276 | end
277 | end
278 |
279 | ////////////////////////////////////////////////////////////////////////
280 | // Error overlay
281 | ////////////////////////////////////////////////////////////////////////
282 |
283 | reg [7:0] red, green, blue;
284 | reg [10:0] fontAddr;
285 | reg [7:0] scroll;
286 | reg [6:0] logo;
287 | reg [7:0] ba;
288 | reg [9:0] dx;
289 | reg [9:0] dx2;
290 | reg [9:0] dy;
291 | reg [15:0] d;
292 | reg [15:0] dd;
293 | reg [15:0] dd2;
294 | reg [7:0] ax;
295 | reg [8:0] num [7:0];
296 | reg [8:0] den [7:0];
297 | reg [8:0] res [7:0];
298 | reg [9:0] s;
299 | reg [19:0] cc;
300 | reg [1:0] lastScanlineType;
301 | reg [7:0] scanlineChanged;
302 | reg shadow;
303 |
304 | initial
305 | begin
306 | red=0;
307 | green=0;
308 | blue=0;
309 | fontAddr=0;
310 | scroll=0;
311 | logo=0;
312 | s=0;
313 | cc=0;
314 | lastScanlineType=0;
315 | scanlineChanged=0;
316 | shadow=0;
317 | end
318 |
319 | assign fontROMClock = pixclk;
320 | assign fontAddress = fontAddr;
321 |
322 | function [9:0] abs;
323 | input [9:0] v;
324 | begin
325 | abs=($signed(v)<0)?-v:v;
326 | end
327 | endfunction
328 |
329 | always @(posedge pixclk)
330 | begin
331 | `ifdef SPLASH_SCREEN
332 | if (logo!=127) begin
333 | // Splash screen rendering
334 | dx<=(CounterX+9-`DISPLAY_WIDTH/2); // divide is latent so look ahead
335 | dx2<=(CounterX-`DISPLAY_WIDTH/2);
336 | dy<=(CounterY-`DISPLAY_HEIGHT/2);
337 | // Calulate distance from centre
338 | dd<=(((`DISPLAY_WIDTH*`DISPLAY_WIDTH/8)-($signed(dx2)*$signed(dx2)+$signed(dy)*$signed(dy)))>>8)
339 | -((logo<32)?8*(32-logo):0)+((logo>96)?32*(logo-96):0);
340 | // atan approximation
341 | if (abs(dx)0)?3:1);
346 | end else begin
347 | num[0]<=abs(dy);
348 | den[0]<=abs(dx);
349 | s<=(s<<1)|(dx[9]^dy[9]^1);
350 | cc<=(cc<<2)|(($signed(dx)<0)?2:0);
351 | end
352 | // 8 cycle latency divide
353 | if (num[0]>=den[0]) begin num[1]<=num[0]-den[0]; res[0]<= +128; end else begin num[1]<=num[0]; res[0]<=0; end den[1]<=den[0]>>1;
354 | if (num[1]>=den[1]) begin num[2]<=num[1]-den[1]; res[1]<=res[0]+ 64; end else begin num[2]<=num[1]; res[1]<=res[0]; end den[2]<=den[1]>>1;
355 | if (num[2]>=den[2]) begin num[3]<=num[2]-den[2]; res[2]<=res[1]+ 32; end else begin num[3]<=num[2]; res[2]<=res[1]; end den[3]<=den[2]>>1;
356 | if (num[3]>=den[3]) begin num[4]<=num[3]-den[3]; res[3]<=res[2]+ 16; end else begin num[4]<=num[3]; res[3]<=res[2]; end den[4]<=den[3]>>1;
357 | if (num[4]>=den[4]) begin num[5]<=num[4]-den[4]; res[4]<=res[3]+ 8; end else begin num[5]<=num[4]; res[4]<=res[3]; end den[5]<=den[4]>>1;
358 | if (num[5]>=den[5]) begin num[6]<=num[5]-den[5]; res[5]<=res[4]+ 4; end else begin num[6]<=num[5]; res[5]<=res[4]; end den[6]<=den[5]>>1;
359 | if (num[6]>=den[6]) begin num[7]<=num[6]-den[6]; res[6]<=res[5]+ 2; end else begin num[7]<=num[6]; res[6]<=res[5]; end den[7]<=den[6]>>1;
360 | if (num[7]>=den[7]) begin res[7]<=res[6]+ 1; end else begin res[7]<=res[6]; end
361 | ax<=(((s[9]?-res[7]:res[7])+(2*cc[19:18]+1)*128+logo*4)>>2)&'hFF;
362 | // Look up texture maps
363 | if (CounterX>=`DISPLAY_WIDTH/2-64 && CounterX<=`DISPLAY_WIDTH/2+64 && CounterY>=`DISPLAY_HEIGHT-16 && CounterY<`DISPLAY_HEIGHT-8) begin
364 | // Display the link
365 | fontAddr<=3*256+CounterX-(`DISPLAY_WIDTH/2-64);
366 | if (CounterX>`DISPLAY_WIDTH/2-64+2 && logo>32)
367 | ba<=fontData[CounterY-(`DISPLAY_HEIGHT-16)]?((logo<96)?(logo-32)>>1:32):0;
368 | else
369 | ba<=0;
370 | end else begin
371 | // Logo
372 | fontAddr<=(3*(255-ax))+((dd-128)>>5);
373 | ba<=0;
374 | end
375 | dd2<=dd;
376 | d<=dd2;
377 | // Output
378 | if ($signed(d)>=256) begin
379 | red <= redneo;
380 | green <= greenneo;
381 | blue <= blueneo;
382 | end else begin
383 | if (CounterX>3 && $signed(d)>=0 && (d<128 || d>=224 || !fontData[(d>>2)&7])) begin
384 | red<=(ba+d<255)?ba+d:255;
385 | green<=(d*d)>>8;
386 | blue<=0;
387 | end else begin
388 | red<=0;
389 | green<=0;
390 | blue<=0;
391 | end
392 | end
393 | if (frames==`DELAY_UNTIL_SPLASH_SCREEN && CounterX==0 && CounterY==0)
394 | logo<=logo+1;
395 | end else
396 | `endif
397 | if (bOverlay && CounterY>=`DISPLAY_HEIGHT/2-8 && CounterY<`DISPLAY_HEIGHT/2+8) begin
398 | // Scrolling error message
399 | red <= 0;
400 | fontAddr<=3*256+(((CounterX>>1)+scroll)&'hFF);
401 | if (CounterX>3)
402 | green <= fontData[(CounterY-(`DISPLAY_HEIGHT/2-8))>>1]?255:0;
403 | else
404 | green <= 0;
405 | blue <= 0;
406 | end else if (scanlineChanged>0 && CounterX>=`DISPLAY_WIDTH-154 && CounterY>=`DISPLAY_HEIGHT-16) begin
407 | // Display scanline mode
408 | fontAddr<=(4*256)+(scanlineType*75)+((CounterX-(`DISPLAY_WIDTH-154))>>1);
409 | shadow<=fontData[(CounterY-(`DISPLAY_HEIGHT-16))>>1];
410 | if (CounterX>=`DISPLAY_WIDTH-150 && fontData[(CounterY-(`DISPLAY_HEIGHT-16))>>1]|shadow) begin
411 | if (shadow) begin
412 | if (scanlineType==2 || !(CounterY&1))
413 | green <= 255;
414 | else if (scanlineType==0)
415 | green <= 127;
416 | else
417 | green <= 0;
418 | end else begin
419 | green <=0;
420 | end
421 | red<=0;
422 | blue<=0;
423 | end else begin
424 | red <= redneo;
425 | green <= greenneo;
426 | blue <= blueneo;
427 | end
428 | end else begin
429 | // normal output
430 | red <= redneo;
431 | green <= greenneo;
432 | blue <= blueneo;
433 | end
434 | if (CounterX==0 && CounterY==0) begin
435 | scroll<=scroll+1;
436 | if (scanlineChanged>0)
437 | scanlineChanged <= scanlineChanged - 1;
438 | if (scanlineType!=lastScanlineType) begin
439 | lastScanlineType <= scanlineType;
440 | scanlineChanged <= 60;
441 | end
442 | end
443 | end
444 |
445 | ////////////////////////////////////////////////////////////////////////
446 | // Neo Geo audio input
447 | ////////////////////////////////////////////////////////////////////////
448 |
449 | reg [15:0] audioInput [1:0];
450 | reg [15:0] curSampleL;
451 | reg [15:0] curSampleR;
452 |
453 | initial
454 | begin
455 | audioInput[0]=0;
456 | audioInput[1]=0;
457 | curSampleL=0;
458 | curSampleR=0;
459 | end
460 |
461 | `ifdef YM3016
462 | always @(negedge audioClk)
463 | begin
464 | audioInput[0]<=(audioInput[0]>>1)|(audioData<<15);
465 | audioInput[1]<=(audioInput[1]>>1)|(audioData<<15);
466 | end
467 | always @(negedge audioLR) begin curSampleL<=audioInput[0]-16'h8000; end
468 | always @(negedge audioLR2) begin curSampleR<=audioInput[1]-16'h8000; end
469 | `else // BU9480F
470 | always @(posedge audioClk) if (audioLR) audioInput[0]<=(audioInput[0]<<1)|audioData; else audioInput[1]<=(audioInput[1]<<1)|audioData;
471 | always @(negedge audioLR) begin curSampleL<=audioInput[0]; curSampleR<=audioInput[1]; end
472 | `endif
473 |
474 | ////////////////////////////////////////////////////////////////////////
475 | // HDMI audio packet generator
476 | ////////////////////////////////////////////////////////////////////////
477 |
478 | // Timing for 32KHz audio at 27MHz
479 | `define AUDIO_TIMER_ADDITION 4
480 | `define AUDIO_TIMER_LIMIT 3375
481 |
482 | localparam [191:0] channelStatus = 192'hc203004004; // 32KHz 16-bit LPCM audio
483 | reg [23:0] audioPacketHeader;
484 | reg [55:0] audioSubPacket[3:0];
485 | reg [7:0] channelStatusIdx;
486 | reg [11:0] audioTimer;
487 | reg [9:0] audioSamples;
488 | reg [1:0] samplesHead;
489 | reg sendRegenPacket;
490 |
491 | initial
492 | begin
493 | audioPacketHeader=0;
494 | audioSubPacket[0]=0;
495 | audioSubPacket[1]=0;
496 | audioSubPacket[2]=0;
497 | audioSubPacket[3]=0;
498 | channelStatusIdx=0;
499 | audioTimer=0;
500 | audioSamples=0;
501 | samplesHead=0;
502 | sendRegenPacket=0;
503 | end
504 |
505 | task AudioPacketGeneration;
506 | begin
507 | // Buffer up an audio sample every 750 pixel clocks (32KHz output from 24MHz pixel clock)
508 | // Don't add to the audio output if we're currently sending that packet though
509 | if (!(
510 | CounterX>=(`DATA_START+`DATA_PREAMBLE+`DATA_GUARDBAND+`DATA_SIZE) &&
511 | CounterX<(`DATA_START+`DATA_PREAMBLE+`DATA_GUARDBAND+`DATA_SIZE+`DATA_SIZE)
512 | )) begin
513 | if (audioTimer>=`AUDIO_TIMER_LIMIT) begin
514 | audioTimer<=audioTimer-`AUDIO_TIMER_LIMIT+`AUDIO_TIMER_ADDITION;
515 | audioPacketHeader<=audioPacketHeader|24'h000002|((channelStatusIdx==0?24'h100100:24'h000100)<=`DATA_START)
647 | begin
648 | if (CounterX<(`DATA_START+`DATA_PREAMBLE))
649 | begin
650 | // Send the data period preamble
651 | // A nice "feature" of my test monitor (GL2450) is if you comment out
652 | // this line you see your data next to your image which is useful for
653 | // debugging
654 | preamble<='b0101;
655 | end
656 | else if (CounterX<(`DATA_START+`DATA_PREAMBLE+`DATA_GUARDBAND))
657 | begin
658 | // Start sending leading data guard band
659 | tercData<=1;
660 | dataGuardBand<=1;
661 | dataChannel0<={1'b1, 1'b1, vSync, hSync};
662 | preamble<=0;
663 | // Set up the first of the packets we'll send
664 | if (sendRegenPacket) begin
665 | packetHeader<=24'h000001; // audio clock regeneration packet
666 | subpacket[0]<=56'h00100078690000; // N=0x1000 CTS=0x6978 (27MHz pixel clock -> 32KHz audio clock)
667 | subpacket[1]<=56'h00100078690000;
668 | subpacket[2]<=56'h00100078690000;
669 | subpacket[3]<=56'h00100078690000;
670 | if (CounterX==(`DATA_START+`DATA_PREAMBLE+`DATA_GUARDBAND-1))
671 | sendRegenPacket<=0;
672 | end else begin
673 | if (!CounterY[0]) begin
674 | packetHeader<=24'h0D0282; // infoframe AVI packet
675 | // Byte0: Checksum
676 | // Byte1: 10 = 0(Y1:Y0=0 RGB)(A0=1 No active format)(B1:B0=00 No bar info)(S1:S0=00 No scan info)
677 | // Byte2: 2A = (C1:C0=0 No colorimetry)(M1:M0=2 16:9)(R3:R0=A 16:9)
678 | // Byte3: 00 = 0(SC1:SC0=0 No scaling)
679 | // Byte4: 03 = 0(VIC6:VIC0=3 720x480p)
680 | // Byte5: 00 = 0(PR5:PR0=0 No repeation)
681 | subpacket[0]<=56'h000003002A1032;
682 | subpacket[1]<=56'h00000000000000;
683 | end else begin
684 | packetHeader<=24'h0A0184; // infoframe audio packet
685 | // Byte0: Checksum
686 | // Byte1: 11 = (CT3:0=1 PCM)0(CC2:0=1 2ch)
687 | // Byte2: 00 = 000(SF2:0=0 As stream)(SS1:0=0 As stream)
688 | // Byte3: 00 = LPCM doesn't use this
689 | // Byte4-5: 00 Multichannel only (>2ch)
690 | subpacket[0]<=56'h00000000001160;
691 | subpacket[1]<=56'h00000000000000;
692 | end
693 | subpacket[2]<=56'h00000000000000;
694 | subpacket[3]<=56'h00000000000000;
695 | end
696 | end
697 | else if (CounterX<(`DATA_START+`DATA_PREAMBLE+`DATA_GUARDBAND+`DATA_SIZE))
698 | begin
699 | dataGuardBand<=0;
700 | // Send first data packet (Infoframe or audio clock regen)
701 | SendPacket(packetHeader, subpacket[0], subpacket[1], subpacket[2], subpacket[3], 1);
702 | end
703 | else if (CounterX<(`DATA_START+`DATA_PREAMBLE+`DATA_GUARDBAND+`DATA_SIZE+`DATA_SIZE))
704 | begin
705 | // Send second data packet (audio data)
706 | SendPacket(audioPacketHeader, audioSubPacket[0], audioSubPacket[1], audioSubPacket[2], audioSubPacket[3], 0);
707 | end
708 | else if (CounterX<(`DATA_START+`DATA_PREAMBLE+`DATA_GUARDBAND+`DATA_SIZE+`DATA_SIZE+`DATA_GUARDBAND))
709 | begin
710 | // Trailing guardband for data period
711 | dataGuardBand<=1;
712 | dataChannel0<={1'b1, 1'b1, vSync, hSync};
713 | end
714 | else
715 | begin
716 | // Back to normal DVI style control data
717 | tercData<=0;
718 | dataGuardBand<=0;
719 | end
720 | end
721 | // After we've sent data packets we need to do the video preamble and
722 | // guardband just before sending active video data
723 | if (CounterX>=(`CTL_END+`VIDEO_PREAMBLE))
724 | begin
725 | preamble<=0;
726 | videoGuardBand<=1;
727 | end
728 | else if (CounterX>=(`CTL_END))
729 | begin
730 | preamble<='b0001;
731 | end
732 | else
733 | begin
734 | videoGuardBand<=0;
735 | end
736 | end
737 |
738 | ////////////////////////////////////////////////////////////////////////
739 | // HDMI encoder
740 | // Encodes video data (TMDS) or packet data (TERC4) ready for sending
741 | ////////////////////////////////////////////////////////////////////////
742 |
743 | reg tercDataDelayed [1:0];
744 | reg videoGuardBandDelayed [1:0];
745 | reg dataGuardBandDelayed [1:0];
746 |
747 | initial
748 | begin
749 | tercDataDelayed[0]=0;
750 | tercDataDelayed[1]=0;
751 | videoGuardBandDelayed[0]=0;
752 | videoGuardBandDelayed[1]=0;
753 | dataGuardBandDelayed[0]=0;
754 | dataGuardBandDelayed[1]=0;
755 | end
756 |
757 | always @(posedge pixclk)
758 | begin
759 | // Cycle 1
760 | tercDataDelayed[0]<=tercData; // To account for delay through encoder
761 | videoGuardBandDelayed[0]<=videoGuardBand;
762 | dataGuardBandDelayed[0]<=dataGuardBand;
763 | // Cycle 2
764 | tercDataDelayed[1]<=tercDataDelayed[0];
765 | videoGuardBandDelayed[1]<=videoGuardBandDelayed[0];
766 | dataGuardBandDelayed[1]<=dataGuardBandDelayed[0];
767 | end
768 |
769 | wire [9:0] TMDS_red, TMDS_green, TMDS_blue;
770 | TMDS_encoder encode_R(.clk(pixclk), .VD(red ), .CD(preamble[3:2]), .VDE(DrawArea), .TMDS(TMDS_red));
771 | TMDS_encoder encode_G(.clk(pixclk), .VD(green), .CD(preamble[1:0]), .VDE(DrawArea), .TMDS(TMDS_green));
772 | TMDS_encoder encode_B(.clk(pixclk), .VD(blue ), .CD({vSync,hSync}), .VDE(DrawArea), .TMDS(TMDS_blue));
773 |
774 | wire [9:0] TERC4_red, TERC4_green, TERC4_blue;
775 | TERC4_encoder encode_R4(.clk(pixclk), .data(dataChannel2), .TERC(TERC4_red));
776 | TERC4_encoder encode_G4(.clk(pixclk), .data(dataChannel1), .TERC(TERC4_green));
777 | TERC4_encoder encode_B4(.clk(pixclk), .data(dataChannel0), .TERC(TERC4_blue));
778 |
779 | ////////////////////////////////////////////////////////////////////////
780 | // HDMI data serialiser
781 | // Outputs the encoded video data as serial data across the HDMI bus
782 | ////////////////////////////////////////////////////////////////////////
783 |
784 | reg [3:0] TMDS_mod10; // modulus 10 counter
785 | reg [9:0] TMDS_shift_red, TMDS_shift_green, TMDS_shift_blue;
786 | reg [9:0] TMDS_shift_red_delay, TMDS_shift_green_delay, TMDS_shift_blue_delay;
787 |
788 | initial
789 | begin
790 | TMDS_mod10=0;
791 | TMDS_shift_red=0;
792 | TMDS_shift_green=0;
793 | TMDS_shift_blue=0;
794 | TMDS_shift_red_delay=0;
795 | TMDS_shift_green_delay=0;
796 | TMDS_shift_blue_delay=0;
797 | end
798 |
799 | always @(posedge pixclk)
800 | begin
801 | TMDS_shift_red_delay<=videoGuardBandDelayed[1] ? 10'b1011001100 : (dataGuardBandDelayed[1] ? 10'b0100110011 : (tercDataDelayed[1] ? TERC4_red : TMDS_red));
802 | TMDS_shift_green_delay<=(dataGuardBandDelayed[1] || videoGuardBandDelayed[1]) ? 10'b0100110011 : (tercDataDelayed[1] ? TERC4_green : TMDS_green);
803 | TMDS_shift_blue_delay<=videoGuardBandDelayed[1] ? 10'b1011001100 : (tercDataDelayed[1] ? TERC4_blue : TMDS_blue);
804 | end
805 |
806 | always @(posedge clk_TMDS)
807 | begin
808 | TMDS_shift_red <= (TMDS_mod10==4'd8) ? TMDS_shift_red_delay : TMDS_shift_red [9:2];
809 | TMDS_shift_green <= (TMDS_mod10==4'd8) ? TMDS_shift_green_delay : TMDS_shift_green[9:2];
810 | TMDS_shift_blue <= (TMDS_mod10==4'd8) ? TMDS_shift_blue_delay : TMDS_shift_blue [9:2];
811 | TMDS_mod10 <= (TMDS_mod10==4'd8) ? 4'd0 : TMDS_mod10+4'd2;
812 | end
813 |
814 | assign TMDSp[2]=clk_TMDS?TMDS_shift_red[0]:TMDS_shift_red[1];
815 | assign TMDSn[2]=~TMDSp[2];
816 | assign TMDSp[1]=clk_TMDS?TMDS_shift_green[0]:TMDS_shift_green[1];
817 | assign TMDSn[1]=!TMDSp[1];
818 | assign TMDSp[0]=clk_TMDS?TMDS_shift_blue[0]:TMDS_shift_blue[1];
819 | assign TMDSn[0]=!TMDSp[0];
820 | assign TMDSp_clock=(TMDS_mod10==4)?!clk_TMDS:(TMDS_mod10>5);
821 | assign TMDSn_clock=!TMDSp_clock;
822 |
823 | ////////////////////////////////////////////////////////////////////////
824 | // Scanline method selection button debouncer
825 | ////////////////////////////////////////////////////////////////////////
826 |
827 | reg [16:0] buttonDebounce;
828 |
829 | initial
830 | begin
831 | buttonDebounce=0;
832 | end
833 |
834 | always @(posedge pixclk)
835 | begin
836 | if (!button) begin
837 | if (buttonDebounce=='h1ffff)
838 | scanlineType<=scanlineType!=2?scanlineType+1:0;
839 | buttonDebounce<=0;
840 | end else if (buttonDebounce!='h1ffff) begin // Audio clock is 6MHz so this is about 22ms
841 | buttonDebounce<=buttonDebounce+1;
842 | end
843 | end
844 |
845 | endmodule
846 |
847 | ////////////////////////////////////////////////////////////////////////
848 | // TMDS encoder
849 | // Used to encode HDMI/DVI video data
850 | ////////////////////////////////////////////////////////////////////////
851 |
852 | module TMDS_encoder(
853 | input clk,
854 | input [7:0] VD, // video data (red, green or blue)
855 | input [1:0] CD, // control data
856 | input VDE, // video data enable, to choose between CD (when VDE=0) and VD (when VDE=1)
857 | output reg [9:0] TMDS
858 | );
859 |
860 | reg [3:0] balance_acc;
861 | reg [8:0] q_m;
862 | reg [1:0] CD2;
863 | reg VDE2;
864 |
865 | initial begin
866 | balance_acc=0;
867 | q_m=0;
868 | CD2=0;
869 | VDE2=0;
870 | end
871 |
872 | function [3:0] balance;
873 | input [7:0] qm;
874 | begin
875 | balance = qm[0] + qm[1] + qm[2] + qm[3] + qm[4] + qm[5] + qm[6] + qm[7] - 4'd4;
876 | end
877 | endfunction
878 |
879 | always @(posedge clk)
880 | begin
881 | // Cycle 1
882 | if ((VD[0] + VD[1] + VD[2] + VD[3] + VD[4] + VD[5] + VD[6] + VD[7])>(VD[0]?4'd4:4'd3)) begin
883 | q_m <= {1'b0,~^VD[7:0],^VD[6:0],~^VD[5:0],^VD[4:0],~^VD[3:0],^VD[2:0],~^VD[1:0],VD[0]};
884 | end else begin
885 | q_m <= {1'b1, ^VD[7:0],^VD[6:0], ^VD[5:0],^VD[4:0], ^VD[3:0],^VD[2:0], ^VD[1:0],VD[0]};
886 | end
887 | VDE2 <= VDE;
888 | CD2 <= CD;
889 | // Cycle 2
890 | if (VDE2) begin
891 | if (balance(q_m)==0 || balance_acc==0) begin
892 | if (q_m[8]) begin
893 | TMDS <= {1'b0, q_m[8], q_m[7:0]};
894 | balance_acc <= balance_acc+balance(q_m);
895 | end else begin
896 | TMDS <= {1'b1, q_m[8], ~q_m[7:0]};
897 | balance_acc <= balance_acc-balance(q_m);
898 | end
899 | end else begin
900 | if (balance(q_m)>>3 == balance_acc[3]) begin
901 | TMDS <= {1'b1, q_m[8], ~q_m[7:0]};
902 | balance_acc <= balance_acc+q_m[8]-balance(q_m);
903 | end else begin
904 | TMDS <= {1'b0, q_m[8], q_m[7:0]};
905 | balance_acc <= balance_acc-(~q_m[8])+balance(q_m);
906 | end
907 | end
908 | end else begin
909 | balance_acc <= 0;
910 | TMDS <= CD2[1] ? (CD2[0] ? 10'b1010101011 : 10'b0101010100) : (CD2[0] ? 10'b0010101011 : 10'b1101010100);
911 | end
912 | end
913 |
914 | endmodule
915 |
916 | ////////////////////////////////////////////////////////////////////////
917 | // TERC4 Encoder
918 | // Used to encode the HDMI data packets such as audio
919 | ////////////////////////////////////////////////////////////////////////
920 |
921 | module TERC4_encoder(
922 | input clk,
923 | input [3:0] data,
924 | output reg [9:0] TERC
925 | );
926 |
927 | reg [9:0] TERC_pre;
928 |
929 | initial
930 | begin
931 | TERC_pre=0;
932 | end
933 |
934 | always @(posedge clk)
935 | begin
936 | // Cycle 1
937 | case (data)
938 | 4'b0000: TERC_pre <= 10'b1010011100;
939 | 4'b0001: TERC_pre <= 10'b1001100011;
940 | 4'b0010: TERC_pre <= 10'b1011100100;
941 | 4'b0011: TERC_pre <= 10'b1011100010;
942 | 4'b0100: TERC_pre <= 10'b0101110001;
943 | 4'b0101: TERC_pre <= 10'b0100011110;
944 | 4'b0110: TERC_pre <= 10'b0110001110;
945 | 4'b0111: TERC_pre <= 10'b0100111100;
946 | 4'b1000: TERC_pre <= 10'b1011001100;
947 | 4'b1001: TERC_pre <= 10'b0100111001;
948 | 4'b1010: TERC_pre <= 10'b0110011100;
949 | 4'b1011: TERC_pre <= 10'b1011000110;
950 | 4'b1100: TERC_pre <= 10'b1010001110;
951 | 4'b1101: TERC_pre <= 10'b1001110001;
952 | 4'b1110: TERC_pre <= 10'b0101100011;
953 | 4'b1111: TERC_pre <= 10'b1011000011;
954 | endcase
955 | // Cycle 2
956 | TERC <= TERC_pre;
957 | end
958 |
959 | endmodule
960 |
961 | ////////////////////////////////////////////////////////////////////////
962 |
963 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | **NeoGeoHDMI : HDMI Output mod for Neo Geo MVS**
2 |
3 | Copyright (C) 2015 Charles Cole
4 |
5 | Copyright (C) 2013 fpga4fun.com & KNJN LLC
6 |
7 | This program is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 2 of the License, or
10 | (at your option) any later version.
11 |
12 | This program is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License along
18 | with this program; if not, write to the Free Software Foundation, Inc.,
19 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20 |
--------------------------------------------------------------------------------
/Notes.md:
--------------------------------------------------------------------------------
1 | Motivation
2 | ----------
3 |
4 | I made a small supergun board last year which was featured on Hack-a-Day. A
5 | lot of the comments focused on the output being SCART, a Europian video
6 | standard that supports RGB which isn't common in other parts of the world. The
7 | obvious solution seemed to be a supergun with HDMI output. I didn't really
8 | have a huge amount of motivation to do it and it ended up on the back burner.
9 | Over Christmas I had some time though and had recently been messing around
10 | with cheap FPGA dev boards from eBay. The FPGA could be used to generate the
11 | HDMI signal (just) and as it has a small amount of fast memory to be able to
12 | upscale the image to the 480p. However I'd gone off the HDMI supergun concept
13 | a bit by this point. Firstly I didn't have any ADCs fast enough to process video on hand and
14 | secondly SCART to HDMI adapters aren't all that expensive anymore (although
15 | this solution is admittedly clunkier). So, a slightly different idea came to
16 | me. The Neo Geo the digitised video signal is easy to get before it's converted to
17 | an analogue signal so by tapping it from there we can get a direct digital to
18 | digital connection theorectially giving the best possible video quality.
19 | Hopefully this will able to be extended to the audio too giving the best
20 | possible sound quality too.
21 | Nb. This isn't totally original. Half way through I found a NeoGAF post, when
22 | searching for some video timings info, where someone was doing something very
23 | similar although it looked to end up with a VGA signal so not a fully digital
24 | connection. I also wondered about extending the concept to old video consoles
25 | but many of the really old consoles have analogue video coming out of their
26 | custom chips. The newer the console the easier it looks to be. Dreamcast,
27 | Gamecube, N64 and possibly SNES look feasible. N64 looks to have been done
28 | before though.
29 |
30 | Clock trouble
31 | -------------
32 |
33 | _This second is outdated as I now overclock the Neo Geo to get the clock I need_
34 |
35 | The obvious clock to use is the clock on the video output latches.
36 | It's 6.?MHz which gives us a nice multiple to get to around 25MHz.
37 | Also in sync with the video data is it's the latch.
38 | However 6MHz is too slow to use the PLL on the Cyclone II.
39 | Therefore we can use the 12MHz CPU clock as it's fairly easy to get as it's on a big pin close to the video data.
40 | Next problem was all the voltages are 5V which is above the maximum input voltage for the FPGA inputs.
41 | I originally tried a 1Kohm resistor and 3.3V Zener to do the voltage division but looking on the oscilloscope it performed awfully (800 mVpp)!
42 | So I then went back to the obvious of just a resistor voltage divider. This worked fine at 6MHz but was too attenuated at 12MHz to be used.
43 | Adding a 1uF capacitor across the first resistor reduced the attenuation enough to finally become usable.
44 | Next problem was that to produce a 250MHz signal which is needed for the FPGA4FUN HDMI output because it's not a possible multipler for the PLL.
45 | To get around this a DDR type scheme was used. The original code shifted data 10 times a pixel.
46 | Using a DDR scheme I shift data 5 times a pixel but route the first or second bit based on the level of the input clock.
47 | This allowed a 125MHz clock to drive the HDMI output and so now have all the clocks needed.
48 |
49 | Video DAC
50 | ---------
51 |
52 | The video DAC on the MVS is fairly simple resistor divider.
53 | Each digital output is connected via a resistor to the RGB output terminals.
54 | A digital output that's on contributes to the resistance at the top.
55 | A digital output that's off contributes to the resistance at the bottom of the divider.
56 | The monitor would have an input resistance (probably 75 ohms) which also adds to the bottom of the divider.
57 | The two slightly different and originally confusing part are two digital inputs which effect red, green and blue simulataneously.
58 | Shadow and DAK (Darken?). Both of these go through not gates which crucially are open collector outputs.
59 | This means they only sync current and so their resistors only add to the bottom of the divider.
60 | Shadow effectively darkens the output by 0.75.
61 | DAK seems very ineffective. It looks like it should add a new LSB but due to the use of an open collector it has much less effect especially at the low range.
62 | The video ramp in general is reasonably linear but has gaps due to the resistors being common values and not precisely what's needed.
63 | I decided to avoid the bad ramp and ineffective DAK input as the intention for a linear ramp and an additional LSB seems obvious and it's probably an improvement over the original.
64 | Shadow was implemented as a 0.75 multiply however it seems at least on the game I have neither shadow or DAK are used.
65 |
66 | Scan doubling
67 | -------------
68 |
69 | The JAMMA video standard is basically NTSC (the old TV standard) but with RGB and sync pre seperated.
70 | HDMI won't allow any resolution lower than 640x480. NTSC is 640x240 each frame as it's interlaced so each frame only has the odd or even lines.
71 | Therefore the signal can't be fed in directly. Instead each line has to be sent twice to meet the minimum requirements.
72 | This is done by using the small amount of RAM on the FPGA.
73 | Over the course of two lines the data read from the MVS is stored into RAM.
74 | While this is happening the last line of data is being output twice.
75 | This doesn't work perfectly. The original image was interlaced and it's obvious on some effects that they are not like they used to be.
76 | For example the shadows now obviously flicker instead of looking stripey on the a CRT.
77 | To get some of this effect alternate lines are dimmed each frame (black made the whole image too dim).
78 | It'd be better to have the dimmed data from the last frame (recreating the phosperous on a TV slowly fading) but the amount of RAM availible is only another for a handful of lines and nothing like a whole frame.
79 |
80 | Synchronisation
81 | ---------------
82 |
83 | At this stage the whole image was now being displayed correctly but it wasn't synced at all so the image appeared somewhere randomly on screen.
84 | The obvious thing to use would be the SYNC output that goes to the JAMMA connector.
85 | Unfortunately there isn't a nice place to tap it out apart form the JAMMA connector and that'd interfer with connecting a JAMMA connector.
86 | Luckily the video latches have a CLEAR input to stop data being clocked out when HSYNC or VSYNC are active. This is effectively exactly the same as the SYNC output at the JAMMA connector.
87 | While clocking out HDMI data if we see CLEAR being high when we're displaying data the counters are reset.
88 | And finally we now have a syncronised, scan doubled video output.
89 |
90 | Sound
91 | -----
92 |
93 | After so many issues with video sound actually turned out to be incredibly
94 | straight forward. The chip on my board was a BU9480F which is a stereo DAC. It
95 | has three lines: Clock, Data and LRCK. Clock and Data form a simple two line
96 | serial interface. The LRCK is high for data intended for the left channel, low
97 | for the right channel. When LRCK transitions all the data for that channel has
98 | been transfered.
99 |
100 | The tricky bit is that the frequency of LRCK is 55.6KHz which means we get
101 | 55.6KHz audio. Unfortunately this is not a nice multiple of any standard audio
102 | frequency. Also the HDMI spec says we can only assume 32KHz audio support. I
103 | implemented very basic downsampling (just point sampling at 32KHz) which isn't
104 | the best quality possible but the output sounds good to my ear.
105 |
106 | Sound over HDMI
107 | ---------------
108 |
109 | This was a huge, huge pain to get working. Mainly due to getting the data islands working correctly (the difference between a DVI signal and a HDMI one). After this it was just a case of getting the channel status bit stream working correctly and the parity bits correct. Hopefully this code will serve as a help to people that try this after me.
110 |
111 | Overclocking
112 | ------------
113 |
114 | The test monitor I used accepted a 24MHz pixel clock and that the signal
115 | timing was out of spec (only 768 horizontal pixels including control periods
116 | instead of 800 and an extra 3 lines on the vertical. My TVs proved a lot
117 | fussier though. So, I knew I had to get to a standard timing. The biggest
118 | problem was that the Neo Geo was outputing just 59.1fps. Therefore whatever I
119 | did I couldn't achieve a standard timing without having enough memory to store
120 | an entire frame (and accept screen tearing). I needed to overclock the NeoGeo
121 | to get to 60fps. Hopefully the speed up would be so small as to be
122 | inperceptable.
123 |
124 | To get 60 I would need to overclock the NeoGeo to 24.33024MHz. We aren't luck
125 | enough for that to be a standard frequency and it isn't a nice multiple of any
126 | of the pixel clocks. Therefore I decided to drive the NeoGeo from the FPGA and
127 | overclock the occational cycle so that the NeoGeo would complete a frame every
128 | 60th of a second.
129 |
130 | I chose to run the pixel clock at 27MHz (rate for 720x480p at 60) which meant
131 | the DDR TMDS clock was only 135MHz. Every positive edge of the TMDS clock I
132 | checked to see if enough time had passed that I needed to toggle the NeoGeo
133 | clock. This effectively meant running at 24.54MHz (with uneven duty cycle)
134 | with the occational downclock to 22.5MHz. The NeoGeo didn't seem to mind this
135 | luckily.
136 |
137 | All that was left to do was split the pixel reading (based on the NeoGeo's
138 | new clock) from the output (pixel clock based). The 3 fewer vertical lines
139 | on the output meant that the line buffer had to be big enough to allow the
140 | NeoGeo to run up to 3 lines ahead but that was a trivial change. All this work
141 | meant we were now perfectly in spec.
142 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | HDMI output for NeoGeo MVS
2 | ==========================
3 |
4 | Summary: The digital video and audio outputs from the Neo Geo MVS are tapped off before going through the DACs. Instead an FPGA reads the data and outputs the signal over HDMI forming a direct digital to digital connection.
5 |
6 | This video should explain things:
7 |
8 |
11 |
12 | The FPGA generates the HDMI video signal with data islands to embed the audio. It also controls the clock of the Neo Geo MVS so it can produce the exact 720x480p at 60fps timing that the HDMI specification demands. See the [notes](Notes.md) for more details.
13 |
14 | If you've built hardware based on older releases of the [wiring](Wiring.md) information then note that in the new build I've changed pin 73 to pin 104 for the lowest bit of the blue channel. This is because pin 73 was connected to the power rail on the dev board.
15 |
16 | *This project might also be notable in that it's one of the very few (that I know of) that features working audio over HDMI.*
17 |
18 | *Nb. The code was originally based off the HDMI/DVI sample code from [fpga4fun.com](http://www.fpga4fun.com/HDMI.html).*
19 |
--------------------------------------------------------------------------------
/Wiring.md:
--------------------------------------------------------------------------------
1 | Wiring
2 | ======
3 |
4 | Wiring is fairly straight forward. It doesn't seem worth making a schematic as it's all just point to point stuff.
5 |
6 | FPGA to HDMI
7 | ------------
8 |
9 | | HDMI | FPGA |
10 | | --------------------------------------------------- | ------------------------------------------- |
11 | | ```Pin 1 TMDS Data2+ ``` | ```Pin 32 hdmip[2] ``` |
12 | | ```Pin 2 TMDS Data2 Shield ``` | ```GND ``` |
13 | | ```Pin 3 TMDS Data2− ``` | ```Pin 31 hdmin[2] ``` |
14 | | ```Pin 4 TMDS Data1+ ``` | ```Pin 30 hdmip[1] ``` |
15 | | ```Pin 5 TMDS Data1 Shield ``` | ```GND ``` |
16 | | ```Pin 6 TMDS Data1− ``` | ```Pin 28 hdmin[1] ``` |
17 | | ```Pin 7 TMDS Data0+ ``` | ```Pin 7 hdmip[0] ``` |
18 | | ```Pin 8 TMDS Data0 Shield ``` | ```GND ``` |
19 | | ```Pin 9 TMDS Data0− ``` | ```Pin 8 hdmin[0] ``` |
20 | | ```Pin 10 TMDS Clock+ ``` | ```Pin 25 hdmiclkp ``` |
21 | | ```Pin 11 TMDS Clock Shield ``` | ```GND ``` |
22 | | ```Pin 12 TMDS Clock− ``` | ```Pin 24 hdmiclkn ``` |
23 | | ```Pin 13 CEC ``` | ```NC ``` |
24 | | ```Pin 14 Reserved ``` | ```NC ``` |
25 | | ```Pin 15 SCL (I²C Serial Clock for DDC) ``` | ```NC 1K pull up to 5V ``` |
26 | | ```Pin 16 SDA (I²C Serial Data Line for DDC) ``` | ```NC 1K pull up to 5V ``` |
27 | | ```Pin 17 DDC/CEC/ARC/HEC Ground ``` | ```GND ``` |
28 | | ```Pin 18 +5 V ``` | ```Vin +5V (Power input) ``` |
29 | | ```Pin 19 Hot Plug detect ``` | ```NC ``` |
30 |
31 |
32 | Neo Geo to FPGA
33 | ---------------
34 |
35 | | FPGA | Neo Geo MVS (SvC board) |
36 | | ---------------------------- | -------------------------------------------------------------------------------- |
37 | | ```Pin 64 NEOGEOCLK ``` | ```OSC Oscillator removed and this wired into the right hand pin ``` |
38 | | ```Pin 75 R[0] ``` | ```IC7 Pin 16 Red[0] (Found 3.9Kohm to red JAMMA output) ``` |
39 | | ```Pin 92 R[1] ``` | ```IC7 Pin 2 Red[1] (Found 2.2Kohm to red JAMMA output) ``` |
40 | | ```Pin 90 R[2] ``` | ```IC7 Pin 5 Red[2] (Found 1Kohm to red JAMMA output) ``` |
41 | | ```Pin 87 R[3] ``` | ```IC7 Pin 6 Red[3] (Found 470ohm to red JAMMA output) ``` |
42 | | ```Pin 100 R[4] ``` | ```IC7 Pin 9 Red[4] (Found 220ohm to red JAMMA output) ``` |
43 | | ```Pin 74 G[0] ``` | ```IC7 Pin 15 Green[0] (Found 3.9Kohm to green JAMMA output) ``` |
44 | | ```Pin 101 G[1] ``` | ```IC6 Pin 12 Green[1] (Found 2.2Kohm to green JAMMA output) ``` |
45 | | ```Pin 86 G[2] ``` | ```IC6 Pin 15 Green[2] (Found 1Kohm to green JAMMA output) ``` |
46 | | ```Pin 89 G[3] ``` | ```IC6 Pin 16 Green[3] (Found 470ohm to green JAMMA output) ``` |
47 | | ```Pin 91 G[4] ``` | ```IC6 Pin 19 Green[4] (Found 220ohm to green JAMMA output) ``` |
48 | | ```Pin 104 B[0] ``` | ```IC7 Pin 12 Blue[0] (Found 3.9Kohm to blue JAMMA output) ``` |
49 | | ```Pin 97 B[1] ``` | ```IC6 Pin 2 Blue[1] (Found 2.2Kohm to blue JAMMA output) ``` |
50 | | ```Pin 96 B[2] ``` | ```IC6 Pin 5 Blue[2] (Found 1Kohm to blue JAMMA output) ``` |
51 | | ```Pin 94 B[3] ``` | ```IC6 Pin 6 Blue[3] (Found 470ohm to blue JAMMA output) ``` |
52 | | ```Pin 93 B[4] ``` | ```IC6 Pin 9 Blue[4] (Found 220ohm to blue JAMMA output) ``` |
53 | | ```Pin 79 DAK ``` | ```IC7 Pin 19 DAK (Didn't check) ``` |
54 | | ```Pin 99 SHA ``` | ```IC8 Pin 4 SHA (Found 150ohm to red JAMMA output. See note) ``` |
55 | | ```Pin 103 SYNC ``` | ```IC6 Pin 1 Clear ``` |
56 | | ```Pin 114 audioLR ``` | ```IC12 Pin 5 LRCK ``` |
57 | | ```Pin 120 audioClk ``` | ```IC12 Pin 7 BCLK ``` |
58 | | ```Pin 118 audioData ``` | ```IC12 Pin 6 SDAT ``` |
59 |
60 | Note IC8 is a 74LS05 which is open collector. Therefore we must use the inputs of the logic gate, otherwise it'd be effected by the other outputs when high. Be careful of this if transposing to a different board.
61 |
62 | If you are doing this on an older Neo Geo with a YM3016 audio DAC then you need to change the audio connections.
63 |
64 | | FPGA | YM3016 |
65 | | ---------------------------- | -------------------------------------------------------------------------------- |
66 | | ```Pin 114 audioLR ``` | ```Pin 8 SMP1 ``` |
67 | | ```Pin 112 audioLR2 ``` | ```Pin 7 SMP2 ``` |
68 | | ```Pin 120 audioClk ``` | ```Pin 5 CLOCK ``` |
69 | | ```Pin 118 audioData ``` | ```Pin 4 SD ``` |
70 |
71 | Previsional info for wiring on MV1-FS. Update coming
72 |
73 | |IC |Pin|Name | FPGA Pin |
74 | |-------------|---|-----|-----------|
75 | |Left LS273 |2 |G480 | Pin 89 |
76 | |Left LS273 |5 |G220 | Pin 91 |
77 | |Left LS273 |6 |R3K8 | Pin 75 |
78 | |Left LS273 |9 |R2K2 | Pin 92 |
79 | |Left LS273 |12 |R1K0 | Pin 90 |
80 | |Left LS273 |15 |R470 | Pin 87 |
81 | |Left LS273 |16 |R220 | Pin 100 |
82 | |Left LS273 |19 |DAK | Pin 79 |
83 | |Right LS273 |1 |!CLR | Pin 103 |
84 | |Right LS273 |2 |B3K8 | Pin 104 |
85 | |Right LS273 |5 |B2K2 | Pin 97 |
86 | |Right LS273 |6 |B1K0 | Pin 96 |
87 | |Right LS273 |9 |B470 | Pin 94 |
88 | |Right LS273 |12 |B220 | Pin 93 |
89 | |Right LS273 |15 |G3K8 | Pin 74 |
90 | |Right LS273 |16 |G2K2 | Pin 101 |
91 | |Right LS273 |19 |G1K0 | Pin 86 |
92 | |LS05 |1 |!R150| Pin 99 |
93 | |LS05 |2 |R150 | |
94 | |LS05 |4 |G150 | |
95 | |LS05 |6 |B150 | |
96 | |LS05 |8 |B8K3 | |
97 | |LS05 |10 |G8K3 | |
98 | |LS05 |12 |R8K3 | |
99 |
100 | *All lines go through 500Ohm/1KOhm resistor voltage dividers to get from 5V input to 3.3V output. Except NEOGEOCLK which is the only output from the FPGA and drives OSC input directly.*
101 |
102 | FPGA dev board internals
103 | ------------------------
104 |
105 | ```
106 | Pin 17 INCLK 50MHz clock
107 | Pin 144 SWITCH
108 | ```
109 |
110 | *INCLK goes through the PLL to generate 27MHz (pixclk) and 135MHz (pixclk72). SWITCH needs the weak internal pull up set to work.*
111 |
--------------------------------------------------------------------------------
/altera/13.0sp1/HDMIDirect.bsf:
--------------------------------------------------------------------------------
1 | /*
2 | WARNING: Do NOT edit the input and output ports in this file in a text
3 | editor if you plan to continue editing the block that represents it in
4 | the Block Editor! File corruption is VERY likely to occur.
5 | */
6 | /*
7 | Copyright (C) 1991-2013 Altera Corporation
8 | Your use of Altera Corporation's design tools, logic functions
9 | and other software and tools, and its AMPP partner logic
10 | functions, and any output files from any of the foregoing
11 | (including device programming or simulation files), and any
12 | associated documentation or information are expressly subject
13 | to the terms and conditions of the Altera Program License
14 | Subscription Agreement, Altera MegaCore Function License
15 | Agreement, or other applicable license agreement, including,
16 | without limitation, that your use is for the sole purpose of
17 | programming logic devices manufactured by Altera and sold by
18 | Altera or its authorized distributors. Please refer to the
19 | applicable agreement for further details.
20 | */
21 | (header "symbol" (version "1.1"))
22 | (symbol
23 | (rect 16 16 216 128)
24 | (text "HDMIDirect" (rect 5 0 53 12)(font "Arial" ))
25 | (text "inst" (rect 8 96 20 108)(font "Arial" ))
26 | (port
27 | (pt 0 32)
28 | (input)
29 | (text "pixclk" (rect 0 0 21 12)(font "Arial" ))
30 | (text "pixclk" (rect 21 27 42 39)(font "Arial" ))
31 | (line (pt 0 32)(pt 16 32)(line_width 1))
32 | )
33 | (port
34 | (pt 0 48)
35 | (input)
36 | (text "clk_TMDS" (rect 0 0 43 12)(font "Arial" ))
37 | (text "clk_TMDS" (rect 21 43 64 55)(font "Arial" ))
38 | (line (pt 0 48)(pt 16 48)(line_width 1))
39 | )
40 | (port
41 | (pt 200 32)
42 | (output)
43 | (text "TMDSp[2..0]" (rect 0 0 51 12)(font "Arial" ))
44 | (text "TMDSp[2..0]" (rect 128 27 179 39)(font "Arial" ))
45 | (line (pt 200 32)(pt 184 32)(line_width 3))
46 | )
47 | (port
48 | (pt 200 48)
49 | (output)
50 | (text "TMDSn[2..0]" (rect 0 0 51 12)(font "Arial" ))
51 | (text "TMDSn[2..0]" (rect 128 43 179 55)(font "Arial" ))
52 | (line (pt 200 48)(pt 184 48)(line_width 3))
53 | )
54 | (port
55 | (pt 200 64)
56 | (output)
57 | (text "TMDSp_clock" (rect 0 0 57 12)(font "Arial" ))
58 | (text "TMDSp_clock" (rect 122 59 179 71)(font "Arial" ))
59 | (line (pt 200 64)(pt 184 64)(line_width 1))
60 | )
61 | (port
62 | (pt 200 80)
63 | (output)
64 | (text "TMDSn_clock" (rect 0 0 57 12)(font "Arial" ))
65 | (text "TMDSn_clock" (rect 122 75 179 87)(font "Arial" ))
66 | (line (pt 200 80)(pt 184 80)(line_width 1))
67 | )
68 | (drawing
69 | (rectangle (rect 16 16 184 96)(line_width 1))
70 | )
71 | )
72 |
--------------------------------------------------------------------------------
/altera/13.0sp1/HDMIDirect.qpf:
--------------------------------------------------------------------------------
1 | # -------------------------------------------------------------------------- #
2 | #
3 | # Copyright (C) 1991-2013 Altera Corporation
4 | # Your use of Altera Corporation's design tools, logic functions
5 | # and other software and tools, and its AMPP partner logic
6 | # functions, and any output files from any of the foregoing
7 | # (including device programming or simulation files), and any
8 | # associated documentation or information are expressly subject
9 | # to the terms and conditions of the Altera Program License
10 | # Subscription Agreement, Altera MegaCore Function License
11 | # Agreement, or other applicable license agreement, including,
12 | # without limitation, that your use is for the sole purpose of
13 | # programming logic devices manufactured by Altera and sold by
14 | # Altera or its authorized distributors. Please refer to the
15 | # applicable agreement for further details.
16 | #
17 | # -------------------------------------------------------------------------- #
18 | #
19 | # Quartus II 64-Bit
20 | # Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition
21 | # Date created = 12:41:04 December 20, 2014
22 | #
23 | # -------------------------------------------------------------------------- #
24 |
25 | QUARTUS_VERSION = "13.0"
26 | DATE = "12:41:04 December 20, 2014"
27 |
28 | # Revisions
29 |
30 | PROJECT_REVISION = "HDMIDirect"
31 |
--------------------------------------------------------------------------------
/altera/13.0sp1/HDMIDirect.qsf:
--------------------------------------------------------------------------------
1 | # -------------------------------------------------------------------------- #
2 | #
3 | # Copyright (C) 1991-2013 Altera Corporation
4 | # Your use of Altera Corporation's design tools, logic functions
5 | # and other software and tools, and its AMPP partner logic
6 | # functions, and any output files from any of the foregoing
7 | # (including device programming or simulation files), and any
8 | # associated documentation or information are expressly subject
9 | # to the terms and conditions of the Altera Program License
10 | # Subscription Agreement, Altera MegaCore Function License
11 | # Agreement, or other applicable license agreement, including,
12 | # without limitation, that your use is for the sole purpose of
13 | # programming logic devices manufactured by Altera and sold by
14 | # Altera or its authorized distributors. Please refer to the
15 | # applicable agreement for further details.
16 | #
17 | # -------------------------------------------------------------------------- #
18 | #
19 | # Quartus II 64-Bit
20 | # Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition
21 | # Date created = 12:41:04 December 20, 2014
22 | #
23 | # -------------------------------------------------------------------------- #
24 | #
25 | # Notes:
26 | #
27 | # 1) The default values for assignments are stored in the file:
28 | # HDMIDirect_assignment_defaults.qdf
29 | # If this file doesn't exist, see file:
30 | # assignment_defaults.qdf
31 | #
32 | # 2) Altera recommends that you do not modify this file. This
33 | # file is updated automatically by the Quartus II software
34 | # and any changes you make may be lost or overwritten.
35 | #
36 | # -------------------------------------------------------------------------- #
37 |
38 |
39 | set_global_assignment -name FAMILY "Cyclone II"
40 | set_global_assignment -name DEVICE EP2C5T144C8
41 | set_global_assignment -name TOP_LEVEL_ENTITY HDMIDirect
42 | set_global_assignment -name ORIGINAL_QUARTUS_VERSION "13.0 SP1"
43 | set_global_assignment -name PROJECT_CREATION_TIME_DATE "12:41:04 DECEMBER 20, 2014"
44 | set_global_assignment -name LAST_QUARTUS_VERSION "13.0 SP1"
45 | set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files
46 | set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0
47 | set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85
48 | set_global_assignment -name DEVICE_FILTER_PIN_COUNT 144
49 | set_global_assignment -name ERROR_CHECK_FREQUENCY_DIVISOR 1
50 | set_global_assignment -name EDA_SIMULATION_TOOL "ModelSim-Altera (Verilog)"
51 | set_global_assignment -name EDA_OUTPUT_DATA_FORMAT "VERILOG HDL" -section_id eda_simulation
52 | set_global_assignment -name VERILOG_FILE HDMIDirect.v
53 | set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top
54 | set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top
55 | set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top
56 | set_global_assignment -name BDF_FILE HDMIDirect.bdf
57 | set_global_assignment -name STRATIX_DEVICE_IO_STANDARD "3.3-V LVTTL"
58 | set_location_assignment PIN_88 -to clk
59 | set_location_assignment PIN_24 -to hdmiclkn
60 | set_location_assignment PIN_25 -to hdmiclkp
61 | set_location_assignment PIN_8 -to hdmin[0]
62 | set_location_assignment PIN_28 -to hdmin[1]
63 | set_location_assignment PIN_31 -to hdmin[2]
64 | set_location_assignment PIN_7 -to hdmip[0]
65 | set_location_assignment PIN_30 -to hdmip[1]
66 | set_location_assignment PIN_32 -to hdmip[2]
67 | set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to hdmiclkn
68 | set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to hdmiclkp
69 | set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to hdmin[2]
70 | set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to hdmin[1]
71 | set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to hdmin[0]
72 | set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to hdmip[2]
73 | set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to hdmip[0]
74 | set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to hdmip[1]
75 | set_location_assignment PIN_75 -to R[0]
76 | set_location_assignment PIN_104 -to B[0]
77 | set_location_assignment PIN_74 -to G[0]
78 | set_location_assignment PIN_79 -to DAK
79 | set_location_assignment PIN_101 -to G[1]
80 | set_location_assignment PIN_100 -to R[4]
81 | set_location_assignment PIN_87 -to R[3]
82 | set_location_assignment PIN_90 -to R[2]
83 | set_location_assignment PIN_92 -to R[1]
84 | set_location_assignment PIN_86 -to G[2]
85 | set_location_assignment PIN_89 -to G[3]
86 | set_location_assignment PIN_91 -to G[4]
87 | set_location_assignment PIN_97 -to B[1]
88 | set_location_assignment PIN_96 -to B[2]
89 | set_location_assignment PIN_94 -to B[3]
90 | set_location_assignment PIN_93 -to B[4]
91 | set_location_assignment PIN_99 -to SHA
92 | set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to B[4]
93 | set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to B[3]
94 | set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to B[2]
95 | set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to B[1]
96 | set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to B[0]
97 | set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to clk
98 | set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to DAK
99 | set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to G[4]
100 | set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to G[3]
101 | set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to G[2]
102 | set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to G[1]
103 | set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to G[0]
104 | set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to SHA
105 | set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to R[0]
106 | set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to R[1]
107 | set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to R[3]
108 | set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to R[4]
109 | set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to R[2]
110 | set_location_assignment PIN_144 -to SWITCH
111 | set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to SWITCH
112 | set_location_assignment PIN_103 -to SYNC
113 | set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to SYNC
114 | set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to SWITCH
115 | set_location_assignment PIN_114 -to audioLR
116 | set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to audioLR
117 | set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to audioData
118 | set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to audioClk
119 | set_location_assignment PIN_118 -to audioData
120 | set_location_assignment PIN_120 -to audioClk
121 | set_global_assignment -name QIP_FILE altpll_masterclk.qip
122 | set_location_assignment PIN_17 -to INCLK
123 | set_location_assignment PIN_64 -to NEOGEOCLK
124 | set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to NEOGEOCLK
125 | set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to audioLR
126 | set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to audioData
127 | set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to audioClk
128 | set_location_assignment PIN_112 -to audioLR2
129 | set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to audioLR2
130 | set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to audioLR2
131 | set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to NEOGEOCLK
132 | set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
--------------------------------------------------------------------------------
/altera/13.0sp1/HDMIDirect.qws:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charcole/NeoGeoHDMI/8d66141d150ea53abcc77258ed8db8890887f646/altera/13.0sp1/HDMIDirect.qws
--------------------------------------------------------------------------------
/altera/13.0sp1/HDMIDirectV.bsf:
--------------------------------------------------------------------------------
1 | /*
2 | WARNING: Do NOT edit the input and output ports in this file in a text
3 | editor if you plan to continue editing the block that represents it in
4 | the Block Editor! File corruption is VERY likely to occur.
5 | */
6 | /*
7 | Copyright (C) 1991-2013 Altera Corporation
8 | Your use of Altera Corporation's design tools, logic functions
9 | and other software and tools, and its AMPP partner logic
10 | functions, and any output files from any of the foregoing
11 | (including device programming or simulation files), and any
12 | associated documentation or information are expressly subject
13 | to the terms and conditions of the Altera Program License
14 | Subscription Agreement, Altera MegaCore Function License
15 | Agreement, or other applicable license agreement, including,
16 | without limitation, that your use is for the sole purpose of
17 | programming logic devices manufactured by Altera and sold by
18 | Altera or its authorized distributors. Please refer to the
19 | applicable agreement for further details.
20 | */
21 | (header "symbol" (version "1.1"))
22 | (symbol
23 | (rect 16 16 272 320)
24 | (text "HDMIDirectV" (rect 5 0 61 12)(font "Arial" ))
25 | (text "inst" (rect 8 288 20 300)(font "Arial" ))
26 | (port
27 | (pt 0 32)
28 | (input)
29 | (text "pixclk" (rect 0 0 21 12)(font "Arial" ))
30 | (text "pixclk" (rect 21 27 42 39)(font "Arial" ))
31 | (line (pt 0 32)(pt 16 32)(line_width 1))
32 | )
33 | (port
34 | (pt 0 48)
35 | (input)
36 | (text "pixclk72" (rect 0 0 30 12)(font "Arial" ))
37 | (text "pixclk72" (rect 21 43 51 55)(font "Arial" ))
38 | (line (pt 0 48)(pt 16 48)(line_width 1))
39 | )
40 | (port
41 | (pt 0 64)
42 | (input)
43 | (text "pixclk144" (rect 0 0 36 12)(font "Arial" ))
44 | (text "pixclk144" (rect 21 59 57 71)(font "Arial" ))
45 | (line (pt 0 64)(pt 16 64)(line_width 1))
46 | )
47 | (port
48 | (pt 0 80)
49 | (input)
50 | (text "videobus[16..0]" (rect 0 0 59 12)(font "Arial" ))
51 | (text "videobus[16..0]" (rect 21 75 80 87)(font "Arial" ))
52 | (line (pt 0 80)(pt 16 80)(line_width 3))
53 | )
54 | (port
55 | (pt 0 96)
56 | (input)
57 | (text "Rin[4..0]" (rect 0 0 35 12)(font "Arial" ))
58 | (text "Rin[4..0]" (rect 21 91 56 103)(font "Arial" ))
59 | (line (pt 0 96)(pt 16 96)(line_width 3))
60 | )
61 | (port
62 | (pt 0 112)
63 | (input)
64 | (text "Gin[4..0]" (rect 0 0 34 12)(font "Arial" ))
65 | (text "Gin[4..0]" (rect 21 107 55 119)(font "Arial" ))
66 | (line (pt 0 112)(pt 16 112)(line_width 3))
67 | )
68 | (port
69 | (pt 0 128)
70 | (input)
71 | (text "Bin[4..0]" (rect 0 0 33 12)(font "Arial" ))
72 | (text "Bin[4..0]" (rect 21 123 54 135)(font "Arial" ))
73 | (line (pt 0 128)(pt 16 128)(line_width 3))
74 | )
75 | (port
76 | (pt 0 144)
77 | (input)
78 | (text "dak" (rect 0 0 14 12)(font "Arial" ))
79 | (text "dak" (rect 21 139 35 151)(font "Arial" ))
80 | (line (pt 0 144)(pt 16 144)(line_width 1))
81 | )
82 | (port
83 | (pt 0 160)
84 | (input)
85 | (text "sha" (rect 0 0 14 12)(font "Arial" ))
86 | (text "sha" (rect 21 155 35 167)(font "Arial" ))
87 | (line (pt 0 160)(pt 16 160)(line_width 1))
88 | )
89 | (port
90 | (pt 0 176)
91 | (input)
92 | (text "button" (rect 0 0 23 12)(font "Arial" ))
93 | (text "button" (rect 21 171 44 183)(font "Arial" ))
94 | (line (pt 0 176)(pt 16 176)(line_width 1))
95 | )
96 | (port
97 | (pt 0 192)
98 | (input)
99 | (text "sync" (rect 0 0 20 12)(font "Arial" ))
100 | (text "sync" (rect 21 187 41 199)(font "Arial" ))
101 | (line (pt 0 192)(pt 16 192)(line_width 1))
102 | )
103 | (port
104 | (pt 0 208)
105 | (input)
106 | (text "audioLR" (rect 0 0 34 12)(font "Arial" ))
107 | (text "audioLR" (rect 21 203 55 215)(font "Arial" ))
108 | (line (pt 0 208)(pt 16 208)(line_width 1))
109 | )
110 | (port
111 | (pt 0 224)
112 | (input)
113 | (text "audioClk" (rect 0 0 33 12)(font "Arial" ))
114 | (text "audioClk" (rect 21 219 54 231)(font "Arial" ))
115 | (line (pt 0 224)(pt 16 224)(line_width 1))
116 | )
117 | (port
118 | (pt 0 240)
119 | (input)
120 | (text "audioData" (rect 0 0 38 12)(font "Arial" ))
121 | (text "audioData" (rect 21 235 59 247)(font "Arial" ))
122 | (line (pt 0 240)(pt 16 240)(line_width 1))
123 | )
124 | (port
125 | (pt 0 256)
126 | (input)
127 | (text "audioLR2" (rect 0 0 38 12)(font "Arial" ))
128 | (text "audioLR2" (rect 21 251 59 263)(font "Arial" ))
129 | (line (pt 0 256)(pt 16 256)(line_width 1))
130 | )
131 | (port
132 | (pt 0 272)
133 | (input)
134 | (text "fontData[7..0]" (rect 0 0 54 12)(font "Arial" ))
135 | (text "fontData[7..0]" (rect 21 267 75 279)(font "Arial" ))
136 | (line (pt 0 272)(pt 16 272)(line_width 3))
137 | )
138 | (port
139 | (pt 256 32)
140 | (output)
141 | (text "TMDSp[2..0]" (rect 0 0 51 12)(font "Arial" ))
142 | (text "TMDSp[2..0]" (rect 184 27 235 39)(font "Arial" ))
143 | (line (pt 256 32)(pt 240 32)(line_width 3))
144 | )
145 | (port
146 | (pt 256 48)
147 | (output)
148 | (text "TMDSn[2..0]" (rect 0 0 51 12)(font "Arial" ))
149 | (text "TMDSn[2..0]" (rect 184 43 235 55)(font "Arial" ))
150 | (line (pt 256 48)(pt 240 48)(line_width 3))
151 | )
152 | (port
153 | (pt 256 64)
154 | (output)
155 | (text "TMDSp_clock" (rect 0 0 57 12)(font "Arial" ))
156 | (text "TMDSp_clock" (rect 178 59 235 71)(font "Arial" ))
157 | (line (pt 256 64)(pt 240 64)(line_width 1))
158 | )
159 | (port
160 | (pt 256 80)
161 | (output)
162 | (text "TMDSn_clock" (rect 0 0 57 12)(font "Arial" ))
163 | (text "TMDSn_clock" (rect 178 75 235 87)(font "Arial" ))
164 | (line (pt 256 80)(pt 240 80)(line_width 1))
165 | )
166 | (port
167 | (pt 256 96)
168 | (output)
169 | (text "videoaddressw[11..0]" (rect 0 0 81 12)(font "Arial" ))
170 | (text "videoaddressw[11..0]" (rect 154 91 235 103)(font "Arial" ))
171 | (line (pt 256 96)(pt 240 96)(line_width 3))
172 | )
173 | (port
174 | (pt 256 112)
175 | (output)
176 | (text "videoramenable" (rect 0 0 62 12)(font "Arial" ))
177 | (text "videoramenable" (rect 173 107 235 119)(font "Arial" ))
178 | (line (pt 256 112)(pt 240 112)(line_width 1))
179 | )
180 | (port
181 | (pt 256 128)
182 | (output)
183 | (text "videoramclk" (rect 0 0 48 12)(font "Arial" ))
184 | (text "videoramclk" (rect 187 123 235 135)(font "Arial" ))
185 | (line (pt 256 128)(pt 240 128)(line_width 1))
186 | )
187 | (port
188 | (pt 256 144)
189 | (output)
190 | (text "videoramoutclk" (rect 0 0 60 12)(font "Arial" ))
191 | (text "videoramoutclk" (rect 175 139 235 151)(font "Arial" ))
192 | (line (pt 256 144)(pt 240 144)(line_width 1))
193 | )
194 | (port
195 | (pt 256 160)
196 | (output)
197 | (text "videowrite" (rect 0 0 38 12)(font "Arial" ))
198 | (text "videowrite" (rect 197 155 235 167)(font "Arial" ))
199 | (line (pt 256 160)(pt 240 160)(line_width 1))
200 | )
201 | (port
202 | (pt 256 176)
203 | (output)
204 | (text "videoaddressoutw[11..0]" (rect 0 0 93 12)(font "Arial" ))
205 | (text "videoaddressoutw[11..0]" (rect 142 171 235 183)(font "Arial" ))
206 | (line (pt 256 176)(pt 240 176)(line_width 3))
207 | )
208 | (port
209 | (pt 256 192)
210 | (output)
211 | (text "videobusoutw[16..0]" (rect 0 0 76 12)(font "Arial" ))
212 | (text "videobusoutw[16..0]" (rect 159 187 235 199)(font "Arial" ))
213 | (line (pt 256 192)(pt 240 192)(line_width 3))
214 | )
215 | (port
216 | (pt 256 208)
217 | (output)
218 | (text "neogeoclk" (rect 0 0 38 12)(font "Arial" ))
219 | (text "neogeoclk" (rect 197 203 235 215)(font "Arial" ))
220 | (line (pt 256 208)(pt 240 208)(line_width 1))
221 | )
222 | (port
223 | (pt 256 224)
224 | (output)
225 | (text "fontAddress[10..0]" (rect 0 0 74 12)(font "Arial" ))
226 | (text "fontAddress[10..0]" (rect 161 219 235 231)(font "Arial" ))
227 | (line (pt 256 224)(pt 240 224)(line_width 3))
228 | )
229 | (port
230 | (pt 256 240)
231 | (output)
232 | (text "fontROMClock" (rect 0 0 61 12)(font "Arial" ))
233 | (text "fontROMClock" (rect 174 235 235 247)(font "Arial" ))
234 | (line (pt 256 240)(pt 240 240)(line_width 1))
235 | )
236 | (drawing
237 | (rectangle (rect 16 16 240 288)(line_width 1))
238 | )
239 | )
240 |
--------------------------------------------------------------------------------
/altera/13.0sp1/HDMI_test.bsf:
--------------------------------------------------------------------------------
1 | /*
2 | WARNING: Do NOT edit the input and output ports in this file in a text
3 | editor if you plan to continue editing the block that represents it in
4 | the Block Editor! File corruption is VERY likely to occur.
5 | */
6 | /*
7 | Copyright (C) 1991-2013 Altera Corporation
8 | Your use of Altera Corporation's design tools, logic functions
9 | and other software and tools, and its AMPP partner logic
10 | functions, and any output files from any of the foregoing
11 | (including device programming or simulation files), and any
12 | associated documentation or information are expressly subject
13 | to the terms and conditions of the Altera Program License
14 | Subscription Agreement, Altera MegaCore Function License
15 | Agreement, or other applicable license agreement, including,
16 | without limitation, that your use is for the sole purpose of
17 | programming logic devices manufactured by Altera and sold by
18 | Altera or its authorized distributors. Please refer to the
19 | applicable agreement for further details.
20 | */
21 | (header "symbol" (version "1.1"))
22 | (symbol
23 | (rect 16 16 200 128)
24 | (text "HDMI_test" (rect 5 0 49 12)(font "Arial" ))
25 | (text "inst" (rect 8 96 20 108)(font "Arial" ))
26 | (port
27 | (pt 0 32)
28 | (input)
29 | (text "pixclk" (rect 0 0 21 12)(font "Arial" ))
30 | (text "pixclk" (rect 21 27 42 39)(font "Arial" ))
31 | (line (pt 0 32)(pt 16 32)(line_width 1))
32 | )
33 | (port
34 | (pt 184 32)
35 | (output)
36 | (text "TMDSp[2..0]" (rect 0 0 51 12)(font "Arial" ))
37 | (text "TMDSp[2..0]" (rect 112 27 163 39)(font "Arial" ))
38 | (line (pt 184 32)(pt 168 32)(line_width 3))
39 | )
40 | (port
41 | (pt 184 48)
42 | (output)
43 | (text "TMDSn[2..0]" (rect 0 0 51 12)(font "Arial" ))
44 | (text "TMDSn[2..0]" (rect 112 43 163 55)(font "Arial" ))
45 | (line (pt 184 48)(pt 168 48)(line_width 3))
46 | )
47 | (port
48 | (pt 184 64)
49 | (output)
50 | (text "TMDSp_clock" (rect 0 0 57 12)(font "Arial" ))
51 | (text "TMDSp_clock" (rect 106 59 163 71)(font "Arial" ))
52 | (line (pt 184 64)(pt 168 64)(line_width 1))
53 | )
54 | (port
55 | (pt 184 80)
56 | (output)
57 | (text "TMDSn_clock" (rect 0 0 57 12)(font "Arial" ))
58 | (text "TMDSn_clock" (rect 106 75 163 87)(font "Arial" ))
59 | (line (pt 184 80)(pt 168 80)(line_width 1))
60 | )
61 | (drawing
62 | (rectangle (rect 16 16 168 96)(line_width 1))
63 | )
64 | )
65 |
--------------------------------------------------------------------------------
/altera/13.0sp1/TERC4_encoder.bsf:
--------------------------------------------------------------------------------
1 | /*
2 | WARNING: Do NOT edit the input and output ports in this file in a text
3 | editor if you plan to continue editing the block that represents it in
4 | the Block Editor! File corruption is VERY likely to occur.
5 | */
6 | /*
7 | Copyright (C) 1991-2013 Altera Corporation
8 | Your use of Altera Corporation's design tools, logic functions
9 | and other software and tools, and its AMPP partner logic
10 | functions, and any output files from any of the foregoing
11 | (including device programming or simulation files), and any
12 | associated documentation or information are expressly subject
13 | to the terms and conditions of the Altera Program License
14 | Subscription Agreement, Altera MegaCore Function License
15 | Agreement, or other applicable license agreement, including,
16 | without limitation, that your use is for the sole purpose of
17 | programming logic devices manufactured by Altera and sold by
18 | Altera or its authorized distributors. Please refer to the
19 | applicable agreement for further details.
20 | */
21 | (header "symbol" (version "1.1"))
22 | (symbol
23 | (rect 16 16 200 96)
24 | (text "TERC4_encoder" (rect 5 0 76 12)(font "Arial" ))
25 | (text "inst" (rect 8 64 20 76)(font "Arial" ))
26 | (port
27 | (pt 0 32)
28 | (input)
29 | (text "clk" (rect 0 0 10 12)(font "Arial" ))
30 | (text "clk" (rect 21 27 31 39)(font "Arial" ))
31 | (line (pt 0 32)(pt 16 32)(line_width 1))
32 | )
33 | (port
34 | (pt 0 48)
35 | (input)
36 | (text "data[3..0]" (rect 0 0 36 12)(font "Arial" ))
37 | (text "data[3..0]" (rect 21 43 57 55)(font "Arial" ))
38 | (line (pt 0 48)(pt 16 48)(line_width 3))
39 | )
40 | (port
41 | (pt 184 32)
42 | (output)
43 | (text "TERC[9..0]" (rect 0 0 48 12)(font "Arial" ))
44 | (text "TERC[9..0]" (rect 115 27 163 39)(font "Arial" ))
45 | (line (pt 184 32)(pt 168 32)(line_width 3))
46 | )
47 | (drawing
48 | (rectangle (rect 16 16 168 64)(line_width 1))
49 | )
50 | )
51 |
--------------------------------------------------------------------------------
/altera/13.0sp1/TMDS_encoder.bsf:
--------------------------------------------------------------------------------
1 | /*
2 | WARNING: Do NOT edit the input and output ports in this file in a text
3 | editor if you plan to continue editing the block that represents it in
4 | the Block Editor! File corruption is VERY likely to occur.
5 | */
6 | /*
7 | Copyright (C) 1991-2013 Altera Corporation
8 | Your use of Altera Corporation's design tools, logic functions
9 | and other software and tools, and its AMPP partner logic
10 | functions, and any output files from any of the foregoing
11 | (including device programming or simulation files), and any
12 | associated documentation or information are expressly subject
13 | to the terms and conditions of the Altera Program License
14 | Subscription Agreement, Altera MegaCore Function License
15 | Agreement, or other applicable license agreement, including,
16 | without limitation, that your use is for the sole purpose of
17 | programming logic devices manufactured by Altera and sold by
18 | Altera or its authorized distributors. Please refer to the
19 | applicable agreement for further details.
20 | */
21 | (header "symbol" (version "1.1"))
22 | (symbol
23 | (rect 16 16 200 128)
24 | (text "TMDS_encoder" (rect 5 0 69 12)(font "Arial" ))
25 | (text "inst" (rect 8 96 20 108)(font "Arial" ))
26 | (port
27 | (pt 0 32)
28 | (input)
29 | (text "clk" (rect 0 0 10 12)(font "Arial" ))
30 | (text "clk" (rect 21 27 31 39)(font "Arial" ))
31 | (line (pt 0 32)(pt 16 32)(line_width 1))
32 | )
33 | (port
34 | (pt 0 48)
35 | (input)
36 | (text "VD[7..0]" (rect 0 0 35 12)(font "Arial" ))
37 | (text "VD[7..0]" (rect 21 43 56 55)(font "Arial" ))
38 | (line (pt 0 48)(pt 16 48)(line_width 3))
39 | )
40 | (port
41 | (pt 0 64)
42 | (input)
43 | (text "CD[1..0]" (rect 0 0 33 12)(font "Arial" ))
44 | (text "CD[1..0]" (rect 21 59 54 71)(font "Arial" ))
45 | (line (pt 0 64)(pt 16 64)(line_width 3))
46 | )
47 | (port
48 | (pt 0 80)
49 | (input)
50 | (text "VDE" (rect 0 0 22 12)(font "Arial" ))
51 | (text "VDE" (rect 21 75 43 87)(font "Arial" ))
52 | (line (pt 0 80)(pt 16 80)(line_width 1))
53 | )
54 | (port
55 | (pt 184 32)
56 | (output)
57 | (text "TMDS[9..0]" (rect 0 0 47 12)(font "Arial" ))
58 | (text "TMDS[9..0]" (rect 116 27 163 39)(font "Arial" ))
59 | (line (pt 184 32)(pt 168 32)(line_width 3))
60 | )
61 | (drawing
62 | (rectangle (rect 16 16 168 96)(line_width 1))
63 | )
64 | )
65 |
--------------------------------------------------------------------------------
/altera/13.0sp1/altpll_masterclk.bsf:
--------------------------------------------------------------------------------
1 | /*
2 | WARNING: Do NOT edit the input and output ports in this file in a text
3 | editor if you plan to continue editing the block that represents it in
4 | the Block Editor! File corruption is VERY likely to occur.
5 | */
6 | /*
7 | Copyright (C) 1991-2013 Altera Corporation
8 | Your use of Altera Corporation's design tools, logic functions
9 | and other software and tools, and its AMPP partner logic
10 | functions, and any output files from any of the foregoing
11 | (including device programming or simulation files), and any
12 | associated documentation or information are expressly subject
13 | to the terms and conditions of the Altera Program License
14 | Subscription Agreement, Altera MegaCore Function License
15 | Agreement, or other applicable license agreement, including,
16 | without limitation, that your use is for the sole purpose of
17 | programming logic devices manufactured by Altera and sold by
18 | Altera or its authorized distributors. Please refer to the
19 | applicable agreement for further details.
20 | */
21 | (header "symbol" (version "1.2"))
22 | (symbol
23 | (rect 0 0 240 176)
24 | (text "altpll_masterclk" (rect 74 0 183 16)(font "Arial" (font_size 10)))
25 | (text "inst" (rect 8 161 26 172)(font "Arial" ))
26 | (port
27 | (pt 0 64)
28 | (input)
29 | (text "inclk0" (rect 0 0 34 13)(font "Arial" (font_size 8)))
30 | (text "inclk0" (rect 4 51 31 63)(font "Arial" (font_size 8)))
31 | (line (pt 0 64)(pt 40 64))
32 | )
33 | (port
34 | (pt 240 64)
35 | (output)
36 | (text "c0" (rect 0 0 15 13)(font "Arial" (font_size 8)))
37 | (text "c0" (rect 225 51 237 63)(font "Arial" (font_size 8)))
38 | )
39 | (port
40 | (pt 240 80)
41 | (output)
42 | (text "c1" (rect 0 0 15 13)(font "Arial" (font_size 8)))
43 | (text "c1" (rect 225 67 237 79)(font "Arial" (font_size 8)))
44 | )
45 | (port
46 | (pt 240 96)
47 | (output)
48 | (text "c2" (rect 0 0 15 13)(font "Arial" (font_size 8)))
49 | (text "c2" (rect 225 83 237 95)(font "Arial" (font_size 8)))
50 | )
51 | (drawing
52 | (text "Cyclone II" (rect 187 162 417 334)(font "Arial" ))
53 | (text "inclk0 frequency: 50.000 MHz" (rect 50 60 226 130)(font "Arial" ))
54 | (text "Operation Mode: Normal" (rect 50 72 203 154)(font "Arial" ))
55 | (text "Clk " (rect 51 91 117 192)(font "Arial" ))
56 | (text "Ratio" (rect 71 91 165 192)(font "Arial" ))
57 | (text "Ph (dg)" (rect 98 91 227 192)(font "Arial" ))
58 | (text "DC (%)" (rect 133 91 298 192)(font "Arial" ))
59 | (text "c0" (rect 54 104 119 218)(font "Arial" ))
60 | (text "27/50" (rect 71 104 166 218)(font "Arial" ))
61 | (text "0.00" (rect 104 104 227 218)(font "Arial" ))
62 | (text "50.00" (rect 137 104 298 218)(font "Arial" ))
63 | (text "c1" (rect 54 117 119 244)(font "Arial" ))
64 | (text "27/10" (rect 71 117 166 244)(font "Arial" ))
65 | (text "0.00" (rect 104 117 227 244)(font "Arial" ))
66 | (text "50.00" (rect 137 117 298 244)(font "Arial" ))
67 | (text "c2" (rect 54 130 119 270)(font "Arial" ))
68 | (text "27/10" (rect 71 130 166 270)(font "Arial" ))
69 | (text "90.00" (rect 102 130 228 270)(font "Arial" ))
70 | (text "50.00" (rect 137 130 298 270)(font "Arial" ))
71 | (line (pt 0 0)(pt 241 0))
72 | (line (pt 241 0)(pt 241 177))
73 | (line (pt 0 177)(pt 241 177))
74 | (line (pt 0 0)(pt 0 177))
75 | (line (pt 48 89)(pt 165 89))
76 | (line (pt 48 101)(pt 165 101))
77 | (line (pt 48 114)(pt 165 114))
78 | (line (pt 48 127)(pt 165 127))
79 | (line (pt 48 140)(pt 165 140))
80 | (line (pt 48 89)(pt 48 140))
81 | (line (pt 68 89)(pt 68 140)(line_width 3))
82 | (line (pt 95 89)(pt 95 140)(line_width 3))
83 | (line (pt 130 89)(pt 130 140)(line_width 3))
84 | (line (pt 164 89)(pt 164 140))
85 | (line (pt 40 48)(pt 207 48))
86 | (line (pt 207 48)(pt 207 159))
87 | (line (pt 40 159)(pt 207 159))
88 | (line (pt 40 48)(pt 40 159))
89 | (line (pt 239 64)(pt 207 64))
90 | (line (pt 239 80)(pt 207 80))
91 | (line (pt 239 96)(pt 207 96))
92 | )
93 | )
94 |
--------------------------------------------------------------------------------
/altera/13.0sp1/altpll_masterclk.ppf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/altera/13.0sp1/altpll_masterclk.qip:
--------------------------------------------------------------------------------
1 | set_global_assignment -name IP_TOOL_NAME "ALTPLL"
2 | set_global_assignment -name IP_TOOL_VERSION "13.0"
3 | set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) "altpll_masterclk.v"]
4 | set_global_assignment -name MISC_FILE [file join $::quartus(qip_path) "altpll_masterclk.bsf"]
5 | set_global_assignment -name MISC_FILE [file join $::quartus(qip_path) "altpll_masterclk_bb.v"]
6 | set_global_assignment -name MISC_FILE [file join $::quartus(qip_path) "altpll_masterclk.ppf"]
7 |
--------------------------------------------------------------------------------
/altera/13.0sp1/altpll_masterclk.v:
--------------------------------------------------------------------------------
1 | // megafunction wizard: %ALTPLL%
2 | // GENERATION: STANDARD
3 | // VERSION: WM1.0
4 | // MODULE: altpll
5 |
6 | // ============================================================
7 | // File Name: altpll_masterclk.v
8 | // Megafunction Name(s):
9 | // altpll
10 | //
11 | // Simulation Library Files(s):
12 | // altera_mf
13 | // ============================================================
14 | // ************************************************************
15 | // THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE!
16 | //
17 | // 13.0.1 Build 232 06/12/2013 SP 1 SJ Web Edition
18 | // ************************************************************
19 |
20 |
21 | //Copyright (C) 1991-2013 Altera Corporation
22 | //Your use of Altera Corporation's design tools, logic functions
23 | //and other software and tools, and its AMPP partner logic
24 | //functions, and any output files from any of the foregoing
25 | //(including device programming or simulation files), and any
26 | //associated documentation or information are expressly subject
27 | //to the terms and conditions of the Altera Program License
28 | //Subscription Agreement, Altera MegaCore Function License
29 | //Agreement, or other applicable license agreement, including,
30 | //without limitation, that your use is for the sole purpose of
31 | //programming logic devices manufactured by Altera and sold by
32 | //Altera or its authorized distributors. Please refer to the
33 | //applicable agreement for further details.
34 |
35 |
36 | // synopsys translate_off
37 | `timescale 1 ps / 1 ps
38 | // synopsys translate_on
39 | module altpll_masterclk (
40 | inclk0,
41 | c0,
42 | c1,
43 | c2);
44 |
45 | input inclk0;
46 | output c0;
47 | output c1;
48 | output c2;
49 |
50 | wire [5:0] sub_wire0;
51 | wire [0:0] sub_wire6 = 1'h0;
52 | wire [2:2] sub_wire3 = sub_wire0[2:2];
53 | wire [0:0] sub_wire2 = sub_wire0[0:0];
54 | wire [1:1] sub_wire1 = sub_wire0[1:1];
55 | wire c1 = sub_wire1;
56 | wire c0 = sub_wire2;
57 | wire c2 = sub_wire3;
58 | wire sub_wire4 = inclk0;
59 | wire [1:0] sub_wire5 = {sub_wire6, sub_wire4};
60 |
61 | altpll altpll_component (
62 | .inclk (sub_wire5),
63 | .clk (sub_wire0),
64 | .activeclock (),
65 | .areset (1'b0),
66 | .clkbad (),
67 | .clkena ({6{1'b1}}),
68 | .clkloss (),
69 | .clkswitch (1'b0),
70 | .configupdate (1'b0),
71 | .enable0 (),
72 | .enable1 (),
73 | .extclk (),
74 | .extclkena ({4{1'b1}}),
75 | .fbin (1'b1),
76 | .fbmimicbidir (),
77 | .fbout (),
78 | .fref (),
79 | .icdrclk (),
80 | .locked (),
81 | .pfdena (1'b1),
82 | .phasecounterselect ({4{1'b1}}),
83 | .phasedone (),
84 | .phasestep (1'b1),
85 | .phaseupdown (1'b1),
86 | .pllena (1'b1),
87 | .scanaclr (1'b0),
88 | .scanclk (1'b0),
89 | .scanclkena (1'b1),
90 | .scandata (1'b0),
91 | .scandataout (),
92 | .scandone (),
93 | .scanread (1'b0),
94 | .scanwrite (1'b0),
95 | .sclkout0 (),
96 | .sclkout1 (),
97 | .vcooverrange (),
98 | .vcounderrange ());
99 | defparam
100 | altpll_component.clk0_divide_by = 50,
101 | altpll_component.clk0_duty_cycle = 50,
102 | altpll_component.clk0_multiply_by = 27,
103 | altpll_component.clk0_phase_shift = "0",
104 | altpll_component.clk1_divide_by = 10,
105 | altpll_component.clk1_duty_cycle = 50,
106 | altpll_component.clk1_multiply_by = 27,
107 | altpll_component.clk1_phase_shift = "0",
108 | altpll_component.clk2_divide_by = 10,
109 | altpll_component.clk2_duty_cycle = 50,
110 | altpll_component.clk2_multiply_by = 27,
111 | altpll_component.clk2_phase_shift = "1852",
112 | altpll_component.compensate_clock = "CLK0",
113 | altpll_component.inclk0_input_frequency = 20000,
114 | altpll_component.intended_device_family = "Cyclone II",
115 | altpll_component.lpm_hint = "CBX_MODULE_PREFIX=altpll_masterclk",
116 | altpll_component.lpm_type = "altpll",
117 | altpll_component.operation_mode = "NORMAL",
118 | altpll_component.port_activeclock = "PORT_UNUSED",
119 | altpll_component.port_areset = "PORT_UNUSED",
120 | altpll_component.port_clkbad0 = "PORT_UNUSED",
121 | altpll_component.port_clkbad1 = "PORT_UNUSED",
122 | altpll_component.port_clkloss = "PORT_UNUSED",
123 | altpll_component.port_clkswitch = "PORT_UNUSED",
124 | altpll_component.port_configupdate = "PORT_UNUSED",
125 | altpll_component.port_fbin = "PORT_UNUSED",
126 | altpll_component.port_inclk0 = "PORT_USED",
127 | altpll_component.port_inclk1 = "PORT_UNUSED",
128 | altpll_component.port_locked = "PORT_UNUSED",
129 | altpll_component.port_pfdena = "PORT_UNUSED",
130 | altpll_component.port_phasecounterselect = "PORT_UNUSED",
131 | altpll_component.port_phasedone = "PORT_UNUSED",
132 | altpll_component.port_phasestep = "PORT_UNUSED",
133 | altpll_component.port_phaseupdown = "PORT_UNUSED",
134 | altpll_component.port_pllena = "PORT_UNUSED",
135 | altpll_component.port_scanaclr = "PORT_UNUSED",
136 | altpll_component.port_scanclk = "PORT_UNUSED",
137 | altpll_component.port_scanclkena = "PORT_UNUSED",
138 | altpll_component.port_scandata = "PORT_UNUSED",
139 | altpll_component.port_scandataout = "PORT_UNUSED",
140 | altpll_component.port_scandone = "PORT_UNUSED",
141 | altpll_component.port_scanread = "PORT_UNUSED",
142 | altpll_component.port_scanwrite = "PORT_UNUSED",
143 | altpll_component.port_clk0 = "PORT_USED",
144 | altpll_component.port_clk1 = "PORT_USED",
145 | altpll_component.port_clk2 = "PORT_USED",
146 | altpll_component.port_clk3 = "PORT_UNUSED",
147 | altpll_component.port_clk4 = "PORT_UNUSED",
148 | altpll_component.port_clk5 = "PORT_UNUSED",
149 | altpll_component.port_clkena0 = "PORT_UNUSED",
150 | altpll_component.port_clkena1 = "PORT_UNUSED",
151 | altpll_component.port_clkena2 = "PORT_UNUSED",
152 | altpll_component.port_clkena3 = "PORT_UNUSED",
153 | altpll_component.port_clkena4 = "PORT_UNUSED",
154 | altpll_component.port_clkena5 = "PORT_UNUSED",
155 | altpll_component.port_extclk0 = "PORT_UNUSED",
156 | altpll_component.port_extclk1 = "PORT_UNUSED",
157 | altpll_component.port_extclk2 = "PORT_UNUSED",
158 | altpll_component.port_extclk3 = "PORT_UNUSED";
159 |
160 |
161 | endmodule
162 |
163 | // ============================================================
164 | // CNX file retrieval info
165 | // ============================================================
166 | // Retrieval info: PRIVATE: ACTIVECLK_CHECK STRING "0"
167 | // Retrieval info: PRIVATE: BANDWIDTH STRING "1.000"
168 | // Retrieval info: PRIVATE: BANDWIDTH_FEATURE_ENABLED STRING "0"
169 | // Retrieval info: PRIVATE: BANDWIDTH_FREQ_UNIT STRING "MHz"
170 | // Retrieval info: PRIVATE: BANDWIDTH_PRESET STRING "Low"
171 | // Retrieval info: PRIVATE: BANDWIDTH_USE_AUTO STRING "1"
172 | // Retrieval info: PRIVATE: BANDWIDTH_USE_CUSTOM STRING "0"
173 | // Retrieval info: PRIVATE: BANDWIDTH_USE_PRESET STRING "0"
174 | // Retrieval info: PRIVATE: CLKBAD_SWITCHOVER_CHECK STRING "0"
175 | // Retrieval info: PRIVATE: CLKLOSS_CHECK STRING "0"
176 | // Retrieval info: PRIVATE: CLKSWITCH_CHECK STRING "1"
177 | // Retrieval info: PRIVATE: CNX_NO_COMPENSATE_RADIO STRING "0"
178 | // Retrieval info: PRIVATE: CREATE_CLKBAD_CHECK STRING "0"
179 | // Retrieval info: PRIVATE: CREATE_INCLK1_CHECK STRING "0"
180 | // Retrieval info: PRIVATE: CUR_DEDICATED_CLK STRING "c0"
181 | // Retrieval info: PRIVATE: CUR_FBIN_CLK STRING "c0"
182 | // Retrieval info: PRIVATE: DEVICE_SPEED_GRADE STRING "Any"
183 | // Retrieval info: PRIVATE: DIV_FACTOR0 NUMERIC "1"
184 | // Retrieval info: PRIVATE: DIV_FACTOR1 NUMERIC "1"
185 | // Retrieval info: PRIVATE: DIV_FACTOR2 NUMERIC "1"
186 | // Retrieval info: PRIVATE: DUTY_CYCLE0 STRING "50.00000000"
187 | // Retrieval info: PRIVATE: DUTY_CYCLE1 STRING "50.00000000"
188 | // Retrieval info: PRIVATE: DUTY_CYCLE2 STRING "50.00000000"
189 | // Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE0 STRING "27.000000"
190 | // Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE1 STRING "135.000000"
191 | // Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE2 STRING "135.000000"
192 | // Retrieval info: PRIVATE: EXPLICIT_SWITCHOVER_COUNTER STRING "0"
193 | // Retrieval info: PRIVATE: EXT_FEEDBACK_RADIO STRING "0"
194 | // Retrieval info: PRIVATE: GLOCKED_COUNTER_EDIT_CHANGED STRING "1"
195 | // Retrieval info: PRIVATE: GLOCKED_FEATURE_ENABLED STRING "1"
196 | // Retrieval info: PRIVATE: GLOCKED_MODE_CHECK STRING "0"
197 | // Retrieval info: PRIVATE: GLOCK_COUNTER_EDIT NUMERIC "1048575"
198 | // Retrieval info: PRIVATE: HAS_MANUAL_SWITCHOVER STRING "1"
199 | // Retrieval info: PRIVATE: INCLK0_FREQ_EDIT STRING "50.000"
200 | // Retrieval info: PRIVATE: INCLK0_FREQ_UNIT_COMBO STRING "MHz"
201 | // Retrieval info: PRIVATE: INCLK1_FREQ_EDIT STRING "100.000"
202 | // Retrieval info: PRIVATE: INCLK1_FREQ_EDIT_CHANGED STRING "1"
203 | // Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_CHANGED STRING "1"
204 | // Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_COMBO STRING "MHz"
205 | // Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Cyclone II"
206 | // Retrieval info: PRIVATE: INT_FEEDBACK__MODE_RADIO STRING "1"
207 | // Retrieval info: PRIVATE: LOCKED_OUTPUT_CHECK STRING "0"
208 | // Retrieval info: PRIVATE: LONG_SCAN_RADIO STRING "1"
209 | // Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE STRING "Not Available"
210 | // Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE_DIRTY NUMERIC "0"
211 | // Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT0 STRING "deg"
212 | // Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT1 STRING "ps"
213 | // Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT2 STRING "ps"
214 | // Retrieval info: PRIVATE: MIG_DEVICE_SPEED_GRADE STRING "Any"
215 | // Retrieval info: PRIVATE: MIRROR_CLK0 STRING "0"
216 | // Retrieval info: PRIVATE: MIRROR_CLK1 STRING "0"
217 | // Retrieval info: PRIVATE: MIRROR_CLK2 STRING "0"
218 | // Retrieval info: PRIVATE: MULT_FACTOR0 NUMERIC "1"
219 | // Retrieval info: PRIVATE: MULT_FACTOR1 NUMERIC "1"
220 | // Retrieval info: PRIVATE: MULT_FACTOR2 NUMERIC "1"
221 | // Retrieval info: PRIVATE: NORMAL_MODE_RADIO STRING "1"
222 | // Retrieval info: PRIVATE: OUTPUT_FREQ0 STRING "27.00000000"
223 | // Retrieval info: PRIVATE: OUTPUT_FREQ1 STRING "135.00000000"
224 | // Retrieval info: PRIVATE: OUTPUT_FREQ2 STRING "135.00000000"
225 | // Retrieval info: PRIVATE: OUTPUT_FREQ_MODE0 STRING "1"
226 | // Retrieval info: PRIVATE: OUTPUT_FREQ_MODE1 STRING "1"
227 | // Retrieval info: PRIVATE: OUTPUT_FREQ_MODE2 STRING "1"
228 | // Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT0 STRING "MHz"
229 | // Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT1 STRING "MHz"
230 | // Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT2 STRING "MHz"
231 | // Retrieval info: PRIVATE: PHASE_RECONFIG_FEATURE_ENABLED STRING "0"
232 | // Retrieval info: PRIVATE: PHASE_RECONFIG_INPUTS_CHECK STRING "0"
233 | // Retrieval info: PRIVATE: PHASE_SHIFT0 STRING "0.00000000"
234 | // Retrieval info: PRIVATE: PHASE_SHIFT1 STRING "0.00000000"
235 | // Retrieval info: PRIVATE: PHASE_SHIFT2 STRING "90.00000000"
236 | // Retrieval info: PRIVATE: PHASE_SHIFT_STEP_ENABLED_CHECK STRING "0"
237 | // Retrieval info: PRIVATE: PHASE_SHIFT_UNIT0 STRING "deg"
238 | // Retrieval info: PRIVATE: PHASE_SHIFT_UNIT1 STRING "deg"
239 | // Retrieval info: PRIVATE: PHASE_SHIFT_UNIT2 STRING "deg"
240 | // Retrieval info: PRIVATE: PLL_ADVANCED_PARAM_CHECK STRING "0"
241 | // Retrieval info: PRIVATE: PLL_ARESET_CHECK STRING "0"
242 | // Retrieval info: PRIVATE: PLL_AUTOPLL_CHECK NUMERIC "1"
243 | // Retrieval info: PRIVATE: PLL_ENA_CHECK STRING "0"
244 | // Retrieval info: PRIVATE: PLL_ENHPLL_CHECK NUMERIC "0"
245 | // Retrieval info: PRIVATE: PLL_FASTPLL_CHECK NUMERIC "0"
246 | // Retrieval info: PRIVATE: PLL_FBMIMIC_CHECK STRING "0"
247 | // Retrieval info: PRIVATE: PLL_LVDS_PLL_CHECK NUMERIC "0"
248 | // Retrieval info: PRIVATE: PLL_PFDENA_CHECK STRING "0"
249 | // Retrieval info: PRIVATE: PLL_TARGET_HARCOPY_CHECK NUMERIC "0"
250 | // Retrieval info: PRIVATE: PRIMARY_CLK_COMBO STRING "inclk0"
251 | // Retrieval info: PRIVATE: RECONFIG_FILE STRING "altpll_masterclk.mif"
252 | // Retrieval info: PRIVATE: SACN_INPUTS_CHECK STRING "0"
253 | // Retrieval info: PRIVATE: SCAN_FEATURE_ENABLED STRING "0"
254 | // Retrieval info: PRIVATE: SELF_RESET_LOCK_LOSS STRING "0"
255 | // Retrieval info: PRIVATE: SHORT_SCAN_RADIO STRING "0"
256 | // Retrieval info: PRIVATE: SPREAD_FEATURE_ENABLED STRING "0"
257 | // Retrieval info: PRIVATE: SPREAD_FREQ STRING "50.000"
258 | // Retrieval info: PRIVATE: SPREAD_FREQ_UNIT STRING "KHz"
259 | // Retrieval info: PRIVATE: SPREAD_PERCENT STRING "0.500"
260 | // Retrieval info: PRIVATE: SPREAD_USE STRING "0"
261 | // Retrieval info: PRIVATE: SRC_SYNCH_COMP_RADIO STRING "0"
262 | // Retrieval info: PRIVATE: STICKY_CLK0 STRING "1"
263 | // Retrieval info: PRIVATE: STICKY_CLK1 STRING "1"
264 | // Retrieval info: PRIVATE: STICKY_CLK2 STRING "1"
265 | // Retrieval info: PRIVATE: SWITCHOVER_COUNT_EDIT NUMERIC "1"
266 | // Retrieval info: PRIVATE: SWITCHOVER_FEATURE_ENABLED STRING "1"
267 | // Retrieval info: PRIVATE: SYNTH_WRAPPER_GEN_POSTFIX STRING "0"
268 | // Retrieval info: PRIVATE: USE_CLK0 STRING "1"
269 | // Retrieval info: PRIVATE: USE_CLK1 STRING "1"
270 | // Retrieval info: PRIVATE: USE_CLK2 STRING "1"
271 | // Retrieval info: PRIVATE: USE_CLKENA0 STRING "0"
272 | // Retrieval info: PRIVATE: USE_CLKENA1 STRING "0"
273 | // Retrieval info: PRIVATE: USE_CLKENA2 STRING "0"
274 | // Retrieval info: PRIVATE: USE_MIL_SPEED_GRADE NUMERIC "0"
275 | // Retrieval info: PRIVATE: ZERO_DELAY_RADIO STRING "0"
276 | // Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all
277 | // Retrieval info: CONSTANT: CLK0_DIVIDE_BY NUMERIC "50"
278 | // Retrieval info: CONSTANT: CLK0_DUTY_CYCLE NUMERIC "50"
279 | // Retrieval info: CONSTANT: CLK0_MULTIPLY_BY NUMERIC "27"
280 | // Retrieval info: CONSTANT: CLK0_PHASE_SHIFT STRING "0"
281 | // Retrieval info: CONSTANT: CLK1_DIVIDE_BY NUMERIC "10"
282 | // Retrieval info: CONSTANT: CLK1_DUTY_CYCLE NUMERIC "50"
283 | // Retrieval info: CONSTANT: CLK1_MULTIPLY_BY NUMERIC "27"
284 | // Retrieval info: CONSTANT: CLK1_PHASE_SHIFT STRING "0"
285 | // Retrieval info: CONSTANT: CLK2_DIVIDE_BY NUMERIC "10"
286 | // Retrieval info: CONSTANT: CLK2_DUTY_CYCLE NUMERIC "50"
287 | // Retrieval info: CONSTANT: CLK2_MULTIPLY_BY NUMERIC "27"
288 | // Retrieval info: CONSTANT: CLK2_PHASE_SHIFT STRING "1852"
289 | // Retrieval info: CONSTANT: COMPENSATE_CLOCK STRING "CLK0"
290 | // Retrieval info: CONSTANT: INCLK0_INPUT_FREQUENCY NUMERIC "20000"
291 | // Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Cyclone II"
292 | // Retrieval info: CONSTANT: LPM_TYPE STRING "altpll"
293 | // Retrieval info: CONSTANT: OPERATION_MODE STRING "NORMAL"
294 | // Retrieval info: CONSTANT: PORT_ACTIVECLOCK STRING "PORT_UNUSED"
295 | // Retrieval info: CONSTANT: PORT_ARESET STRING "PORT_UNUSED"
296 | // Retrieval info: CONSTANT: PORT_CLKBAD0 STRING "PORT_UNUSED"
297 | // Retrieval info: CONSTANT: PORT_CLKBAD1 STRING "PORT_UNUSED"
298 | // Retrieval info: CONSTANT: PORT_CLKLOSS STRING "PORT_UNUSED"
299 | // Retrieval info: CONSTANT: PORT_CLKSWITCH STRING "PORT_UNUSED"
300 | // Retrieval info: CONSTANT: PORT_CONFIGUPDATE STRING "PORT_UNUSED"
301 | // Retrieval info: CONSTANT: PORT_FBIN STRING "PORT_UNUSED"
302 | // Retrieval info: CONSTANT: PORT_INCLK0 STRING "PORT_USED"
303 | // Retrieval info: CONSTANT: PORT_INCLK1 STRING "PORT_UNUSED"
304 | // Retrieval info: CONSTANT: PORT_LOCKED STRING "PORT_UNUSED"
305 | // Retrieval info: CONSTANT: PORT_PFDENA STRING "PORT_UNUSED"
306 | // Retrieval info: CONSTANT: PORT_PHASECOUNTERSELECT STRING "PORT_UNUSED"
307 | // Retrieval info: CONSTANT: PORT_PHASEDONE STRING "PORT_UNUSED"
308 | // Retrieval info: CONSTANT: PORT_PHASESTEP STRING "PORT_UNUSED"
309 | // Retrieval info: CONSTANT: PORT_PHASEUPDOWN STRING "PORT_UNUSED"
310 | // Retrieval info: CONSTANT: PORT_PLLENA STRING "PORT_UNUSED"
311 | // Retrieval info: CONSTANT: PORT_SCANACLR STRING "PORT_UNUSED"
312 | // Retrieval info: CONSTANT: PORT_SCANCLK STRING "PORT_UNUSED"
313 | // Retrieval info: CONSTANT: PORT_SCANCLKENA STRING "PORT_UNUSED"
314 | // Retrieval info: CONSTANT: PORT_SCANDATA STRING "PORT_UNUSED"
315 | // Retrieval info: CONSTANT: PORT_SCANDATAOUT STRING "PORT_UNUSED"
316 | // Retrieval info: CONSTANT: PORT_SCANDONE STRING "PORT_UNUSED"
317 | // Retrieval info: CONSTANT: PORT_SCANREAD STRING "PORT_UNUSED"
318 | // Retrieval info: CONSTANT: PORT_SCANWRITE STRING "PORT_UNUSED"
319 | // Retrieval info: CONSTANT: PORT_clk0 STRING "PORT_USED"
320 | // Retrieval info: CONSTANT: PORT_clk1 STRING "PORT_USED"
321 | // Retrieval info: CONSTANT: PORT_clk2 STRING "PORT_USED"
322 | // Retrieval info: CONSTANT: PORT_clk3 STRING "PORT_UNUSED"
323 | // Retrieval info: CONSTANT: PORT_clk4 STRING "PORT_UNUSED"
324 | // Retrieval info: CONSTANT: PORT_clk5 STRING "PORT_UNUSED"
325 | // Retrieval info: CONSTANT: PORT_clkena0 STRING "PORT_UNUSED"
326 | // Retrieval info: CONSTANT: PORT_clkena1 STRING "PORT_UNUSED"
327 | // Retrieval info: CONSTANT: PORT_clkena2 STRING "PORT_UNUSED"
328 | // Retrieval info: CONSTANT: PORT_clkena3 STRING "PORT_UNUSED"
329 | // Retrieval info: CONSTANT: PORT_clkena4 STRING "PORT_UNUSED"
330 | // Retrieval info: CONSTANT: PORT_clkena5 STRING "PORT_UNUSED"
331 | // Retrieval info: CONSTANT: PORT_extclk0 STRING "PORT_UNUSED"
332 | // Retrieval info: CONSTANT: PORT_extclk1 STRING "PORT_UNUSED"
333 | // Retrieval info: CONSTANT: PORT_extclk2 STRING "PORT_UNUSED"
334 | // Retrieval info: CONSTANT: PORT_extclk3 STRING "PORT_UNUSED"
335 | // Retrieval info: USED_PORT: @clk 0 0 6 0 OUTPUT_CLK_EXT VCC "@clk[5..0]"
336 | // Retrieval info: USED_PORT: @extclk 0 0 4 0 OUTPUT_CLK_EXT VCC "@extclk[3..0]"
337 | // Retrieval info: USED_PORT: c0 0 0 0 0 OUTPUT_CLK_EXT VCC "c0"
338 | // Retrieval info: USED_PORT: c1 0 0 0 0 OUTPUT_CLK_EXT VCC "c1"
339 | // Retrieval info: USED_PORT: c2 0 0 0 0 OUTPUT_CLK_EXT VCC "c2"
340 | // Retrieval info: USED_PORT: inclk0 0 0 0 0 INPUT_CLK_EXT GND "inclk0"
341 | // Retrieval info: CONNECT: @inclk 0 0 1 1 GND 0 0 0 0
342 | // Retrieval info: CONNECT: @inclk 0 0 1 0 inclk0 0 0 0 0
343 | // Retrieval info: CONNECT: c0 0 0 0 0 @clk 0 0 1 0
344 | // Retrieval info: CONNECT: c1 0 0 0 0 @clk 0 0 1 1
345 | // Retrieval info: CONNECT: c2 0 0 0 0 @clk 0 0 1 2
346 | // Retrieval info: GEN_FILE: TYPE_NORMAL altpll_masterclk.v TRUE
347 | // Retrieval info: GEN_FILE: TYPE_NORMAL altpll_masterclk.ppf TRUE
348 | // Retrieval info: GEN_FILE: TYPE_NORMAL altpll_masterclk.inc FALSE
349 | // Retrieval info: GEN_FILE: TYPE_NORMAL altpll_masterclk.cmp FALSE
350 | // Retrieval info: GEN_FILE: TYPE_NORMAL altpll_masterclk.bsf TRUE
351 | // Retrieval info: GEN_FILE: TYPE_NORMAL altpll_masterclk_inst.v FALSE
352 | // Retrieval info: GEN_FILE: TYPE_NORMAL altpll_masterclk_bb.v TRUE
353 | // Retrieval info: LIB_FILE: altera_mf
354 | // Retrieval info: CBX_MODULE_PREFIX: ON
355 |
--------------------------------------------------------------------------------
/altera/13.0sp1/altpll_masterclk_bb.v:
--------------------------------------------------------------------------------
1 | // megafunction wizard: %ALTPLL%VBB%
2 | // GENERATION: STANDARD
3 | // VERSION: WM1.0
4 | // MODULE: altpll
5 |
6 | // ============================================================
7 | // File Name: altpll_masterclk.v
8 | // Megafunction Name(s):
9 | // altpll
10 | //
11 | // Simulation Library Files(s):
12 | // altera_mf
13 | // ============================================================
14 | // ************************************************************
15 | // THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE!
16 | //
17 | // 13.0.1 Build 232 06/12/2013 SP 1 SJ Web Edition
18 | // ************************************************************
19 |
20 | //Copyright (C) 1991-2013 Altera Corporation
21 | //Your use of Altera Corporation's design tools, logic functions
22 | //and other software and tools, and its AMPP partner logic
23 | //functions, and any output files from any of the foregoing
24 | //(including device programming or simulation files), and any
25 | //associated documentation or information are expressly subject
26 | //to the terms and conditions of the Altera Program License
27 | //Subscription Agreement, Altera MegaCore Function License
28 | //Agreement, or other applicable license agreement, including,
29 | //without limitation, that your use is for the sole purpose of
30 | //programming logic devices manufactured by Altera and sold by
31 | //Altera or its authorized distributors. Please refer to the
32 | //applicable agreement for further details.
33 |
34 | module altpll_masterclk (
35 | inclk0,
36 | c0,
37 | c1,
38 | c2);
39 |
40 | input inclk0;
41 | output c0;
42 | output c1;
43 | output c2;
44 |
45 | endmodule
46 |
47 | // ============================================================
48 | // CNX file retrieval info
49 | // ============================================================
50 | // Retrieval info: PRIVATE: ACTIVECLK_CHECK STRING "0"
51 | // Retrieval info: PRIVATE: BANDWIDTH STRING "1.000"
52 | // Retrieval info: PRIVATE: BANDWIDTH_FEATURE_ENABLED STRING "0"
53 | // Retrieval info: PRIVATE: BANDWIDTH_FREQ_UNIT STRING "MHz"
54 | // Retrieval info: PRIVATE: BANDWIDTH_PRESET STRING "Low"
55 | // Retrieval info: PRIVATE: BANDWIDTH_USE_AUTO STRING "1"
56 | // Retrieval info: PRIVATE: BANDWIDTH_USE_CUSTOM STRING "0"
57 | // Retrieval info: PRIVATE: BANDWIDTH_USE_PRESET STRING "0"
58 | // Retrieval info: PRIVATE: CLKBAD_SWITCHOVER_CHECK STRING "0"
59 | // Retrieval info: PRIVATE: CLKLOSS_CHECK STRING "0"
60 | // Retrieval info: PRIVATE: CLKSWITCH_CHECK STRING "1"
61 | // Retrieval info: PRIVATE: CNX_NO_COMPENSATE_RADIO STRING "0"
62 | // Retrieval info: PRIVATE: CREATE_CLKBAD_CHECK STRING "0"
63 | // Retrieval info: PRIVATE: CREATE_INCLK1_CHECK STRING "0"
64 | // Retrieval info: PRIVATE: CUR_DEDICATED_CLK STRING "c0"
65 | // Retrieval info: PRIVATE: CUR_FBIN_CLK STRING "c0"
66 | // Retrieval info: PRIVATE: DEVICE_SPEED_GRADE STRING "Any"
67 | // Retrieval info: PRIVATE: DIV_FACTOR0 NUMERIC "1"
68 | // Retrieval info: PRIVATE: DIV_FACTOR1 NUMERIC "1"
69 | // Retrieval info: PRIVATE: DIV_FACTOR2 NUMERIC "1"
70 | // Retrieval info: PRIVATE: DUTY_CYCLE0 STRING "50.00000000"
71 | // Retrieval info: PRIVATE: DUTY_CYCLE1 STRING "50.00000000"
72 | // Retrieval info: PRIVATE: DUTY_CYCLE2 STRING "50.00000000"
73 | // Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE0 STRING "27.000000"
74 | // Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE1 STRING "135.000000"
75 | // Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE2 STRING "135.000000"
76 | // Retrieval info: PRIVATE: EXPLICIT_SWITCHOVER_COUNTER STRING "0"
77 | // Retrieval info: PRIVATE: EXT_FEEDBACK_RADIO STRING "0"
78 | // Retrieval info: PRIVATE: GLOCKED_COUNTER_EDIT_CHANGED STRING "1"
79 | // Retrieval info: PRIVATE: GLOCKED_FEATURE_ENABLED STRING "1"
80 | // Retrieval info: PRIVATE: GLOCKED_MODE_CHECK STRING "0"
81 | // Retrieval info: PRIVATE: GLOCK_COUNTER_EDIT NUMERIC "1048575"
82 | // Retrieval info: PRIVATE: HAS_MANUAL_SWITCHOVER STRING "1"
83 | // Retrieval info: PRIVATE: INCLK0_FREQ_EDIT STRING "50.000"
84 | // Retrieval info: PRIVATE: INCLK0_FREQ_UNIT_COMBO STRING "MHz"
85 | // Retrieval info: PRIVATE: INCLK1_FREQ_EDIT STRING "100.000"
86 | // Retrieval info: PRIVATE: INCLK1_FREQ_EDIT_CHANGED STRING "1"
87 | // Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_CHANGED STRING "1"
88 | // Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_COMBO STRING "MHz"
89 | // Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Cyclone II"
90 | // Retrieval info: PRIVATE: INT_FEEDBACK__MODE_RADIO STRING "1"
91 | // Retrieval info: PRIVATE: LOCKED_OUTPUT_CHECK STRING "0"
92 | // Retrieval info: PRIVATE: LONG_SCAN_RADIO STRING "1"
93 | // Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE STRING "Not Available"
94 | // Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE_DIRTY NUMERIC "0"
95 | // Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT0 STRING "deg"
96 | // Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT1 STRING "ps"
97 | // Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT2 STRING "ps"
98 | // Retrieval info: PRIVATE: MIG_DEVICE_SPEED_GRADE STRING "Any"
99 | // Retrieval info: PRIVATE: MIRROR_CLK0 STRING "0"
100 | // Retrieval info: PRIVATE: MIRROR_CLK1 STRING "0"
101 | // Retrieval info: PRIVATE: MIRROR_CLK2 STRING "0"
102 | // Retrieval info: PRIVATE: MULT_FACTOR0 NUMERIC "1"
103 | // Retrieval info: PRIVATE: MULT_FACTOR1 NUMERIC "1"
104 | // Retrieval info: PRIVATE: MULT_FACTOR2 NUMERIC "1"
105 | // Retrieval info: PRIVATE: NORMAL_MODE_RADIO STRING "1"
106 | // Retrieval info: PRIVATE: OUTPUT_FREQ0 STRING "27.00000000"
107 | // Retrieval info: PRIVATE: OUTPUT_FREQ1 STRING "135.00000000"
108 | // Retrieval info: PRIVATE: OUTPUT_FREQ2 STRING "135.00000000"
109 | // Retrieval info: PRIVATE: OUTPUT_FREQ_MODE0 STRING "1"
110 | // Retrieval info: PRIVATE: OUTPUT_FREQ_MODE1 STRING "1"
111 | // Retrieval info: PRIVATE: OUTPUT_FREQ_MODE2 STRING "1"
112 | // Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT0 STRING "MHz"
113 | // Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT1 STRING "MHz"
114 | // Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT2 STRING "MHz"
115 | // Retrieval info: PRIVATE: PHASE_RECONFIG_FEATURE_ENABLED STRING "0"
116 | // Retrieval info: PRIVATE: PHASE_RECONFIG_INPUTS_CHECK STRING "0"
117 | // Retrieval info: PRIVATE: PHASE_SHIFT0 STRING "0.00000000"
118 | // Retrieval info: PRIVATE: PHASE_SHIFT1 STRING "0.00000000"
119 | // Retrieval info: PRIVATE: PHASE_SHIFT2 STRING "90.00000000"
120 | // Retrieval info: PRIVATE: PHASE_SHIFT_STEP_ENABLED_CHECK STRING "0"
121 | // Retrieval info: PRIVATE: PHASE_SHIFT_UNIT0 STRING "deg"
122 | // Retrieval info: PRIVATE: PHASE_SHIFT_UNIT1 STRING "deg"
123 | // Retrieval info: PRIVATE: PHASE_SHIFT_UNIT2 STRING "deg"
124 | // Retrieval info: PRIVATE: PLL_ADVANCED_PARAM_CHECK STRING "0"
125 | // Retrieval info: PRIVATE: PLL_ARESET_CHECK STRING "0"
126 | // Retrieval info: PRIVATE: PLL_AUTOPLL_CHECK NUMERIC "1"
127 | // Retrieval info: PRIVATE: PLL_ENA_CHECK STRING "0"
128 | // Retrieval info: PRIVATE: PLL_ENHPLL_CHECK NUMERIC "0"
129 | // Retrieval info: PRIVATE: PLL_FASTPLL_CHECK NUMERIC "0"
130 | // Retrieval info: PRIVATE: PLL_FBMIMIC_CHECK STRING "0"
131 | // Retrieval info: PRIVATE: PLL_LVDS_PLL_CHECK NUMERIC "0"
132 | // Retrieval info: PRIVATE: PLL_PFDENA_CHECK STRING "0"
133 | // Retrieval info: PRIVATE: PLL_TARGET_HARCOPY_CHECK NUMERIC "0"
134 | // Retrieval info: PRIVATE: PRIMARY_CLK_COMBO STRING "inclk0"
135 | // Retrieval info: PRIVATE: RECONFIG_FILE STRING "altpll_masterclk.mif"
136 | // Retrieval info: PRIVATE: SACN_INPUTS_CHECK STRING "0"
137 | // Retrieval info: PRIVATE: SCAN_FEATURE_ENABLED STRING "0"
138 | // Retrieval info: PRIVATE: SELF_RESET_LOCK_LOSS STRING "0"
139 | // Retrieval info: PRIVATE: SHORT_SCAN_RADIO STRING "0"
140 | // Retrieval info: PRIVATE: SPREAD_FEATURE_ENABLED STRING "0"
141 | // Retrieval info: PRIVATE: SPREAD_FREQ STRING "50.000"
142 | // Retrieval info: PRIVATE: SPREAD_FREQ_UNIT STRING "KHz"
143 | // Retrieval info: PRIVATE: SPREAD_PERCENT STRING "0.500"
144 | // Retrieval info: PRIVATE: SPREAD_USE STRING "0"
145 | // Retrieval info: PRIVATE: SRC_SYNCH_COMP_RADIO STRING "0"
146 | // Retrieval info: PRIVATE: STICKY_CLK0 STRING "1"
147 | // Retrieval info: PRIVATE: STICKY_CLK1 STRING "1"
148 | // Retrieval info: PRIVATE: STICKY_CLK2 STRING "1"
149 | // Retrieval info: PRIVATE: SWITCHOVER_COUNT_EDIT NUMERIC "1"
150 | // Retrieval info: PRIVATE: SWITCHOVER_FEATURE_ENABLED STRING "1"
151 | // Retrieval info: PRIVATE: SYNTH_WRAPPER_GEN_POSTFIX STRING "0"
152 | // Retrieval info: PRIVATE: USE_CLK0 STRING "1"
153 | // Retrieval info: PRIVATE: USE_CLK1 STRING "1"
154 | // Retrieval info: PRIVATE: USE_CLK2 STRING "1"
155 | // Retrieval info: PRIVATE: USE_CLKENA0 STRING "0"
156 | // Retrieval info: PRIVATE: USE_CLKENA1 STRING "0"
157 | // Retrieval info: PRIVATE: USE_CLKENA2 STRING "0"
158 | // Retrieval info: PRIVATE: USE_MIL_SPEED_GRADE NUMERIC "0"
159 | // Retrieval info: PRIVATE: ZERO_DELAY_RADIO STRING "0"
160 | // Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all
161 | // Retrieval info: CONSTANT: CLK0_DIVIDE_BY NUMERIC "50"
162 | // Retrieval info: CONSTANT: CLK0_DUTY_CYCLE NUMERIC "50"
163 | // Retrieval info: CONSTANT: CLK0_MULTIPLY_BY NUMERIC "27"
164 | // Retrieval info: CONSTANT: CLK0_PHASE_SHIFT STRING "0"
165 | // Retrieval info: CONSTANT: CLK1_DIVIDE_BY NUMERIC "10"
166 | // Retrieval info: CONSTANT: CLK1_DUTY_CYCLE NUMERIC "50"
167 | // Retrieval info: CONSTANT: CLK1_MULTIPLY_BY NUMERIC "27"
168 | // Retrieval info: CONSTANT: CLK1_PHASE_SHIFT STRING "0"
169 | // Retrieval info: CONSTANT: CLK2_DIVIDE_BY NUMERIC "10"
170 | // Retrieval info: CONSTANT: CLK2_DUTY_CYCLE NUMERIC "50"
171 | // Retrieval info: CONSTANT: CLK2_MULTIPLY_BY NUMERIC "27"
172 | // Retrieval info: CONSTANT: CLK2_PHASE_SHIFT STRING "1852"
173 | // Retrieval info: CONSTANT: COMPENSATE_CLOCK STRING "CLK0"
174 | // Retrieval info: CONSTANT: INCLK0_INPUT_FREQUENCY NUMERIC "20000"
175 | // Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Cyclone II"
176 | // Retrieval info: CONSTANT: LPM_TYPE STRING "altpll"
177 | // Retrieval info: CONSTANT: OPERATION_MODE STRING "NORMAL"
178 | // Retrieval info: CONSTANT: PORT_ACTIVECLOCK STRING "PORT_UNUSED"
179 | // Retrieval info: CONSTANT: PORT_ARESET STRING "PORT_UNUSED"
180 | // Retrieval info: CONSTANT: PORT_CLKBAD0 STRING "PORT_UNUSED"
181 | // Retrieval info: CONSTANT: PORT_CLKBAD1 STRING "PORT_UNUSED"
182 | // Retrieval info: CONSTANT: PORT_CLKLOSS STRING "PORT_UNUSED"
183 | // Retrieval info: CONSTANT: PORT_CLKSWITCH STRING "PORT_UNUSED"
184 | // Retrieval info: CONSTANT: PORT_CONFIGUPDATE STRING "PORT_UNUSED"
185 | // Retrieval info: CONSTANT: PORT_FBIN STRING "PORT_UNUSED"
186 | // Retrieval info: CONSTANT: PORT_INCLK0 STRING "PORT_USED"
187 | // Retrieval info: CONSTANT: PORT_INCLK1 STRING "PORT_UNUSED"
188 | // Retrieval info: CONSTANT: PORT_LOCKED STRING "PORT_UNUSED"
189 | // Retrieval info: CONSTANT: PORT_PFDENA STRING "PORT_UNUSED"
190 | // Retrieval info: CONSTANT: PORT_PHASECOUNTERSELECT STRING "PORT_UNUSED"
191 | // Retrieval info: CONSTANT: PORT_PHASEDONE STRING "PORT_UNUSED"
192 | // Retrieval info: CONSTANT: PORT_PHASESTEP STRING "PORT_UNUSED"
193 | // Retrieval info: CONSTANT: PORT_PHASEUPDOWN STRING "PORT_UNUSED"
194 | // Retrieval info: CONSTANT: PORT_PLLENA STRING "PORT_UNUSED"
195 | // Retrieval info: CONSTANT: PORT_SCANACLR STRING "PORT_UNUSED"
196 | // Retrieval info: CONSTANT: PORT_SCANCLK STRING "PORT_UNUSED"
197 | // Retrieval info: CONSTANT: PORT_SCANCLKENA STRING "PORT_UNUSED"
198 | // Retrieval info: CONSTANT: PORT_SCANDATA STRING "PORT_UNUSED"
199 | // Retrieval info: CONSTANT: PORT_SCANDATAOUT STRING "PORT_UNUSED"
200 | // Retrieval info: CONSTANT: PORT_SCANDONE STRING "PORT_UNUSED"
201 | // Retrieval info: CONSTANT: PORT_SCANREAD STRING "PORT_UNUSED"
202 | // Retrieval info: CONSTANT: PORT_SCANWRITE STRING "PORT_UNUSED"
203 | // Retrieval info: CONSTANT: PORT_clk0 STRING "PORT_USED"
204 | // Retrieval info: CONSTANT: PORT_clk1 STRING "PORT_USED"
205 | // Retrieval info: CONSTANT: PORT_clk2 STRING "PORT_USED"
206 | // Retrieval info: CONSTANT: PORT_clk3 STRING "PORT_UNUSED"
207 | // Retrieval info: CONSTANT: PORT_clk4 STRING "PORT_UNUSED"
208 | // Retrieval info: CONSTANT: PORT_clk5 STRING "PORT_UNUSED"
209 | // Retrieval info: CONSTANT: PORT_clkena0 STRING "PORT_UNUSED"
210 | // Retrieval info: CONSTANT: PORT_clkena1 STRING "PORT_UNUSED"
211 | // Retrieval info: CONSTANT: PORT_clkena2 STRING "PORT_UNUSED"
212 | // Retrieval info: CONSTANT: PORT_clkena3 STRING "PORT_UNUSED"
213 | // Retrieval info: CONSTANT: PORT_clkena4 STRING "PORT_UNUSED"
214 | // Retrieval info: CONSTANT: PORT_clkena5 STRING "PORT_UNUSED"
215 | // Retrieval info: CONSTANT: PORT_extclk0 STRING "PORT_UNUSED"
216 | // Retrieval info: CONSTANT: PORT_extclk1 STRING "PORT_UNUSED"
217 | // Retrieval info: CONSTANT: PORT_extclk2 STRING "PORT_UNUSED"
218 | // Retrieval info: CONSTANT: PORT_extclk3 STRING "PORT_UNUSED"
219 | // Retrieval info: USED_PORT: @clk 0 0 6 0 OUTPUT_CLK_EXT VCC "@clk[5..0]"
220 | // Retrieval info: USED_PORT: @extclk 0 0 4 0 OUTPUT_CLK_EXT VCC "@extclk[3..0]"
221 | // Retrieval info: USED_PORT: c0 0 0 0 0 OUTPUT_CLK_EXT VCC "c0"
222 | // Retrieval info: USED_PORT: c1 0 0 0 0 OUTPUT_CLK_EXT VCC "c1"
223 | // Retrieval info: USED_PORT: c2 0 0 0 0 OUTPUT_CLK_EXT VCC "c2"
224 | // Retrieval info: USED_PORT: inclk0 0 0 0 0 INPUT_CLK_EXT GND "inclk0"
225 | // Retrieval info: CONNECT: @inclk 0 0 1 1 GND 0 0 0 0
226 | // Retrieval info: CONNECT: @inclk 0 0 1 0 inclk0 0 0 0 0
227 | // Retrieval info: CONNECT: c0 0 0 0 0 @clk 0 0 1 0
228 | // Retrieval info: CONNECT: c1 0 0 0 0 @clk 0 0 1 1
229 | // Retrieval info: CONNECT: c2 0 0 0 0 @clk 0 0 1 2
230 | // Retrieval info: GEN_FILE: TYPE_NORMAL altpll_masterclk.v TRUE
231 | // Retrieval info: GEN_FILE: TYPE_NORMAL altpll_masterclk.ppf TRUE
232 | // Retrieval info: GEN_FILE: TYPE_NORMAL altpll_masterclk.inc FALSE
233 | // Retrieval info: GEN_FILE: TYPE_NORMAL altpll_masterclk.cmp FALSE
234 | // Retrieval info: GEN_FILE: TYPE_NORMAL altpll_masterclk.bsf TRUE
235 | // Retrieval info: GEN_FILE: TYPE_NORMAL altpll_masterclk_inst.v FALSE
236 | // Retrieval info: GEN_FILE: TYPE_NORMAL altpll_masterclk_bb.v TRUE
237 | // Retrieval info: LIB_FILE: altera_mf
238 | // Retrieval info: CBX_MODULE_PREFIX: ON
239 |
--------------------------------------------------------------------------------
/altera/13.0sp1/font/logo.hex:
--------------------------------------------------------------------------------
1 | :0100000004FB
2 | :0100010000FE
3 | :0100020020DD
4 | :0100030004F8
5 | :0100040000FB
6 | :0100050020DA
7 | :010006000CED
8 | :0100070000F8
9 | :0100080030C7
10 | :01000900FCFA
11 | :01000A00FFF6
12 | :01000B003FB5
13 | :01000C007C77
14 | :01000D0000F2
15 | :01000E0030C1
16 | :01000F00FCF4
17 | :0100100000EF
18 | :0100110020CE
19 | :01001200FCF1
20 | :0100130001EB
21 | :0100140020CB
22 | :01001500F8F2
23 | :0100160003E6
24 | :0100170000E8
25 | :01001800F0F7
26 | :0100190007DF
27 | :01001A0000E5
28 | :01001B00E004
29 | :01001C001FC4
30 | :01001D0000E2
31 | :01001E00C021
32 | :01001F003FA1
33 | :0100200000DF
34 | :01002100805E
35 | :010022007F5E
36 | :0100230000DC
37 | :0100240000DB
38 | :01002500FEDC
39 | :0100260000D9
40 | :0100270000D8
41 | :01002800FCDB
42 | :0100290001D5
43 | :01002A0004D1
44 | :01002B00F8DC
45 | :01002C0003D0
46 | :01002D0004CE
47 | :01002E00F0E1
48 | :01002F000FC1
49 | :010030000CC3
50 | :01003100C00E
51 | :010032001FAE
52 | :01003300FCD0
53 | :01003400FFCC
54 | :010035003F8B
55 | :010036000CBD
56 | :0100370000C8
57 | :0100380000C7
58 | :0100390004C2
59 | :01003A0000C5
60 | :01003B0000C4
61 | :01003C0004BF
62 | :01003D0000C2
63 | :01003E0000C1
64 | :01003F0004BC
65 | :0100400000BF
66 | :01004100209E
67 | :010042000CB1
68 | :0100430000BC
69 | :01004400209B
70 | :01004500FCBE
71 | :01004600FFBA
72 | :010047003F79
73 | :01004800FCBB
74 | :01004900FFB7
75 | :01004A003F76
76 | :01004B00FCB8
77 | :01004C00FFB4
78 | :01004D003F73
79 | :01004E00FCB5
80 | :01004F00FFB1
81 | :010050003F70
82 | :010051000CA2
83 | :0100520008A5
84 | :01005300307C
85 | :010054000C9F
86 | :0100550008A2
87 | :010056002089
88 | :010057000C9C
89 | :01005800089F
90 | :010059002086
91 | :01005A000C99
92 | :01005B001C88
93 | :01005C002083
94 | :01005D000C96
95 | :01005E007E23
96 | :01005F002080
97 | :010060008C13
98 | :01006100FF9F
99 | :01006200217C
100 | :010063000C90
101 | :01006400009B
102 | :01006500207A
103 | :010066001C7D
104 | :010067000098
105 | :010068003067
106 | :010069003C5A
107 | :01006A000095
108 | :01006B00385C
109 | :01006C00FC97
110 | :01006D000092
111 | :01006E003C55
112 | :01006F000090
113 | :01007000008F
114 | :010071003E50
115 | :01007200008D
116 | :01007300008C
117 | :01007400008B
118 | :01007500008A
119 | :010076007E0B
120 | :010077000088
121 | :010078008007
122 | :01007900FF87
123 | :01007A000184
124 | :01007B00E0A4
125 | :01007C00FF84
126 | :01007D00077B
127 | :01007E00F091
128 | :01007F00FF81
129 | :010080000F70
130 | :01008100F08E
131 | :01008200FF7E
132 | :010083000F6D
133 | :01008400F883
134 | :01008500007A
135 | :010086001F5A
136 | :010087001860
137 | :010088000077
138 | :01008900185E
139 | :01008A000C69
140 | :01008B000074
141 | :01008C003043
142 | :01008D00046E
143 | :01008E000071
144 | :01008F002050
145 | :01009000046B
146 | :01009100006E
147 | :01009200204D
148 | :010093000468
149 | :01009400006B
150 | :01009500204A
151 | :010096000465
152 | :010097000068
153 | :010098002047
154 | :010099000462
155 | :01009A000065
156 | :01009B002044
157 | :01009C000C57
158 | :01009D000062
159 | :01009E003031
160 | :01009F001848
161 | :0100A000005F
162 | :0100A1001846
163 | :0100A20078E5
164 | :0100A300005C
165 | :0100A4001E3D
166 | :0100A500F06A
167 | :0100A600FF5A
168 | :0100A7000F49
169 | :0100A800F067
170 | :0100A900FF57
171 | :0100AA000F46
172 | :0100AB00E074
173 | :0100AC00FF54
174 | :0100AD00074B
175 | :0100AE0080D1
176 | :0100AF00FF51
177 | :0100B000014E
178 | :0100B100004E
179 | :0100B2007ECF
180 | :0100B300004C
181 | :0100B400004B
182 | :0100B500004A
183 | :0100B6000049
184 | :0100B7000048
185 | :0100B800380F
186 | :0100B9000046
187 | :0100BA000045
188 | :0100BB007CC8
189 | :0100BC000043
190 | :0100BD000042
191 | :0100BE007CC5
192 | :0100BF000040
193 | :0100C000003F
194 | :0100C1003806
195 | :0100C200003D
196 | :0100C300003C
197 | :0100C400003B
198 | :0100C500003A
199 | :0100C6000039
200 | :0100C7007EBA
201 | :0100C8000037
202 | :0100C90080B6
203 | :0100CA00FF36
204 | :0100CB000133
205 | :0100CC00C073
206 | :0100CD00FF33
207 | :0100CE00072A
208 | :0100CF00E050
209 | :0100D000FF30
210 | :0100D1000F1F
211 | :0100D200F03D
212 | :0100D300FF2D
213 | :0100D4000F1C
214 | :0100D500F832
215 | :0100D6000029
216 | :0100D7001F09
217 | :0100D80038EF
218 | :0100D9000026
219 | :0100DA00180D
220 | :0100DB000C18
221 | :0100DC000023
222 | :0100DD0030F2
223 | :0100DE000C15
224 | :0100DF000020
225 | :0100E00030EF
226 | :0100E100041A
227 | :0100E200001D
228 | :0100E30020FC
229 | :0100E4000417
230 | :0100E500001A
231 | :0100E60020F9
232 | :0100E7000414
233 | :0100E8000017
234 | :0100E90020F6
235 | :0100EA000411
236 | :0100EB0020F4
237 | :0100EC0020F3
238 | :0100ED00040E
239 | :0100EE0020F1
240 | :0100EF0020F0
241 | :0100F0000C03
242 | :0100F10060AE
243 | :0100F20020ED
244 | :0100F3000804
245 | :0100F400E02B
246 | :0100F5003FCB
247 | :0100F60018F1
248 | :0100F700E028
249 | :0100F8001FE8
250 | :0100F90038CE
251 | :0100FA00E025
252 | :0100FB001FE5
253 | :0100FC00F80B
254 | :0100FD00E022
255 | :0100FE001FE2
256 | :0100FF000000
257 | :01010000609E
258 | :0101010000FD
259 | :0101020000FC
260 | :0101030020DB
261 | :0101040000FA
262 | :0101050004F5
263 | :0101060020D8
264 | :0101070000F7
265 | :0101080004F2
266 | :0101090000F5
267 | :01010A0020D4
268 | :01010B000CE7
269 | :01010C0000F2
270 | :01010D0020D1
271 | :01010E00FCF4
272 | :01010F00FFF0
273 | :010110003FAF
274 | :01011100FCF1
275 | :01011200FFED
276 | :010113003FAC
277 | :01011400FCEE
278 | :01011500FFEA
279 | :010116003FA9
280 | :01011700FCEB
281 | :01011800FFE7
282 | :010119003FA6
283 | :01011A000CD8
284 | :01011B0008DB
285 | :01011C0030B2
286 | :01011D000CD5
287 | :01011E0008D8
288 | :01011F0020BF
289 | :010120000CD2
290 | :0101210008D5
291 | :0101220020BC
292 | :010123000CCF
293 | :010124001CBE
294 | :0101250020B9
295 | :010126000CCC
296 | :010127007E59
297 | :0101280020B6
298 | :010129008C49
299 | :01012A00FFD5
300 | :01012B0021B2
301 | :01012C000CC6
302 | :01012D0000D1
303 | :01012E0020B0
304 | :01012F001CB3
305 | :0101300000CE
306 | :01013100309D
307 | :010132003C90
308 | :0101330000CB
309 | :010134003892
310 | :01013500FCCD
311 | :0101360000C8
312 | :010137003C8B
313 | :0101380000C6
314 | :0101390000C5
315 | :01013A003E86
316 | :01013B0000C3
317 | :01013C0000C2
318 | :01013D0000C1
319 | :01013E0000C0
320 | :01013F007E41
321 | :0101400000BE
322 | :01014100803D
323 | :01014200FFBD
324 | :0101430001BA
325 | :01014400E0DA
326 | :01014500FFBA
327 | :0101460007B1
328 | :01014700F0C7
329 | :01014800FFB7
330 | :010149000FA6
331 | :01014A00F0C4
332 | :01014B00FFB4
333 | :01014C000FA3
334 | :01014D00F8B9
335 | :01014E0000B0
336 | :01014F001F90
337 | :010150001896
338 | :0101510000AD
339 | :010152001894
340 | :010153000C9F
341 | :0101540000AA
342 | :010155003079
343 | :0101560004A4
344 | :0101570000A7
345 | :010158002086
346 | :0101590004A1
347 | :01015A0000A4
348 | :01015B002083
349 | :01015C00049E
350 | :01015D0000A1
351 | :01015E002080
352 | :01015F00049B
353 | :01016000009E
354 | :01016100207D
355 | :010162000498
356 | :01016300009B
357 | :01016400207A
358 | :010165000C8D
359 | :010166000098
360 | :010167003067
361 | :01016800187E
362 | :010169000095
363 | :01016A00187C
364 | :01016B00781B
365 | :01016C000092
366 | :01016D001E73
367 | :01016E00F0A0
368 | :01016F00FF90
369 | :010170000F7F
370 | :01017100F09D
371 | :01017200FF8D
372 | :010173000F7C
373 | :01017400E0AA
374 | :01017500FF8A
375 | :010176000781
376 | :010177008007
377 | :01017800FF87
378 | :010179000184
379 | :01017A000084
380 | :01017B007E05
381 | :01017C000082
382 | :01017D000081
383 | :01017E000080
384 | :01017F00007F
385 | :01018000007E
386 | :01018100007D
387 | :01018200007C
388 | :01018300007B
389 | :01018400007A
390 | :010185000079
391 | :010186000078
392 | :010187000077
393 | :010188000076
394 | :010189000075
395 | :01018A000074
396 | :01018B000073
397 | :01018C000072
398 | :01018D000071
399 | :01018E000070
400 | :01018F00006F
401 | :01019000006E
402 | :01019100006D
403 | :01019200006C
404 | :01019300006B
405 | :01019400006A
406 | :010195000069
407 | :010196000068
408 | :010197000067
409 | :01019800FC6A
410 | :01019900FF66
411 | :01019A003F25
412 | :01019B00FC67
413 | :01019C00FF63
414 | :01019D003F22
415 | :01019E00FC64
416 | :01019F00FF60
417 | :0101A0003F1F
418 | :0101A100FC61
419 | :0101A200FF5D
420 | :0101A3003F1C
421 | :0101A400FC5E
422 | :0101A500FF5A
423 | :0101A6003F19
424 | :0101A700FC5B
425 | :0101A800FF57
426 | :0101A9003F16
427 | :0101AA00FC58
428 | :0101AB00FF54
429 | :0101AC003F13
430 | :0101AD00FC55
431 | :0101AE00FF51
432 | :0101AF003F10
433 | :0101B000004E
434 | :0101B100004D
435 | :0101B200004C
436 | :0101B300004B
437 | :0101B400004A
438 | :0101B5000049
439 | :0101B6000048
440 | :0101B7000047
441 | :0101B8000046
442 | :0101B900FC49
443 | :0101BA00FF45
444 | :0101BB00073C
445 | :0101BC00FC46
446 | :0101BD00FF42
447 | :0101BE000F31
448 | :0101BF00FC43
449 | :0101C000FF3F
450 | :0101C1001F1E
451 | :0101C200FC40
452 | :0101C300FF3C
453 | :0101C4003FFB
454 | :0101C500FC3D
455 | :0101C600FF39
456 | :0101C7003FF8
457 | :0101C800FC3A
458 | :0101C900FF36
459 | :0101CA003FF5
460 | :0101CB00FC37
461 | :0101CC00FF33
462 | :0101CD003FF2
463 | :0101CE000030
464 | :0101CF00002F
465 | :0101D0003EF0
466 | :0101D100002D
467 | :0101D200002C
468 | :0101D3003EED
469 | :0101D400002A
470 | :0101D5000029
471 | :0101D6003EEA
472 | :0101D7000027
473 | :0101D8000026
474 | :0101D9003EE7
475 | :0101DA000024
476 | :0101DB000023
477 | :0101DC003EE4
478 | :0101DD000021
479 | :0101DE000020
480 | :0101DF003EE1
481 | :0101E000001E
482 | :0101E100001D
483 | :0101E2003EDE
484 | :0101E300FC1F
485 | :0101E400FF1B
486 | :0101E5003FDA
487 | :0101E600FC1C
488 | :0101E700FF18
489 | :0101E8003FD7
490 | :0101E900FC19
491 | :0101EA00FF15
492 | :0101EB003FD4
493 | :0101EC00FC16
494 | :0101ED00FF12
495 | :0101EE003FD1
496 | :0101EF00FC13
497 | :0101F000FF0F
498 | :0101F1003FCE
499 | :0101F200FC10
500 | :0101F300FF0C
501 | :0101F4003FCB
502 | :0101F500FC0D
503 | :0101F600FF09
504 | :0101F7003FC8
505 | :0101F800FC0A
506 | :0101F900FF06
507 | :0101FA003FC5
508 | :0101FB000003
509 | :0101FC000002
510 | :0101FD003EC3
511 | :0101FE000000
512 | :0101FF0000FF
513 | :010200003EBF
514 | :0102010000FC
515 | :0102020000FB
516 | :010203003EBC
517 | :0102040000F9
518 | :0102050000F8
519 | :010206003EB9
520 | :0102070000F6
521 | :0102080000F5
522 | :010209003EB6
523 | :01020A0000F3
524 | :01020B0000F2
525 | :01020C003EB3
526 | :01020D0000F0
527 | :01020E0000EF
528 | :01020F003EB0
529 | :01021000FCF1
530 | :01021100FFED
531 | :010212003FAC
532 | :01021300FCEE
533 | :01021400FFEA
534 | :010215003FA9
535 | :01021600FCEB
536 | :01021700FFE7
537 | :010218003FA6
538 | :01021900FCE8
539 | :01021A00FFE4
540 | :01021B003FA3
541 | :01021C00FCE5
542 | :01021D00FFE1
543 | :01021E003FA0
544 | :01021F00FCE2
545 | :01022000FFDE
546 | :010221003F9D
547 | :01022200FCDF
548 | :01022300FFDB
549 | :010224003F9A
550 | :0102250000D8
551 | :0102260000D7
552 | :0102270000D6
553 | :0102280000D5
554 | :0102290000D4
555 | :01022A0000D3
556 | :01022B0000D2
557 | :01022C0000D1
558 | :01022D0000D0
559 | :01022E0000CF
560 | :01022F0000CE
561 | :0102300000CD
562 | :01023100F0DC
563 | :01023200FFCC
564 | :010233000FBB
565 | :01023400F8D1
566 | :01023500FFC9
567 | :010236001FA8
568 | :01023700F8CE
569 | :01023800FFC6
570 | :010239001FA5
571 | :01023A00FCC7
572 | :01023B00FFC3
573 | :01023C003F82
574 | :01023D00FCC4
575 | :01023E00FFC0
576 | :01023F003F7F
577 | :01024000FCC1
578 | :01024100FFBD
579 | :010242003F7C
580 | :01024300FCBE
581 | :01024400FFBA
582 | :010245003F79
583 | :010246007C3B
584 | :0102470000B6
585 | :010248003E77
586 | :010249007C38
587 | :01024A0000B3
588 | :01024B003E74
589 | :01024C007C35
590 | :01024D0000B0
591 | :01024E003E71
592 | :01024F007C32
593 | :0102500000AD
594 | :010251003E6E
595 | :010252007C2F
596 | :0102530000AA
597 | :010254003E6B
598 | :010255007C2C
599 | :0102560000A7
600 | :010257003E68
601 | :010258007C29
602 | :0102590000A4
603 | :01025A003E65
604 | :01025B007C26
605 | :01025C0000A1
606 | :01025D003E62
607 | :01025E007C23
608 | :01025F00009E
609 | :010260003E5F
610 | :010261007C20
611 | :01026200009B
612 | :010263003E5C
613 | :010264007C1D
614 | :010265000098
615 | :010266003E59
616 | :010267007C1A
617 | :010268000095
618 | :010269003E56
619 | :01026A007C17
620 | :01026B000092
621 | :01026C003E53
622 | :01026D007C14
623 | :01026E00008F
624 | :01026F003E50
625 | :01027000FC91
626 | :010271003F4D
627 | :010272003E4D
628 | :01027300FC8E
629 | :010274003F4A
630 | :010275003E4A
631 | :01027600FC8B
632 | :010277003F47
633 | :010278003E47
634 | :01027900FC88
635 | :01027A003F44
636 | :01027B003E44
637 | :01027C00FC85
638 | :01027D003F41
639 | :01027E003E41
640 | :01027F00FC82
641 | :010280003F3E
642 | :010281003E3E
643 | :01028200FC7F
644 | :010283003F3B
645 | :010284003E3B
646 | :01028500FC7C
647 | :010286003F38
648 | :010287003E38
649 | :010288000075
650 | :010289000074
651 | :01028A000073
652 | :01028B000072
653 | :01028C000071
654 | :01028D000070
655 | :01028E00006F
656 | :01028F00006E
657 | :01029000006D
658 | :01029100FC70
659 | :01029200FF6C
660 | :010293003F2B
661 | :01029400FC6D
662 | :01029500FF69
663 | :010296003F28
664 | :01029700FC6A
665 | :01029800FF66
666 | :010299003F25
667 | :01029A00FC67
668 | :01029B00FF63
669 | :01029C003F22
670 | :01029D00FC64
671 | :01029E00FF60
672 | :01029F003F1F
673 | :0102A000FC61
674 | :0102A100FF5D
675 | :0102A2003F1C
676 | :0102A300FC5E
677 | :0102A400FF5A
678 | :0102A5003F19
679 | :0102A600FC5B
680 | :0102A700FF57
681 | :0102A8003F16
682 | :0102A9000054
683 | :0102AA003E15
684 | :0102AB000052
685 | :0102AC000051
686 | :0102AD003E12
687 | :0102AE00004F
688 | :0102AF00004E
689 | :0102B0003E0F
690 | :0102B100004C
691 | :0102B200004B
692 | :0102B3003E0C
693 | :0102B4000049
694 | :0102B5000048
695 | :0102B6003E09
696 | :0102B7000046
697 | :0102B8000045
698 | :0102B9003E06
699 | :0102BA000043
700 | :0102BB000042
701 | :0102BC003E03
702 | :0102BD000040
703 | :0102BE00003F
704 | :0102BF003E00
705 | :0102C000003D
706 | :0102C100003C
707 | :0102C2003EFD
708 | :0102C300003A
709 | :0102C4000039
710 | :0102C5003EFA
711 | :0102C6000037
712 | :0102C7000036
713 | :0102C8003EF7
714 | :0102C9000034
715 | :0102CA000033
716 | :0102CB003EF4
717 | :0102CC000031
718 | :0102CD000030
719 | :0102CE003EF1
720 | :0102CF00002E
721 | :0102D000FC31
722 | :0102D100FF2D
723 | :0102D2003FEC
724 | :0102D300FC2E
725 | :0102D400FF2A
726 | :0102D5003FE9
727 | :0102D600FC2B
728 | :0102D700FF27
729 | :0102D8003FE6
730 | :0102D900FC28
731 | :0102DA00FF24
732 | :0102DB003FE3
733 | :0102DC00FC25
734 | :0102DD00FF21
735 | :0102DE003FE0
736 | :0102DF00FC22
737 | :0102E000FF1E
738 | :0102E1003FDD
739 | :0102E200FC1F
740 | :0102E300FF1B
741 | :0102E4003FDA
742 | :0102E500FC1C
743 | :0102E600FF18
744 | :0102E7003FD7
745 | :0102E8000015
746 | :0102E9000014
747 | :0102EA000013
748 | :0102EB000012
749 | :0102EC000011
750 | :0102ED000010
751 | :0102EE00000F
752 | :0102EF00000E
753 | :0102F000000D
754 | :0102F100000C
755 | :0102F200000B
756 | :0102F300000A
757 | :0102F4000009
758 | :0102F5000008
759 | :0102F6000007
760 | :0102F7000006
761 | :0102F8000005
762 | :0102F9000004
763 | :0102FA000003
764 | :0102FB000002
765 | :0102FC000001
766 | :0102FD000000
767 | :0102FE0000FF
768 | :0102FF0000FE
769 | :0103000000FC
770 | :0103010000FB
771 | :0103020000FA
772 | :0103030000F9
773 | :0103040000F8
774 | :0103050000F7
775 | :0103060000F6
776 | :0103070000F5
777 | :0103080000F4
778 | :0103090000F3
779 | :01030A0000F2
780 | :01030B0000F1
781 | :01030C0000F0
782 | :01030D0000EF
783 | :01030E0000EE
784 | :01030F009855
785 | :01031000A448
786 | :01031100A447
787 | :010312007476
788 | :010313000CDD
789 | :0103140000E8
790 | :010315007077
791 | :010316000DD9
792 | :0103170000E5
793 | :0103180020C4
794 | :010319005F84
795 | :01031A00449E
796 | :01031B0000E1
797 | :01031C007070
798 | :01031D000FD0
799 | :01031E0004DA
800 | :01031F007469
801 | :0103200008D4
802 | :0103210000DB
803 | :0103220030AA
804 | :010323004C8D
805 | :010324004098
806 | :01032500785F
807 | :0103260004D2
808 | :0103270000D5
809 | :010328007064
810 | :010329004F84
811 | :01032A00448E
812 | :01032B00646D
813 | :01032C0018B8
814 | :01032D0000CF
815 | :01032E00408E
816 | :01032F0000CD
817 | :0103300000CC
818 | :0103310000CB
819 | :01033200309A
820 | :010333004881
821 | :010334004484
822 | :010335004483
823 | :0103360000C6
824 | :010337003095
825 | :010338004C78
826 | :01033900447F
827 | :01033A00348E
828 | :01033B0008B9
829 | :01033C0000C0
830 | :01033D00704F
831 | :01033E000CB2
832 | :01033F0004B9
833 | :010340007448
834 | :0103410008B3
835 | :0103420004B6
836 | :010343007C3D
837 | :0103440000B8
838 | :010345008037
839 | :010346007046
840 | :010347000CA9
841 | :0103480003B1
842 | :0103490000B3
843 | :01034A003082
844 | :01034B004869
845 | :01034C00446C
846 | :01034D00446B
847 | :01034E0000AE
848 | :01034F00703D
849 | :010350000F9D
850 | :0103510004A7
851 | :010352007436
852 | :0103530008A1
853 | :0103540000A8
854 | :010355002087
855 | :010356005452
856 | :010357005451
857 | :010358007C28
858 | :0103590000A3
859 | :01035A0000A2
860 | :01035B007031
861 | :01035C000C94
862 | :01035D00049B
863 | :01035E00049A
864 | :01035F00306D
865 | :010360004854
866 | :010361004457
867 | :010362004456
868 | :010363000099
869 | :010364003068
870 | :010365004C4B
871 | :010366004452
872 | :010367003461
873 | :01036800088C
874 | :010369000093
875 | :01036A007022
876 | :01036B000F82
877 | :01036C000090
878 | :01036D00305F
879 | :01036E005836
880 | :01036F005439
881 | :010370005438
882 | :010371001873
883 | :01037200008A
884 | :010373000089
885 | :010374000088
886 | :010375000087
887 | :010376000086
888 | :010377000085
889 | :010378000084
890 | :010379000083
891 | :01037A000082
892 | :01037B000081
893 | :01037C000080
894 | :01037D00007F
895 | :01037E00007E
896 | :01037F00007D
897 | :01038000007C
898 | :01038100007B
899 | :01038200007A
900 | :010383000079
901 | :010384000078
902 | :010385000077
903 | :010386000076
904 | :010387000075
905 | :010388007EF6
906 | :010389004A29
907 | :01038A004E24
908 | :01038B003041
909 | :01038C000070
910 | :01038D0070FF
911 | :01038E00541A
912 | :01038F005419
913 | :010390007CF0
914 | :01039100006B
915 | :010392003832
916 | :010393004425
917 | :010394004424
918 | :010395007FE8
919 | :010396000066
920 | :010397000065
921 | :010398000064
922 | :010399004C17
923 | :01039A00540E
924 | :01039B0074ED
925 | :01039C00045C
926 | :01039D003827
927 | :01039E00E07E
928 | :01039F001C41
929 | :0103A000005C
930 | :0103A1007CDF
931 | :0103A2000456
932 | :0103A3000455
933 | :0103A4007CDC
934 | :0103A5000057
935 | :0103A600381E
936 | :0103A7004411
937 | :0103A8004410
938 | :0103A900440F
939 | :0103AA000052
940 | :0103AB000051
941 | :0103AC004C04
942 | :0103AD0054FB
943 | :0103AE0074DA
944 | :0103AF00004D
945 | :0103B0007ECE
946 | :0103B100004B
947 | :0103B2003812
948 | :0103B3004405
949 | :0103B4004404
950 | :0103B500FC4B
951 | :0103B6000046
952 | :0103B7007CC9
953 | :0103B8000440
954 | :0103B900043F
955 | :0103BA007CC6
956 | :0103BB000041
957 | :0103BC0070D0
958 | :0103BD0054EB
959 | :0103BE0054EA
960 | :0103BF007CC1
961 | :0103C000003C
962 | :0103C1007FBC
963 | :0103C200003A
964 | :0103C3000039
965 | :0103C4000434
966 | :0103C5007FB8
967 | :0103C6000531
968 | :0103C7007DB8
969 | :0103C8000430
970 | :0103C900042F
971 | :0103CA0038FA
972 | :0103CB0044ED
973 | :0103CC0044EC
974 | :0103CD0038F7
975 | :0103CE00002E
976 | :0103CF007CB1
977 | :0103D0000428
978 | :0103D1000427
979 | :0103D20078B2
980 | :0103D3000425
981 | :0103D4000424
982 | :0103D5007CAB
983 | :0103D6000026
984 | :0103D7000025
985 | :0103D8000024
986 | :0103D9007EA5
987 | :0103DA00061C
988 | :0103DB001809
989 | :0103DC002000
990 | :0103DD007EA1
991 | :0103DE00001E
992 | :0103DF0038E5
993 | :0103E00054C8
994 | :0103E10054C7
995 | :0103E20058C2
996 | :0103E3000019
997 | :0103E40038E0
998 | :0103E50044D3
999 | :0103E60044D2
1000 | :0103E70038DD
1001 | :0103E8000014
1002 | :0103E9000013
1003 | :0103EA000012
1004 | :0103EB003CD5
1005 | :0103EC0066AA
1006 | :0103ED0042CD
1007 | :0103EE004AC4
1008 | :0103EF007A93
1009 | :0103F000000C
1010 | :0103F10038D3
1011 | :0103F20054B6
1012 | :0103F30054B5
1013 | :0103F40058B0
1014 | :0103F5000007
1015 | :0103F60038CE
1016 | :0103F70044C1
1017 | :0103F80044C0
1018 | :0103F90038CB
1019 | :0103FA000002
1020 | :0103FB000001
1021 | :0103FC000000
1022 | :0103FD0000FF
1023 | :0103FE0000FE
1024 | :0103FF0000FD
1025 | :0104000000FB
1026 | :0104010000FA
1027 | :01040200FFFA
1028 | :0104030008F0
1029 | :0104040008EF
1030 | :0104050008EE
1031 | :0104060008ED
1032 | :01040700FFF5
1033 | :0104080000F3
1034 | :010409008072
1035 | :01040A007081
1036 | :01040B002EC2
1037 | :01040C0021CE
1038 | :01040D002EC0
1039 | :01040E00F0FD
1040 | :01040F00806C
1041 | :0104100000EB
1042 | :01041100FFEB
1043 | :010412008069
1044 | :010413008068
1045 | :010414008067
1046 | :010415008066
1047 | :0104160000E5
1048 | :01041700FFE5
1049 | :0104180009DA
1050 | :0104190009D9
1051 | :01041A0009D8
1052 | :01041B0001DF
1053 | :01041C0000DF
1054 | :01041D0000DE
1055 | :01041E0000DD
1056 | :01041F0000DC
1057 | :0104200000DB
1058 | :01042100FFDB
1059 | :010422008950
1060 | :01042300894F
1061 | :01042400894E
1062 | :010425007660
1063 | :0104260000D5
1064 | :0104270000D4
1065 | :01042800FFD4
1066 | :0104290011C1
1067 | :01042A0011C0
1068 | :01042B00319F
1069 | :01042C004E81
1070 | :01042D00804E
1071 | :01042E0000CD
1072 | :01042F00814B
1073 | :01043000FFCC
1074 | :010431008149
1075 | :0104320000C9
1076 | :0104330000C8
1077 | :010434003C8B
1078 | :010435004284
1079 | :010436008144
1080 | :010437009133
1081 | :010438009132
1082 | :010439007250
1083 | :01043A0000C1
1084 | :01043B0000C0
1085 | :01043C00FFC0
1086 | :01043D0008B6
1087 | :01043E0008B5
1088 | :01043F0008B4
1089 | :0104400008B3
1090 | :01044100FFBB
1091 | :0104420000B9
1092 | :0104430001B7
1093 | :0104440001B6
1094 | :0104450001B5
1095 | :01044600FFB6
1096 | :0104470001B3
1097 | :0104480001B2
1098 | :0104490001B1
1099 | :01044A0000B1
1100 | :01044B0000B0
1101 | :01044C0000AF
1102 | :01044D0000AE
1103 | :01044E0000AD
1104 | :01044F0000AC
1105 | :0104500000AB
1106 | :01045100CEDC
1107 | :010452008920
1108 | :01045300891F
1109 | :010454009116
1110 | :010455009115
1111 | :010456007233
1112 | :0104570000A4
1113 | :0104580000A3
1114 | :010459003C66
1115 | :01045A00425F
1116 | :01045B00811F
1117 | :01045C00811E
1118 | :01045D00811D
1119 | :01045E00425B
1120 | :01045F00009C
1121 | :01046000801B
1122 | :01046100702A
1123 | :010462002E6B
1124 | :010463002177
1125 | :010464002E69
1126 | :01046500F0A6
1127 | :010466008015
1128 | :010467000094
1129 | :01046800FF94
1130 | :01046900038F
1131 | :01046A000C85
1132 | :01046B003060
1133 | :01046C00C0CF
1134 | :01046D00FF8F
1135 | :01046E00008D
1136 | :01046F00008C
1137 | :01047000FF8C
1138 | :01047100800A
1139 | :010472008009
1140 | :010473008008
1141 | :010474008007
1142 | :010475000086
1143 | :010476008104
1144 | :01047700FF85
1145 | :010478008102
1146 | :010479000082
1147 | :01047A000081
1148 | :01047B00FF81
1149 | :01047C00037C
1150 | :01047D000C72
1151 | :01047E00304D
1152 | :01047F00C0BC
1153 | :01048000FF7C
1154 | :01048100007A
1155 | :010482000079
1156 | :01048300FF79
1157 | :0104840089EE
1158 | :0104850089ED
1159 | :0104860089EC
1160 | :0104870089EB
1161 | :010488000073
1162 | :01048900CEA4
1163 | :01048A0089E8
1164 | :01048B0089E7
1165 | :01048C0091DE
1166 | :01048D0091DD
1167 | :01048E0072FB
1168 | :01048F00006C
1169 | :01049000006B
1170 | :01049100006A
1171 | :010492000069
1172 | :010493000068
1173 | :010494000067
1174 | :010495000066
1175 | :010496000065
1176 | :010497000064
1177 | :01049800FF64
1178 | :0104990080E2
1179 | :01049A0080E1
1180 | :01049B0080E0
1181 | :01049C0080DF
1182 | :01049D00005E
1183 | :01049E0081DC
1184 | :01049F00FF5D
1185 | :0104A00081DA
1186 | :0104A100005A
1187 | :0104A2000059
1188 | :0104A300FF59
1189 | :0104A4000354
1190 | :0104A5000C4A
1191 | :0104A6003025
1192 | :0104A700C094
1193 | :0104A800FF54
1194 | :0104A9000052
1195 | :0104AA000051
1196 | :0104AB00FF51
1197 | :0104AC0089C6
1198 | :0104AD0089C5
1199 | :0104AE0089C4
1200 | :0104AF0089C3
1201 | :0104B000004B
1202 | :0104B100004A
1203 | :0104B2000049
1204 | :0104B3000048
1205 | :0104B4000047
1206 | :0104B500FF47
1207 | :0104B60081C4
1208 | :0104B70081C3
1209 | :0104B80081C2
1210 | :0104B9004200
1211 | :0104BA003C05
1212 | :0104BB000040
1213 | :0104BC00003F
1214 | :0104BD003C02
1215 | :0104BE0042FB
1216 | :0104BF0081BB
1217 | :0104C00081BA
1218 | :0104C10081B9
1219 | :0104C20042F7
1220 | :0104C3003CFC
1221 | :0104C4000037
1222 | :0104C5000036
1223 | :0104C6007FB6
1224 | :0104C700C074
1225 | :0104C80080B3
1226 | :0104C90080B2
1227 | :0104CA00C071
1228 | :0104CB007FB1
1229 | :0104CC00002F
1230 | :0104CD00002E
1231 | :0104CE00FF2E
1232 | :0104CF0089A3
1233 | :0104D00089A2
1234 | :0104D10089A1
1235 | :0104D20076B3
1236 | :0104D3000028
1237 | :0104D4000027
1238 | :0104D500FF27
1239 | :0104D60080A5
1240 | :0104D70080A4
1241 | :0104D80080A3
1242 | :0104D90080A2
1243 | :0104DA000021
1244 | :0104DB00FF21
1245 | :0104DC008996
1246 | :0104DD008995
1247 | :0104DE008994
1248 | :0104DF008993
1249 | :0104E000001B
1250 | :0104E100001A
1251 | :0104E2000019
1252 | :0104E3000018
1253 | :0104E4000017
1254 | :0104E5000016
1255 | :0104E6000015
1256 | :0104E7000014
1257 | :0104E8000013
1258 | :0104E9000012
1259 | :0104EA000011
1260 | :0104EB000010
1261 | :0104EC00000F
1262 | :0104ED00000E
1263 | :0104EE00000D
1264 | :0104EF00000C
1265 | :0104F000000B
1266 | :0104F100000A
1267 | :0104F2000009
1268 | :0104F3000008
1269 | :0104F4000007
1270 | :0104F5000006
1271 | :0104F6000005
1272 | :0104F7000004
1273 | :0104F8000003
1274 | :0104F9000002
1275 | :0104FA000001
1276 | :0104FB000000
1277 | :0104FC0000FF
1278 | :0104FD0000FE
1279 | :0104FE0000FD
1280 | :0104FF0000FC
1281 | :00000001FF
1282 |
--------------------------------------------------------------------------------
/altera/13.0sp1/output_files/HDMIDirect.pof:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charcole/NeoGeoHDMI/8d66141d150ea53abcc77258ed8db8890887f646/altera/13.0sp1/output_files/HDMIDirect.pof
--------------------------------------------------------------------------------
/altera/13.0sp1/output_files/HDMIDirect.sof:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/charcole/NeoGeoHDMI/8d66141d150ea53abcc77258ed8db8890887f646/altera/13.0sp1/output_files/HDMIDirect.sof
--------------------------------------------------------------------------------
/font/logo.hex:
--------------------------------------------------------------------------------
1 | :0100000004FB
2 | :0100010000FE
3 | :0100020020DD
4 | :0100030004F8
5 | :0100040000FB
6 | :0100050020DA
7 | :010006000CED
8 | :0100070000F8
9 | :0100080030C7
10 | :01000900FCFA
11 | :01000A00FFF6
12 | :01000B003FB5
13 | :01000C007C77
14 | :01000D0000F2
15 | :01000E0030C1
16 | :01000F00FCF4
17 | :0100100000EF
18 | :0100110020CE
19 | :01001200FCF1
20 | :0100130001EB
21 | :0100140020CB
22 | :01001500F8F2
23 | :0100160003E6
24 | :0100170000E8
25 | :01001800F0F7
26 | :0100190007DF
27 | :01001A0000E5
28 | :01001B00E004
29 | :01001C001FC4
30 | :01001D0000E2
31 | :01001E00C021
32 | :01001F003FA1
33 | :0100200000DF
34 | :01002100805E
35 | :010022007F5E
36 | :0100230000DC
37 | :0100240000DB
38 | :01002500FEDC
39 | :0100260000D9
40 | :0100270000D8
41 | :01002800FCDB
42 | :0100290001D5
43 | :01002A0004D1
44 | :01002B00F8DC
45 | :01002C0003D0
46 | :01002D0004CE
47 | :01002E00F0E1
48 | :01002F000FC1
49 | :010030000CC3
50 | :01003100C00E
51 | :010032001FAE
52 | :01003300FCD0
53 | :01003400FFCC
54 | :010035003F8B
55 | :010036000CBD
56 | :0100370000C8
57 | :0100380000C7
58 | :0100390004C2
59 | :01003A0000C5
60 | :01003B0000C4
61 | :01003C0004BF
62 | :01003D0000C2
63 | :01003E0000C1
64 | :01003F0004BC
65 | :0100400000BF
66 | :01004100209E
67 | :010042000CB1
68 | :0100430000BC
69 | :01004400209B
70 | :01004500FCBE
71 | :01004600FFBA
72 | :010047003F79
73 | :01004800FCBB
74 | :01004900FFB7
75 | :01004A003F76
76 | :01004B00FCB8
77 | :01004C00FFB4
78 | :01004D003F73
79 | :01004E00FCB5
80 | :01004F00FFB1
81 | :010050003F70
82 | :010051000CA2
83 | :0100520008A5
84 | :01005300307C
85 | :010054000C9F
86 | :0100550008A2
87 | :010056002089
88 | :010057000C9C
89 | :01005800089F
90 | :010059002086
91 | :01005A000C99
92 | :01005B001C88
93 | :01005C002083
94 | :01005D000C96
95 | :01005E007E23
96 | :01005F002080
97 | :010060008C13
98 | :01006100FF9F
99 | :01006200217C
100 | :010063000C90
101 | :01006400009B
102 | :01006500207A
103 | :010066001C7D
104 | :010067000098
105 | :010068003067
106 | :010069003C5A
107 | :01006A000095
108 | :01006B00385C
109 | :01006C00FC97
110 | :01006D000092
111 | :01006E003C55
112 | :01006F000090
113 | :01007000008F
114 | :010071003E50
115 | :01007200008D
116 | :01007300008C
117 | :01007400008B
118 | :01007500008A
119 | :010076007E0B
120 | :010077000088
121 | :010078008007
122 | :01007900FF87
123 | :01007A000184
124 | :01007B00E0A4
125 | :01007C00FF84
126 | :01007D00077B
127 | :01007E00F091
128 | :01007F00FF81
129 | :010080000F70
130 | :01008100F08E
131 | :01008200FF7E
132 | :010083000F6D
133 | :01008400F883
134 | :01008500007A
135 | :010086001F5A
136 | :010087001860
137 | :010088000077
138 | :01008900185E
139 | :01008A000C69
140 | :01008B000074
141 | :01008C003043
142 | :01008D00046E
143 | :01008E000071
144 | :01008F002050
145 | :01009000046B
146 | :01009100006E
147 | :01009200204D
148 | :010093000468
149 | :01009400006B
150 | :01009500204A
151 | :010096000465
152 | :010097000068
153 | :010098002047
154 | :010099000462
155 | :01009A000065
156 | :01009B002044
157 | :01009C000C57
158 | :01009D000062
159 | :01009E003031
160 | :01009F001848
161 | :0100A000005F
162 | :0100A1001846
163 | :0100A20078E5
164 | :0100A300005C
165 | :0100A4001E3D
166 | :0100A500F06A
167 | :0100A600FF5A
168 | :0100A7000F49
169 | :0100A800F067
170 | :0100A900FF57
171 | :0100AA000F46
172 | :0100AB00E074
173 | :0100AC00FF54
174 | :0100AD00074B
175 | :0100AE0080D1
176 | :0100AF00FF51
177 | :0100B000014E
178 | :0100B100004E
179 | :0100B2007ECF
180 | :0100B300004C
181 | :0100B400004B
182 | :0100B500004A
183 | :0100B6000049
184 | :0100B7000048
185 | :0100B800380F
186 | :0100B9000046
187 | :0100BA000045
188 | :0100BB007CC8
189 | :0100BC000043
190 | :0100BD000042
191 | :0100BE007CC5
192 | :0100BF000040
193 | :0100C000003F
194 | :0100C1003806
195 | :0100C200003D
196 | :0100C300003C
197 | :0100C400003B
198 | :0100C500003A
199 | :0100C6000039
200 | :0100C7007EBA
201 | :0100C8000037
202 | :0100C90080B6
203 | :0100CA00FF36
204 | :0100CB000133
205 | :0100CC00C073
206 | :0100CD00FF33
207 | :0100CE00072A
208 | :0100CF00E050
209 | :0100D000FF30
210 | :0100D1000F1F
211 | :0100D200F03D
212 | :0100D300FF2D
213 | :0100D4000F1C
214 | :0100D500F832
215 | :0100D6000029
216 | :0100D7001F09
217 | :0100D80038EF
218 | :0100D9000026
219 | :0100DA00180D
220 | :0100DB000C18
221 | :0100DC000023
222 | :0100DD0030F2
223 | :0100DE000C15
224 | :0100DF000020
225 | :0100E00030EF
226 | :0100E100041A
227 | :0100E200001D
228 | :0100E30020FC
229 | :0100E4000417
230 | :0100E500001A
231 | :0100E60020F9
232 | :0100E7000414
233 | :0100E8000017
234 | :0100E90020F6
235 | :0100EA000411
236 | :0100EB0020F4
237 | :0100EC0020F3
238 | :0100ED00040E
239 | :0100EE0020F1
240 | :0100EF0020F0
241 | :0100F0000C03
242 | :0100F10060AE
243 | :0100F20020ED
244 | :0100F3000804
245 | :0100F400E02B
246 | :0100F5003FCB
247 | :0100F60018F1
248 | :0100F700E028
249 | :0100F8001FE8
250 | :0100F90038CE
251 | :0100FA00E025
252 | :0100FB001FE5
253 | :0100FC00F80B
254 | :0100FD00E022
255 | :0100FE001FE2
256 | :0100FF000000
257 | :01010000609E
258 | :0101010000FD
259 | :0101020000FC
260 | :0101030020DB
261 | :0101040000FA
262 | :0101050004F5
263 | :0101060020D8
264 | :0101070000F7
265 | :0101080004F2
266 | :0101090000F5
267 | :01010A0020D4
268 | :01010B000CE7
269 | :01010C0000F2
270 | :01010D0020D1
271 | :01010E00FCF4
272 | :01010F00FFF0
273 | :010110003FAF
274 | :01011100FCF1
275 | :01011200FFED
276 | :010113003FAC
277 | :01011400FCEE
278 | :01011500FFEA
279 | :010116003FA9
280 | :01011700FCEB
281 | :01011800FFE7
282 | :010119003FA6
283 | :01011A000CD8
284 | :01011B0008DB
285 | :01011C0030B2
286 | :01011D000CD5
287 | :01011E0008D8
288 | :01011F0020BF
289 | :010120000CD2
290 | :0101210008D5
291 | :0101220020BC
292 | :010123000CCF
293 | :010124001CBE
294 | :0101250020B9
295 | :010126000CCC
296 | :010127007E59
297 | :0101280020B6
298 | :010129008C49
299 | :01012A00FFD5
300 | :01012B0021B2
301 | :01012C000CC6
302 | :01012D0000D1
303 | :01012E0020B0
304 | :01012F001CB3
305 | :0101300000CE
306 | :01013100309D
307 | :010132003C90
308 | :0101330000CB
309 | :010134003892
310 | :01013500FCCD
311 | :0101360000C8
312 | :010137003C8B
313 | :0101380000C6
314 | :0101390000C5
315 | :01013A003E86
316 | :01013B0000C3
317 | :01013C0000C2
318 | :01013D0000C1
319 | :01013E0000C0
320 | :01013F007E41
321 | :0101400000BE
322 | :01014100803D
323 | :01014200FFBD
324 | :0101430001BA
325 | :01014400E0DA
326 | :01014500FFBA
327 | :0101460007B1
328 | :01014700F0C7
329 | :01014800FFB7
330 | :010149000FA6
331 | :01014A00F0C4
332 | :01014B00FFB4
333 | :01014C000FA3
334 | :01014D00F8B9
335 | :01014E0000B0
336 | :01014F001F90
337 | :010150001896
338 | :0101510000AD
339 | :010152001894
340 | :010153000C9F
341 | :0101540000AA
342 | :010155003079
343 | :0101560004A4
344 | :0101570000A7
345 | :010158002086
346 | :0101590004A1
347 | :01015A0000A4
348 | :01015B002083
349 | :01015C00049E
350 | :01015D0000A1
351 | :01015E002080
352 | :01015F00049B
353 | :01016000009E
354 | :01016100207D
355 | :010162000498
356 | :01016300009B
357 | :01016400207A
358 | :010165000C8D
359 | :010166000098
360 | :010167003067
361 | :01016800187E
362 | :010169000095
363 | :01016A00187C
364 | :01016B00781B
365 | :01016C000092
366 | :01016D001E73
367 | :01016E00F0A0
368 | :01016F00FF90
369 | :010170000F7F
370 | :01017100F09D
371 | :01017200FF8D
372 | :010173000F7C
373 | :01017400E0AA
374 | :01017500FF8A
375 | :010176000781
376 | :010177008007
377 | :01017800FF87
378 | :010179000184
379 | :01017A000084
380 | :01017B007E05
381 | :01017C000082
382 | :01017D000081
383 | :01017E000080
384 | :01017F00007F
385 | :01018000007E
386 | :01018100007D
387 | :01018200007C
388 | :01018300007B
389 | :01018400007A
390 | :010185000079
391 | :010186000078
392 | :010187000077
393 | :010188000076
394 | :010189000075
395 | :01018A000074
396 | :01018B000073
397 | :01018C000072
398 | :01018D000071
399 | :01018E000070
400 | :01018F00006F
401 | :01019000006E
402 | :01019100006D
403 | :01019200006C
404 | :01019300006B
405 | :01019400006A
406 | :010195000069
407 | :010196000068
408 | :010197000067
409 | :01019800FC6A
410 | :01019900FF66
411 | :01019A003F25
412 | :01019B00FC67
413 | :01019C00FF63
414 | :01019D003F22
415 | :01019E00FC64
416 | :01019F00FF60
417 | :0101A0003F1F
418 | :0101A100FC61
419 | :0101A200FF5D
420 | :0101A3003F1C
421 | :0101A400FC5E
422 | :0101A500FF5A
423 | :0101A6003F19
424 | :0101A700FC5B
425 | :0101A800FF57
426 | :0101A9003F16
427 | :0101AA00FC58
428 | :0101AB00FF54
429 | :0101AC003F13
430 | :0101AD00FC55
431 | :0101AE00FF51
432 | :0101AF003F10
433 | :0101B000004E
434 | :0101B100004D
435 | :0101B200004C
436 | :0101B300004B
437 | :0101B400004A
438 | :0101B5000049
439 | :0101B6000048
440 | :0101B7000047
441 | :0101B8000046
442 | :0101B900FC49
443 | :0101BA00FF45
444 | :0101BB00073C
445 | :0101BC00FC46
446 | :0101BD00FF42
447 | :0101BE000F31
448 | :0101BF00FC43
449 | :0101C000FF3F
450 | :0101C1001F1E
451 | :0101C200FC40
452 | :0101C300FF3C
453 | :0101C4003FFB
454 | :0101C500FC3D
455 | :0101C600FF39
456 | :0101C7003FF8
457 | :0101C800FC3A
458 | :0101C900FF36
459 | :0101CA003FF5
460 | :0101CB00FC37
461 | :0101CC00FF33
462 | :0101CD003FF2
463 | :0101CE000030
464 | :0101CF00002F
465 | :0101D0003EF0
466 | :0101D100002D
467 | :0101D200002C
468 | :0101D3003EED
469 | :0101D400002A
470 | :0101D5000029
471 | :0101D6003EEA
472 | :0101D7000027
473 | :0101D8000026
474 | :0101D9003EE7
475 | :0101DA000024
476 | :0101DB000023
477 | :0101DC003EE4
478 | :0101DD000021
479 | :0101DE000020
480 | :0101DF003EE1
481 | :0101E000001E
482 | :0101E100001D
483 | :0101E2003EDE
484 | :0101E300FC1F
485 | :0101E400FF1B
486 | :0101E5003FDA
487 | :0101E600FC1C
488 | :0101E700FF18
489 | :0101E8003FD7
490 | :0101E900FC19
491 | :0101EA00FF15
492 | :0101EB003FD4
493 | :0101EC00FC16
494 | :0101ED00FF12
495 | :0101EE003FD1
496 | :0101EF00FC13
497 | :0101F000FF0F
498 | :0101F1003FCE
499 | :0101F200FC10
500 | :0101F300FF0C
501 | :0101F4003FCB
502 | :0101F500FC0D
503 | :0101F600FF09
504 | :0101F7003FC8
505 | :0101F800FC0A
506 | :0101F900FF06
507 | :0101FA003FC5
508 | :0101FB000003
509 | :0101FC000002
510 | :0101FD003EC3
511 | :0101FE000000
512 | :0101FF0000FF
513 | :010200003EBF
514 | :0102010000FC
515 | :0102020000FB
516 | :010203003EBC
517 | :0102040000F9
518 | :0102050000F8
519 | :010206003EB9
520 | :0102070000F6
521 | :0102080000F5
522 | :010209003EB6
523 | :01020A0000F3
524 | :01020B0000F2
525 | :01020C003EB3
526 | :01020D0000F0
527 | :01020E0000EF
528 | :01020F003EB0
529 | :01021000FCF1
530 | :01021100FFED
531 | :010212003FAC
532 | :01021300FCEE
533 | :01021400FFEA
534 | :010215003FA9
535 | :01021600FCEB
536 | :01021700FFE7
537 | :010218003FA6
538 | :01021900FCE8
539 | :01021A00FFE4
540 | :01021B003FA3
541 | :01021C00FCE5
542 | :01021D00FFE1
543 | :01021E003FA0
544 | :01021F00FCE2
545 | :01022000FFDE
546 | :010221003F9D
547 | :01022200FCDF
548 | :01022300FFDB
549 | :010224003F9A
550 | :0102250000D8
551 | :0102260000D7
552 | :0102270000D6
553 | :0102280000D5
554 | :0102290000D4
555 | :01022A0000D3
556 | :01022B0000D2
557 | :01022C0000D1
558 | :01022D0000D0
559 | :01022E0000CF
560 | :01022F0000CE
561 | :0102300000CD
562 | :01023100F0DC
563 | :01023200FFCC
564 | :010233000FBB
565 | :01023400F8D1
566 | :01023500FFC9
567 | :010236001FA8
568 | :01023700F8CE
569 | :01023800FFC6
570 | :010239001FA5
571 | :01023A00FCC7
572 | :01023B00FFC3
573 | :01023C003F82
574 | :01023D00FCC4
575 | :01023E00FFC0
576 | :01023F003F7F
577 | :01024000FCC1
578 | :01024100FFBD
579 | :010242003F7C
580 | :01024300FCBE
581 | :01024400FFBA
582 | :010245003F79
583 | :010246007C3B
584 | :0102470000B6
585 | :010248003E77
586 | :010249007C38
587 | :01024A0000B3
588 | :01024B003E74
589 | :01024C007C35
590 | :01024D0000B0
591 | :01024E003E71
592 | :01024F007C32
593 | :0102500000AD
594 | :010251003E6E
595 | :010252007C2F
596 | :0102530000AA
597 | :010254003E6B
598 | :010255007C2C
599 | :0102560000A7
600 | :010257003E68
601 | :010258007C29
602 | :0102590000A4
603 | :01025A003E65
604 | :01025B007C26
605 | :01025C0000A1
606 | :01025D003E62
607 | :01025E007C23
608 | :01025F00009E
609 | :010260003E5F
610 | :010261007C20
611 | :01026200009B
612 | :010263003E5C
613 | :010264007C1D
614 | :010265000098
615 | :010266003E59
616 | :010267007C1A
617 | :010268000095
618 | :010269003E56
619 | :01026A007C17
620 | :01026B000092
621 | :01026C003E53
622 | :01026D007C14
623 | :01026E00008F
624 | :01026F003E50
625 | :01027000FC91
626 | :010271003F4D
627 | :010272003E4D
628 | :01027300FC8E
629 | :010274003F4A
630 | :010275003E4A
631 | :01027600FC8B
632 | :010277003F47
633 | :010278003E47
634 | :01027900FC88
635 | :01027A003F44
636 | :01027B003E44
637 | :01027C00FC85
638 | :01027D003F41
639 | :01027E003E41
640 | :01027F00FC82
641 | :010280003F3E
642 | :010281003E3E
643 | :01028200FC7F
644 | :010283003F3B
645 | :010284003E3B
646 | :01028500FC7C
647 | :010286003F38
648 | :010287003E38
649 | :010288000075
650 | :010289000074
651 | :01028A000073
652 | :01028B000072
653 | :01028C000071
654 | :01028D000070
655 | :01028E00006F
656 | :01028F00006E
657 | :01029000006D
658 | :01029100FC70
659 | :01029200FF6C
660 | :010293003F2B
661 | :01029400FC6D
662 | :01029500FF69
663 | :010296003F28
664 | :01029700FC6A
665 | :01029800FF66
666 | :010299003F25
667 | :01029A00FC67
668 | :01029B00FF63
669 | :01029C003F22
670 | :01029D00FC64
671 | :01029E00FF60
672 | :01029F003F1F
673 | :0102A000FC61
674 | :0102A100FF5D
675 | :0102A2003F1C
676 | :0102A300FC5E
677 | :0102A400FF5A
678 | :0102A5003F19
679 | :0102A600FC5B
680 | :0102A700FF57
681 | :0102A8003F16
682 | :0102A9000054
683 | :0102AA003E15
684 | :0102AB000052
685 | :0102AC000051
686 | :0102AD003E12
687 | :0102AE00004F
688 | :0102AF00004E
689 | :0102B0003E0F
690 | :0102B100004C
691 | :0102B200004B
692 | :0102B3003E0C
693 | :0102B4000049
694 | :0102B5000048
695 | :0102B6003E09
696 | :0102B7000046
697 | :0102B8000045
698 | :0102B9003E06
699 | :0102BA000043
700 | :0102BB000042
701 | :0102BC003E03
702 | :0102BD000040
703 | :0102BE00003F
704 | :0102BF003E00
705 | :0102C000003D
706 | :0102C100003C
707 | :0102C2003EFD
708 | :0102C300003A
709 | :0102C4000039
710 | :0102C5003EFA
711 | :0102C6000037
712 | :0102C7000036
713 | :0102C8003EF7
714 | :0102C9000034
715 | :0102CA000033
716 | :0102CB003EF4
717 | :0102CC000031
718 | :0102CD000030
719 | :0102CE003EF1
720 | :0102CF00002E
721 | :0102D000FC31
722 | :0102D100FF2D
723 | :0102D2003FEC
724 | :0102D300FC2E
725 | :0102D400FF2A
726 | :0102D5003FE9
727 | :0102D600FC2B
728 | :0102D700FF27
729 | :0102D8003FE6
730 | :0102D900FC28
731 | :0102DA00FF24
732 | :0102DB003FE3
733 | :0102DC00FC25
734 | :0102DD00FF21
735 | :0102DE003FE0
736 | :0102DF00FC22
737 | :0102E000FF1E
738 | :0102E1003FDD
739 | :0102E200FC1F
740 | :0102E300FF1B
741 | :0102E4003FDA
742 | :0102E500FC1C
743 | :0102E600FF18
744 | :0102E7003FD7
745 | :0102E8000015
746 | :0102E9000014
747 | :0102EA000013
748 | :0102EB000012
749 | :0102EC000011
750 | :0102ED000010
751 | :0102EE00000F
752 | :0102EF00000E
753 | :0102F000000D
754 | :0102F100000C
755 | :0102F200000B
756 | :0102F300000A
757 | :0102F4000009
758 | :0102F5000008
759 | :0102F6000007
760 | :0102F7000006
761 | :0102F8000005
762 | :0102F9000004
763 | :0102FA000003
764 | :0102FB000002
765 | :0102FC000001
766 | :0102FD000000
767 | :0102FE0000FF
768 | :0102FF0000FE
769 | :0103000000FC
770 | :0103010000FB
771 | :0103020000FA
772 | :0103030000F9
773 | :0103040000F8
774 | :0103050000F7
775 | :0103060000F6
776 | :0103070000F5
777 | :0103080000F4
778 | :0103090000F3
779 | :01030A0000F2
780 | :01030B0000F1
781 | :01030C0000F0
782 | :01030D0000EF
783 | :01030E0000EE
784 | :01030F009855
785 | :01031000A448
786 | :01031100A447
787 | :010312007476
788 | :010313000CDD
789 | :0103140000E8
790 | :010315007077
791 | :010316000DD9
792 | :0103170000E5
793 | :0103180020C4
794 | :010319005F84
795 | :01031A00449E
796 | :01031B0000E1
797 | :01031C007070
798 | :01031D000FD0
799 | :01031E0004DA
800 | :01031F007469
801 | :0103200008D4
802 | :0103210000DB
803 | :0103220030AA
804 | :010323004C8D
805 | :010324004098
806 | :01032500785F
807 | :0103260004D2
808 | :0103270000D5
809 | :010328007064
810 | :010329004F84
811 | :01032A00448E
812 | :01032B00646D
813 | :01032C0018B8
814 | :01032D0000CF
815 | :01032E00408E
816 | :01032F0000CD
817 | :0103300000CC
818 | :0103310000CB
819 | :01033200309A
820 | :010333004881
821 | :010334004484
822 | :010335004483
823 | :0103360000C6
824 | :010337003095
825 | :010338004C78
826 | :01033900447F
827 | :01033A00348E
828 | :01033B0008B9
829 | :01033C0000C0
830 | :01033D00704F
831 | :01033E000CB2
832 | :01033F0004B9
833 | :010340007448
834 | :0103410008B3
835 | :0103420004B6
836 | :010343007C3D
837 | :0103440000B8
838 | :010345008037
839 | :010346007046
840 | :010347000CA9
841 | :0103480003B1
842 | :0103490000B3
843 | :01034A003082
844 | :01034B004869
845 | :01034C00446C
846 | :01034D00446B
847 | :01034E0000AE
848 | :01034F00703D
849 | :010350000F9D
850 | :0103510004A7
851 | :010352007436
852 | :0103530008A1
853 | :0103540000A8
854 | :010355002087
855 | :010356005452
856 | :010357005451
857 | :010358007C28
858 | :0103590000A3
859 | :01035A0000A2
860 | :01035B007031
861 | :01035C000C94
862 | :01035D00049B
863 | :01035E00049A
864 | :01035F00306D
865 | :010360004854
866 | :010361004457
867 | :010362004456
868 | :010363000099
869 | :010364003068
870 | :010365004C4B
871 | :010366004452
872 | :010367003461
873 | :01036800088C
874 | :010369000093
875 | :01036A007022
876 | :01036B000F82
877 | :01036C000090
878 | :01036D00305F
879 | :01036E005836
880 | :01036F005439
881 | :010370005438
882 | :010371001873
883 | :01037200008A
884 | :010373000089
885 | :010374000088
886 | :010375000087
887 | :010376000086
888 | :010377000085
889 | :010378000084
890 | :010379000083
891 | :01037A000082
892 | :01037B000081
893 | :01037C000080
894 | :01037D00007F
895 | :01037E00007E
896 | :01037F00007D
897 | :01038000007C
898 | :01038100007B
899 | :01038200007A
900 | :010383000079
901 | :010384000078
902 | :010385000077
903 | :010386000076
904 | :010387000075
905 | :010388007EF6
906 | :010389004A29
907 | :01038A004E24
908 | :01038B003041
909 | :01038C000070
910 | :01038D0070FF
911 | :01038E00541A
912 | :01038F005419
913 | :010390007CF0
914 | :01039100006B
915 | :010392003832
916 | :010393004425
917 | :010394004424
918 | :010395007FE8
919 | :010396000066
920 | :010397000065
921 | :010398000064
922 | :010399004C17
923 | :01039A00540E
924 | :01039B0074ED
925 | :01039C00045C
926 | :01039D003827
927 | :01039E00E07E
928 | :01039F001C41
929 | :0103A000005C
930 | :0103A1007CDF
931 | :0103A2000456
932 | :0103A3000455
933 | :0103A4007CDC
934 | :0103A5000057
935 | :0103A600381E
936 | :0103A7004411
937 | :0103A8004410
938 | :0103A900440F
939 | :0103AA000052
940 | :0103AB000051
941 | :0103AC004C04
942 | :0103AD0054FB
943 | :0103AE0074DA
944 | :0103AF00004D
945 | :0103B0007ECE
946 | :0103B100004B
947 | :0103B2003812
948 | :0103B3004405
949 | :0103B4004404
950 | :0103B500FC4B
951 | :0103B6000046
952 | :0103B7007CC9
953 | :0103B8000440
954 | :0103B900043F
955 | :0103BA007CC6
956 | :0103BB000041
957 | :0103BC0070D0
958 | :0103BD0054EB
959 | :0103BE0054EA
960 | :0103BF007CC1
961 | :0103C000003C
962 | :0103C1007FBC
963 | :0103C200003A
964 | :0103C3000039
965 | :0103C4000434
966 | :0103C5007FB8
967 | :0103C6000531
968 | :0103C7007DB8
969 | :0103C8000430
970 | :0103C900042F
971 | :0103CA0038FA
972 | :0103CB0044ED
973 | :0103CC0044EC
974 | :0103CD0038F7
975 | :0103CE00002E
976 | :0103CF007CB1
977 | :0103D0000428
978 | :0103D1000427
979 | :0103D20078B2
980 | :0103D3000425
981 | :0103D4000424
982 | :0103D5007CAB
983 | :0103D6000026
984 | :0103D7000025
985 | :0103D8000024
986 | :0103D9007EA5
987 | :0103DA00061C
988 | :0103DB001809
989 | :0103DC002000
990 | :0103DD007EA1
991 | :0103DE00001E
992 | :0103DF0038E5
993 | :0103E00054C8
994 | :0103E10054C7
995 | :0103E20058C2
996 | :0103E3000019
997 | :0103E40038E0
998 | :0103E50044D3
999 | :0103E60044D2
1000 | :0103E70038DD
1001 | :0103E8000014
1002 | :0103E9000013
1003 | :0103EA000012
1004 | :0103EB003CD5
1005 | :0103EC0066AA
1006 | :0103ED0042CD
1007 | :0103EE004AC4
1008 | :0103EF007A93
1009 | :0103F000000C
1010 | :0103F10038D3
1011 | :0103F20054B6
1012 | :0103F30054B5
1013 | :0103F40058B0
1014 | :0103F5000007
1015 | :0103F60038CE
1016 | :0103F70044C1
1017 | :0103F80044C0
1018 | :0103F90038CB
1019 | :0103FA000002
1020 | :0103FB000001
1021 | :0103FC000000
1022 | :0103FD0000FF
1023 | :0103FE0000FE
1024 | :0103FF0000FD
1025 | :0104000000FB
1026 | :0104010000FA
1027 | :01040200FFFA
1028 | :0104030008F0
1029 | :0104040008EF
1030 | :0104050008EE
1031 | :0104060008ED
1032 | :01040700FFF5
1033 | :0104080000F3
1034 | :010409008072
1035 | :01040A007081
1036 | :01040B002EC2
1037 | :01040C0021CE
1038 | :01040D002EC0
1039 | :01040E00F0FD
1040 | :01040F00806C
1041 | :0104100000EB
1042 | :01041100FFEB
1043 | :010412008069
1044 | :010413008068
1045 | :010414008067
1046 | :010415008066
1047 | :0104160000E5
1048 | :01041700FFE5
1049 | :0104180009DA
1050 | :0104190009D9
1051 | :01041A0009D8
1052 | :01041B0001DF
1053 | :01041C0000DF
1054 | :01041D0000DE
1055 | :01041E0000DD
1056 | :01041F0000DC
1057 | :0104200000DB
1058 | :01042100FFDB
1059 | :010422008950
1060 | :01042300894F
1061 | :01042400894E
1062 | :010425007660
1063 | :0104260000D5
1064 | :0104270000D4
1065 | :01042800FFD4
1066 | :0104290011C1
1067 | :01042A0011C0
1068 | :01042B00319F
1069 | :01042C004E81
1070 | :01042D00804E
1071 | :01042E0000CD
1072 | :01042F00814B
1073 | :01043000FFCC
1074 | :010431008149
1075 | :0104320000C9
1076 | :0104330000C8
1077 | :010434003C8B
1078 | :010435004284
1079 | :010436008144
1080 | :010437009133
1081 | :010438009132
1082 | :010439007250
1083 | :01043A0000C1
1084 | :01043B0000C0
1085 | :01043C00FFC0
1086 | :01043D0008B6
1087 | :01043E0008B5
1088 | :01043F0008B4
1089 | :0104400008B3
1090 | :01044100FFBB
1091 | :0104420000B9
1092 | :0104430001B7
1093 | :0104440001B6
1094 | :0104450001B5
1095 | :01044600FFB6
1096 | :0104470001B3
1097 | :0104480001B2
1098 | :0104490001B1
1099 | :01044A0000B1
1100 | :01044B0000B0
1101 | :01044C0000AF
1102 | :01044D0000AE
1103 | :01044E0000AD
1104 | :01044F0000AC
1105 | :0104500000AB
1106 | :01045100CEDC
1107 | :010452008920
1108 | :01045300891F
1109 | :010454009116
1110 | :010455009115
1111 | :010456007233
1112 | :0104570000A4
1113 | :0104580000A3
1114 | :010459003C66
1115 | :01045A00425F
1116 | :01045B00811F
1117 | :01045C00811E
1118 | :01045D00811D
1119 | :01045E00425B
1120 | :01045F00009C
1121 | :01046000801B
1122 | :01046100702A
1123 | :010462002E6B
1124 | :010463002177
1125 | :010464002E69
1126 | :01046500F0A6
1127 | :010466008015
1128 | :010467000094
1129 | :01046800FF94
1130 | :01046900038F
1131 | :01046A000C85
1132 | :01046B003060
1133 | :01046C00C0CF
1134 | :01046D00FF8F
1135 | :01046E00008D
1136 | :01046F00008C
1137 | :01047000FF8C
1138 | :01047100800A
1139 | :010472008009
1140 | :010473008008
1141 | :010474008007
1142 | :010475000086
1143 | :010476008104
1144 | :01047700FF85
1145 | :010478008102
1146 | :010479000082
1147 | :01047A000081
1148 | :01047B00FF81
1149 | :01047C00037C
1150 | :01047D000C72
1151 | :01047E00304D
1152 | :01047F00C0BC
1153 | :01048000FF7C
1154 | :01048100007A
1155 | :010482000079
1156 | :01048300FF79
1157 | :0104840089EE
1158 | :0104850089ED
1159 | :0104860089EC
1160 | :0104870089EB
1161 | :010488000073
1162 | :01048900CEA4
1163 | :01048A0089E8
1164 | :01048B0089E7
1165 | :01048C0091DE
1166 | :01048D0091DD
1167 | :01048E0072FB
1168 | :01048F00006C
1169 | :01049000006B
1170 | :01049100006A
1171 | :010492000069
1172 | :010493000068
1173 | :010494000067
1174 | :010495000066
1175 | :010496000065
1176 | :010497000064
1177 | :01049800FF64
1178 | :0104990080E2
1179 | :01049A0080E1
1180 | :01049B0080E0
1181 | :01049C0080DF
1182 | :01049D00005E
1183 | :01049E0081DC
1184 | :01049F00FF5D
1185 | :0104A00081DA
1186 | :0104A100005A
1187 | :0104A2000059
1188 | :0104A300FF59
1189 | :0104A4000354
1190 | :0104A5000C4A
1191 | :0104A6003025
1192 | :0104A700C094
1193 | :0104A800FF54
1194 | :0104A9000052
1195 | :0104AA000051
1196 | :0104AB00FF51
1197 | :0104AC0089C6
1198 | :0104AD0089C5
1199 | :0104AE0089C4
1200 | :0104AF0089C3
1201 | :0104B000004B
1202 | :0104B100004A
1203 | :0104B2000049
1204 | :0104B3000048
1205 | :0104B4000047
1206 | :0104B500FF47
1207 | :0104B60081C4
1208 | :0104B70081C3
1209 | :0104B80081C2
1210 | :0104B9004200
1211 | :0104BA003C05
1212 | :0104BB000040
1213 | :0104BC00003F
1214 | :0104BD003C02
1215 | :0104BE0042FB
1216 | :0104BF0081BB
1217 | :0104C00081BA
1218 | :0104C10081B9
1219 | :0104C20042F7
1220 | :0104C3003CFC
1221 | :0104C4000037
1222 | :0104C5000036
1223 | :0104C6007FB6
1224 | :0104C700C074
1225 | :0104C80080B3
1226 | :0104C90080B2
1227 | :0104CA00C071
1228 | :0104CB007FB1
1229 | :0104CC00002F
1230 | :0104CD00002E
1231 | :0104CE00FF2E
1232 | :0104CF0089A3
1233 | :0104D00089A2
1234 | :0104D10089A1
1235 | :0104D20076B3
1236 | :0104D3000028
1237 | :0104D4000027
1238 | :0104D500FF27
1239 | :0104D60080A5
1240 | :0104D70080A4
1241 | :0104D80080A3
1242 | :0104D90080A2
1243 | :0104DA000021
1244 | :0104DB00FF21
1245 | :0104DC008996
1246 | :0104DD008995
1247 | :0104DE008994
1248 | :0104DF008993
1249 | :0104E000001B
1250 | :0104E100001A
1251 | :0104E2000019
1252 | :0104E3000018
1253 | :0104E4000017
1254 | :0104E5000016
1255 | :0104E6000015
1256 | :0104E7000014
1257 | :0104E8000013
1258 | :0104E9000012
1259 | :0104EA000011
1260 | :0104EB000010
1261 | :0104EC00000F
1262 | :0104ED00000E
1263 | :0104EE00000D
1264 | :0104EF00000C
1265 | :0104F000000B
1266 | :0104F100000A
1267 | :0104F2000009
1268 | :0104F3000008
1269 | :0104F4000007
1270 | :0104F5000006
1271 | :0104F6000005
1272 | :0104F7000004
1273 | :0104F8000003
1274 | :0104F9000002
1275 | :0104FA000001
1276 | :0104FB000000
1277 | :0104FC0000FF
1278 | :0104FD0000FE
1279 | :0104FE0000FD
1280 | :0104FF0000FC
1281 | :00000001FF
1282 |
--------------------------------------------------------------------------------
/font/makelogo.c:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include "neogeo.h"
4 |
5 | #define width mwidth
6 | #define height mheight
7 | #define header_data mheader_data
8 | #define header_data_cmap mheader_data_cmap
9 | #include "messages.h"
10 | #undef width
11 | #undef height
12 | #undef header_data
13 | #undef header_data_cmap
14 |
15 | #define CHAR_WIDTH 3
16 |
17 | unsigned char data[CHAR_WIDTH*256+512];
18 |
19 | void fontCreate()
20 | {
21 | int x,y,c=0;
22 | memset(data, 0, sizeof(data));
23 | for (x=0; x