1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Quelltext EMU

Dieses Thema im Forum "Sonstige Emus" wurde erstellt von darki86, 24. November 2007.

  1. darki86
    Offline

    darki86 Ist gelegentlich hier

    Registriert:
    23. August 2007
    Beiträge:
    50
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Naaaabend...
    Ich frage mich schon seit längerem ob man nicht irgendwo irgendwie an den ein oder anderen Quelltext eines soft EMU´s kommt... google hat mir leider nicht das passende
    ausgespuckt :-$

    Es währe mal sehr interessant zu sehen wie so ein EMU arbeitet.

    Hat da jemand eine idee oder gar div. code´s rumliegen?

    gruß darki
     
    #1
  2. phantom

    Nervigen User Advertisement

  3. phantom
    Offline

    phantom Chef Mod Digital Eliteboard Team

    Registriert:
    5. Juli 2007
    Beiträge:
    32.636
    Zustimmungen:
    17.913
    Punkte für Erfolge:
    113
    Geschlecht:
    männlich
    Eine Idee wäre es wert. Interessant auch auf jeden fall. Morgen werde ich mich mal schlau machen ob es da was geben tut.
     
    #2
  4. darki86
    Offline

    darki86 Ist gelegentlich hier

    Registriert:
    23. August 2007
    Beiträge:
    50
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Hat keine irgendwelche infos ? :-/
     
    #3
  5. haggis
    Offline

    haggis Newbie

    Registriert:
    28. Juli 2008
    Beiträge:
    13
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    AW: Quelltext EMU

    würde mich auch interessieren! opensource wäre doch gerade an dieser stelle angebracht oder nicht?
    immerhin kursiert ja eine pdf mit einer kryptoanalyse des nds-systems durchs netz. wäre der sourcecode frei zugänglich gäbe es sicher schon eine implementierung des dort beschriebenen verfahrens ;)
     
    #4
  6. wolpe
    Offline

    wolpe Newbie

    Registriert:
    27. November 2008
    Beiträge:
    2
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    AW: Quelltext EMU

    Zuerst mal Servus zusammen. mein erster Besuch und da bin
    ich gleich über dieses Posting gestolpert und habe da etwas.
    Zum Thema Emu, da existiert eine Anleitung und nennt sich
    "Emu-Basteln für Nicht-Programmierer" mit dem TuxBox Flash Tool.
    Ist natürlich nicht das Gewünscht aber auch interessant.:11:
    Kann leider keinen Link angeben, aber mit googeln sollte es zu finden sein.
    Mfg.
     
    #5
  7. phantom
    Offline

    phantom Chef Mod Digital Eliteboard Team

    Registriert:
    5. Juli 2007
    Beiträge:
    32.636
    Zustimmungen:
    17.913
    Punkte für Erfolge:
    113
    Geschlecht:
    männlich
    AW: Quelltext EMU

    Hier mal der Gbox Quellcode ältere Generation.


    Code:
    /*	: [URL="http://opengrok.creo.hu/openbsd/s?path=gbox.c"]gbox.c[/URL],v 1.15 2007/01/07 15:13:52 miod Exp $	*/
          2 
          3 /*
          4  * Copyright (c) 2005, Miodrag Vallat
          5  *
          6  * Redistribution and use in source and binary forms, with or without
          7  * modification, are permitted provided that the following conditions
          8  * are met:
          9  * 1. Redistributions of source code must retain the above copyright
         10  *    notice, this list of conditions and the following disclaimer.
         11  * 2. Redistributions in binary form must reproduce the above copyright
         12  *    notice, this list of conditions and the following disclaimer in the
         13  *    documentation [URL="http://opengrok.creo.hu/openbsd/s?path=and/"]and[/URL]/[URL="http://opengrok.creo.hu/openbsd/s?path=and/or"]or[/URL] other materials provided with the distribution.
         14  *
         15  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
         16  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
         17  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
         18  * DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
         19  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
         20  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
         21  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
         22  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
         23  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
         24  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
         25  * POSSIBILITY OF SUCH DAMAGE.
         26  */
         27 /*
         28  * Copyright (c) 1996 Jason R. Thorpe.  All rights reserved.
         29  * Copyright (c) 1988 University of Utah.
         30  * Copyright (c) 1990, 1993
         31  *	The Regents of the University of California.  All rights reserved.
         32  *
         33  * This code is derived from software contributed to Berkeley by
         34  * the Systems Programming Group of the University of Utah Computer
         35  * Science Department.
         36  *
         37  * Redistribution and use in source and binary forms, with or without
         38  * modification, are permitted provided that the following conditions
         39  * are met:
         40  * 1. Redistributions of source code must retain the above copyright
         41  *    notice, this list of conditions and the following disclaimer.
         42  * 2. Redistributions in binary form must reproduce the above copyright
         43  *    notice, this list of conditions and the following disclaimer in the
         44  *    documentation [URL="http://opengrok.creo.hu/openbsd/s?path=and/"]and[/URL]/[URL="http://opengrok.creo.hu/openbsd/s?path=and/or"]or[/URL] other materials provided with the distribution.
         45  * 3. Neither the name of the University nor the names of its contributors
         46  *    may be used to endorse or promote products derived from this software
         47  *    without specific prior written permission.
         48  *
         49  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
         50  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
         51  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
         52  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
         53  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
         54  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
         55  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
         56  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
         57  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
         58  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
         59  * SUCH DAMAGE.
         60  *
         61  * from: Utah : [URL="http://opengrok.creo.hu/openbsd/s?path=grf_gb.c"]grf_gb.c[/URL] 1.18 93/08/13$
         62  *
         63  *	@(#)[URL="http://opengrok.creo.hu/openbsd/s?path=grf_gb.c"]grf_gb.c[/URL]	8.4 (Berkeley) 1/12/94
         64  */
         65 
         66 /*
         67  * Graphics routines for the Gatorbox.
         68  *
         69  * Note: In the context of this system, "gator" and "gatorbox" both refer to
         70  *       HP 987x0 graphics systems.  "Gator" is not used for high res mono.
         71  *       (as in 9837 Gator systems)
         72  */
         73 
         74 #[B]include[/B] <[URL="http://opengrok.creo.hu/openbsd/s?path=sys/param.h"]sys/param.h[/URL]>
         75 #[B]include[/B] <[URL="http://opengrok.creo.hu/openbsd/s?path=sys/systm.h"]sys/systm.h[/URL]>
         76 #[B]include[/B] <[URL="http://opengrok.creo.hu/openbsd/s?path=sys/conf.h"]sys/conf.h[/URL]>
         77 #[B]include[/B] <[URL="http://opengrok.creo.hu/openbsd/s?path=sys/device.h"]sys/device.h[/URL]>
         78 #[B]include[/B] <[URL="http://opengrok.creo.hu/openbsd/s?path=sys/proc.h"]sys/proc.h[/URL]>
         79 #[B]include[/B] <[URL="http://opengrok.creo.hu/openbsd/s?path=sys/ioctl.h"]sys/ioctl.h[/URL]>
         80 
         81 #[B]include[/B] <[URL="http://opengrok.creo.hu/openbsd/s?path=machine/autoconf.h"]machine/autoconf.h[/URL]>
         82 #[B]include[/B] <[URL="http://opengrok.creo.hu/openbsd/s?path=machine/bus.h"]machine/bus.h[/URL]>
         83 #[B]include[/B] <[URL="http://opengrok.creo.hu/openbsd/s?path=machine/cpu.h"]machine/cpu.h[/URL]>
         84 
         85 #[B]include[/B] <[URL="http://opengrok.creo.hu/openbsd/s?path=hp300/dev/dioreg.h"]hp300/dev/dioreg.h[/URL]>
         86 #[B]include[/B] <[URL="http://opengrok.creo.hu/openbsd/s?path=hp300/dev/diovar.h"]hp300/dev/diovar.h[/URL]>
         87 #[B]include[/B] <[URL="http://opengrok.creo.hu/openbsd/s?path=hp300/dev/diodevs.h"]hp300/dev/diodevs.h[/URL]>
         88 #[B]include[/B] <[URL="http://opengrok.creo.hu/openbsd/s?path=hp300/dev/intiovar.h"]hp300/dev/intiovar.h[/URL]>
         89 
         90 #[B]include[/B] <[URL="http://opengrok.creo.hu/openbsd/s?path=dev/wscons/wsconsio.h"]dev/wscons/wsconsio.h[/URL]>
         91 #[B]include[/B] <[URL="http://opengrok.creo.hu/openbsd/s?path=dev/wscons/wsdisplayvar.h"]dev/wscons/wsdisplayvar.h[/URL]>
         92 #[B]include[/B] <[URL="http://opengrok.creo.hu/openbsd/s?path=dev/rasops/rasops.h"]dev/rasops/rasops.h[/URL]>
         93 
         94 #[B]include[/B] <[URL="http://opengrok.creo.hu/openbsd/s?path=hp300/dev/diofbreg.h"]hp300/dev/diofbreg.h[/URL]>
         95 #[B]include[/B] <[URL="http://opengrok.creo.hu/openbsd/s?path=hp300/dev/diofbvar.h"]hp300/dev/diofbvar.h[/URL]>
         96 #[B]include[/B] <[URL="http://opengrok.creo.hu/openbsd/s?path=hp300/dev/gboxreg.h"]hp300/dev/gboxreg.h[/URL]>
         97 
         98 [B]struct[/B]	gbox_softc {
         99 	[B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=device"]device[/URL]	sc_dev;
        100 	[B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=diofb"]diofb[/URL]	*sc_fb;
        101 	[B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=diofb"]diofb[/URL]	sc_fb_store;
        102 	[B]int[/B]		sc_scode;
        103 };
        104 
        105 [B]int[/B]	[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_dio_match"]gbox_dio_match[/URL]([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=device"]device[/URL] *, [B]void[/B] *, [B]void[/B] *);
        106 [B]void[/B]	[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_dio_attach"]gbox_dio_attach[/URL]([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=device"]device[/URL] *, [B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=device"]device[/URL] *, [B]void[/B] *);
        107 [B]int[/B]	[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_intio_match"]gbox_intio_match[/URL]([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=device"]device[/URL] *, [B]void[/B] *, [B]void[/B] *);
        108 [B]void[/B]	[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_intio_attach"]gbox_intio_attach[/URL]([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=device"]device[/URL] *, [B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=device"]device[/URL] *, [B]void[/B] *);
        109 
        110 [B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=cfattach"]cfattach[/URL] gbox_dio_ca = {
        111 	[B]sizeof[/B]([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_softc"]gbox_softc[/URL]), [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_dio_match"]gbox_dio_match[/URL], [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_dio_attach"]gbox_dio_attach[/URL]
        112 };
        113 
        114 [B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=cfattach"]cfattach[/URL] gbox_intio_ca = {
        115 	[B]sizeof[/B]([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_softc"]gbox_softc[/URL]), [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_intio_match"]gbox_intio_match[/URL], [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_intio_attach"]gbox_intio_attach[/URL]
        116 };
        117 
        118 [B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=cfdriver"]cfdriver[/URL] gbox_cd = {
        119 	[URL="http://opengrok.creo.hu/openbsd/s?defs=NULL"]NULL[/URL], "gbox", [URL="http://opengrok.creo.hu/openbsd/s?defs=DV_DULL"]DV_DULL[/URL]
        120 };
        121 
        122 [B]int[/B]	[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_reset"]gbox_reset[/URL]([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=diofb"]diofb[/URL] *, [B]int[/B], [B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=diofbreg"]diofbreg[/URL] *);
        123 [B]void[/B]	[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_restore"]gbox_restore[/URL]([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=diofb"]diofb[/URL] *);
        124 [B]int[/B]	[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_setcmap"]gbox_setcmap[/URL]([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=diofb"]diofb[/URL] *, [B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=wsdisplay_cmap"]wsdisplay_cmap[/URL] *);
        125 [B]void[/B]	[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_setcolor"]gbox_setcolor[/URL]([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=diofb"]diofb[/URL] *, [URL="http://opengrok.creo.hu/openbsd/s?defs=u_int"]u_int[/URL]);
        126 [B]int[/B]	[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_windowmove"]gbox_windowmove[/URL]([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=diofb"]diofb[/URL] *, [URL="http://opengrok.creo.hu/openbsd/s?defs=u_int16_t"]u_int16_t[/URL], [URL="http://opengrok.creo.hu/openbsd/s?defs=u_int16_t"]u_int16_t[/URL], [URL="http://opengrok.creo.hu/openbsd/s?defs=u_int16_t"]u_int16_t[/URL],
        127 	    [URL="http://opengrok.creo.hu/openbsd/s?defs=u_int16_t"]u_int16_t[/URL], [URL="http://opengrok.creo.hu/openbsd/s?defs=u_int16_t"]u_int16_t[/URL], [URL="http://opengrok.creo.hu/openbsd/s?defs=u_int16_t"]u_int16_t[/URL], [URL="http://opengrok.creo.hu/openbsd/s?defs=int16_t"]int16_t[/URL], [URL="http://opengrok.creo.hu/openbsd/s?defs=int16_t"]int16_t[/URL]);
        128 
        129 [B]int[/B]	[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_ioctl"]gbox_ioctl[/URL]([B]void[/B] *, [URL="http://opengrok.creo.hu/openbsd/s?defs=u_long"]u_long[/URL], [URL="http://opengrok.creo.hu/openbsd/s?defs=caddr_t"]caddr_t[/URL], [B]int[/B], [B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=proc"]proc[/URL] *);
        130 [B]void[/B]	[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_burner"]gbox_burner[/URL]([B]void[/B] *, [URL="http://opengrok.creo.hu/openbsd/s?defs=u_int"]u_int[/URL], [URL="http://opengrok.creo.hu/openbsd/s?defs=u_int"]u_int[/URL]);
        131 
        132 [B]struct[/B]	[URL="http://opengrok.creo.hu/openbsd/s?defs=wsdisplay_accessops"]wsdisplay_accessops[/URL]	gbox_accessops = {
        133 	[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_ioctl"]gbox_ioctl[/URL],
        134 	[URL="http://opengrok.creo.hu/openbsd/s?defs=diofb_mmap"]diofb_mmap[/URL],
        135 	[URL="http://opengrok.creo.hu/openbsd/s?defs=diofb_alloc_screen"]diofb_alloc_screen[/URL],
        136 	[URL="http://opengrok.creo.hu/openbsd/s?defs=diofb_free_screen"]diofb_free_screen[/URL],
        137 	[URL="http://opengrok.creo.hu/openbsd/s?defs=diofb_show_screen"]diofb_show_screen[/URL],
        138 	[URL="http://opengrok.creo.hu/openbsd/s?defs=NULL"]NULL[/URL],   /* load_font */
        139 	[URL="http://opengrok.creo.hu/openbsd/s?defs=NULL"]NULL[/URL],   /* scrollback */
        140 	[URL="http://opengrok.creo.hu/openbsd/s?defs=NULL"]NULL[/URL],   /* getchar */
        141 	[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_burner"]gbox_burner[/URL]
        142 };
        143 
        144 /*
        145  * Attachment glue
        146  */
        147 [B]int[/B]
        148 gbox_intio_match([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=device"]device[/URL] *[URL="http://opengrok.creo.hu/openbsd/s?defs=parent"]parent[/URL], [B]void[/B] *[URL="http://opengrok.creo.hu/openbsd/s?defs=match"]match[/URL], [B]void[/B] *[URL="http://opengrok.creo.hu/openbsd/s?defs=aux"]aux[/URL])
        149 {
        150 	[B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=intio_attach_args"]intio_attach_args[/URL] *ia = [URL="http://opengrok.creo.hu/openbsd/s?defs=aux"]aux[/URL];
        151 	[B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=diofbreg"]diofbreg[/URL] *fbr;
        152 
        153 	fbr = ([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=diofbreg"]diofbreg[/URL] *)[URL="http://opengrok.creo.hu/openbsd/s?defs=IIOV"]IIOV[/URL]([URL="http://opengrok.creo.hu/openbsd/s?defs=GRFIADDR"]GRFIADDR[/URL]);
        154 
        155 	[B]if[/B] ([URL="http://opengrok.creo.hu/openbsd/s?defs=badaddr"]badaddr[/URL](([URL="http://opengrok.creo.hu/openbsd/s?defs=caddr_t"]caddr_t[/URL])fbr))
        156 		[B]return[/B] (0);
        157 
        158 	[B]if[/B] (fbr->[URL="http://opengrok.creo.hu/openbsd/s?defs=id"]id[/URL] == [URL="http://opengrok.creo.hu/openbsd/s?defs=GRFHWID"]GRFHWID[/URL] && fbr->[URL="http://opengrok.creo.hu/openbsd/s?defs=fbid"]fbid[/URL] == [URL="http://opengrok.creo.hu/openbsd/s?defs=GID_GATORBOX"]GID_GATORBOX[/URL]) {
        159 		[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#ia"]ia[/URL]->[URL="http://opengrok.creo.hu/openbsd/s?defs=ia_addr"]ia_addr[/URL] = ([URL="http://opengrok.creo.hu/openbsd/s?defs=caddr_t"]caddr_t[/URL])[URL="http://opengrok.creo.hu/openbsd/s?defs=GRFIADDR"]GRFIADDR[/URL];
        160 		[B]return[/B] (1);
        161 	}
        162 
        163 	[B]return[/B] (0);
        164 }
        165 
        166 [B]void[/B]
        167 gbox_intio_attach([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=device"]device[/URL] *[URL="http://opengrok.creo.hu/openbsd/s?defs=parent"]parent[/URL], [B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=device"]device[/URL] *[URL="http://opengrok.creo.hu/openbsd/s?defs=self"]self[/URL], [B]void[/B] *[URL="http://opengrok.creo.hu/openbsd/s?defs=aux"]aux[/URL])
        168 {
        169 	[B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_softc"]gbox_softc[/URL] *sc = ([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_softc"]gbox_softc[/URL] *)[URL="http://opengrok.creo.hu/openbsd/s?defs=self"]self[/URL];
        170 	[B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=diofbreg"]diofbreg[/URL] *fbr;
        171 
        172 	fbr = ([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=diofbreg"]diofbreg[/URL] *)[URL="http://opengrok.creo.hu/openbsd/s?defs=IIOV"]IIOV[/URL]([URL="http://opengrok.creo.hu/openbsd/s?defs=GRFIADDR"]GRFIADDR[/URL]);
        173 	sc->[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#sc_scode"]sc_scode[/URL] = [URL="http://opengrok.creo.hu/openbsd/s?defs=CONSCODE_INTERNAL"]CONSCODE_INTERNAL[/URL];
        174 
        175 	[B]if[/B] (sc->[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#sc_scode"]sc_scode[/URL] == [URL="http://opengrok.creo.hu/openbsd/s?defs=conscode"]conscode[/URL]) {
        176 		sc->[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#sc_fb"]sc_fb[/URL] = &[URL="http://opengrok.creo.hu/openbsd/s?defs=diofb_cn"]diofb_cn[/URL];
        177 	} [B]else[/B] {
        178 		sc->[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#sc_fb"]sc_fb[/URL] = &sc->[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#sc_fb_store"]sc_fb_store[/URL];
        179 		[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_reset"]gbox_reset[/URL](sc->[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#sc_fb"]sc_fb[/URL], sc->[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#sc_scode"]sc_scode[/URL], fbr);
        180 	}
        181 
        182 	[URL="http://opengrok.creo.hu/openbsd/s?defs=diofb_end_attach"]diofb_end_attach[/URL](sc, &[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_accessops"]gbox_accessops[/URL], sc->[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#sc_fb"]sc_fb[/URL],
        183 	    sc->[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#sc_scode"]sc_scode[/URL] == [URL="http://opengrok.creo.hu/openbsd/s?defs=conscode"]conscode[/URL], [URL="http://opengrok.creo.hu/openbsd/s?defs=NULL"]NULL[/URL]);
        184 }
        185 
        186 [B]int[/B]
        187 gbox_dio_match([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=device"]device[/URL] *[URL="http://opengrok.creo.hu/openbsd/s?defs=parent"]parent[/URL], [B]void[/B] *[URL="http://opengrok.creo.hu/openbsd/s?defs=match"]match[/URL], [B]void[/B] *[URL="http://opengrok.creo.hu/openbsd/s?defs=aux"]aux[/URL])
        188 {
        189 	[B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=dio_attach_args"]dio_attach_args[/URL] *da = [URL="http://opengrok.creo.hu/openbsd/s?defs=aux"]aux[/URL];
        190 
        191 	/* We can not appear in DIO-II space */
        192 	[B]if[/B] ([URL="http://opengrok.creo.hu/openbsd/s?defs=DIO_ISDIOII"]DIO_ISDIOII[/URL](da->[URL="http://opengrok.creo.hu/openbsd/s?defs=da_scode"]da_scode[/URL]))
        193 		[B]return[/B] (0);
        194 
        195 	[B]if[/B] (da->[URL="http://opengrok.creo.hu/openbsd/s?defs=da_id"]da_id[/URL] == [URL="http://opengrok.creo.hu/openbsd/s?defs=DIO_DEVICE_ID_FRAMEBUFFER"]DIO_DEVICE_ID_FRAMEBUFFER[/URL] &&
        196 	    da->[URL="http://opengrok.creo.hu/openbsd/s?defs=da_secid"]da_secid[/URL] == [URL="http://opengrok.creo.hu/openbsd/s?defs=DIO_DEVICE_SECID_GATORBOX"]DIO_DEVICE_SECID_GATORBOX[/URL])
        197 		[B]return[/B] (1);
        198 
        199 	[B]return[/B] (0);
        200 }
        201 
        202 [B]void[/B]
        203 gbox_dio_attach([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=device"]device[/URL] *[URL="http://opengrok.creo.hu/openbsd/s?defs=parent"]parent[/URL], [B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=device"]device[/URL] *[URL="http://opengrok.creo.hu/openbsd/s?defs=self"]self[/URL], [B]void[/B] *[URL="http://opengrok.creo.hu/openbsd/s?defs=aux"]aux[/URL])
        204 {
        205 	[B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_softc"]gbox_softc[/URL] *sc = ([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_softc"]gbox_softc[/URL] *)[URL="http://opengrok.creo.hu/openbsd/s?defs=self"]self[/URL];
        206 	[B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=dio_attach_args"]dio_attach_args[/URL] *da = [URL="http://opengrok.creo.hu/openbsd/s?defs=aux"]aux[/URL];
        207 	[B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=diofbreg"]diofbreg[/URL] * fbr;
        208 
        209 	sc->[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#sc_scode"]sc_scode[/URL] = da->[URL="http://opengrok.creo.hu/openbsd/s?defs=da_scode"]da_scode[/URL];
        210 	[B]if[/B] (sc->[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#sc_scode"]sc_scode[/URL] == [URL="http://opengrok.creo.hu/openbsd/s?defs=conscode"]conscode[/URL]) {
        211 		fbr = ([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=diofbreg"]diofbreg[/URL] *)[URL="http://opengrok.creo.hu/openbsd/s?defs=conaddr"]conaddr[/URL];	/* already mapped */
        212 		sc->[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#sc_fb"]sc_fb[/URL] = &[URL="http://opengrok.creo.hu/openbsd/s?defs=diofb_cn"]diofb_cn[/URL];
        213 	} [B]else[/B] {
        214 		sc->[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#sc_fb"]sc_fb[/URL] = &sc->[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#sc_fb_store"]sc_fb_store[/URL];
        215 		fbr = ([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=diofbreg"]diofbreg[/URL] *)
        216 		    [URL="http://opengrok.creo.hu/openbsd/s?defs=iomap"]iomap[/URL]([URL="http://opengrok.creo.hu/openbsd/s?defs=dio_scodetopa"]dio_scodetopa[/URL](sc->[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#sc_scode"]sc_scode[/URL]), da->[URL="http://opengrok.creo.hu/openbsd/s?defs=da_size"]da_size[/URL]);
        217 		[B]if[/B] (fbr == [URL="http://opengrok.creo.hu/openbsd/s?defs=NULL"]NULL[/URL] ||
        218 		    [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_reset"]gbox_reset[/URL](sc->[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#sc_fb"]sc_fb[/URL], sc->[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#sc_scode"]sc_scode[/URL], fbr) != 0) {
        219 			[URL="http://opengrok.creo.hu/openbsd/s?defs=printf"]printf[/URL](": can't map framebuffern");
        220 			[B]return[/B];
        221 		}
        222 	}
        223 
        224 	[URL="http://opengrok.creo.hu/openbsd/s?defs=diofb_end_attach"]diofb_end_attach[/URL](sc, &[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_accessops"]gbox_accessops[/URL], sc->[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#sc_fb"]sc_fb[/URL],
        225 	    sc->[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#sc_scode"]sc_scode[/URL] == [URL="http://opengrok.creo.hu/openbsd/s?defs=conscode"]conscode[/URL], [URL="http://opengrok.creo.hu/openbsd/s?defs=NULL"]NULL[/URL]);
        226 }
        227 
        228 /*
        229  * Initialize hardware and display routines.
        230  */
        231 
        232 [B]const[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=u_int8_t"]u_int8_t[/URL] crtc_init_data[] = {
        233     0x29, 0x20, 0x23, 0x04, 0x30, 0x0b, 0x30,
        234     0x30, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00
        235 };
        236 
        237 [B]int[/B]
        238 gbox_reset([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=diofb"]diofb[/URL] *fb, [B]int[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=scode"]scode[/URL], [B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=diofbreg"]diofbreg[/URL] *fbr)
        239 {
        240 	[B]int[/B] rc;
        241 	[URL="http://opengrok.creo.hu/openbsd/s?defs=u_int"]u_int[/URL] i;
        242 
        243 	/* XXX don't trust hardware, force defaults */
        244 	fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=fbwidth"]fbwidth[/URL] = 1024;
        245 	fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=fbheight"]fbheight[/URL] = 1024;
        246 	fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=dwidth"]dwidth[/URL] = 1024;
        247 	fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=dheight"]dheight[/URL] = 768;
        248 	[B]if[/B] (([URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#rc"]rc[/URL] = [URL="http://opengrok.creo.hu/openbsd/s?defs=diofb_fbinquire"]diofb_fbinquire[/URL](fb, [URL="http://opengrok.creo.hu/openbsd/s?defs=scode"]scode[/URL], fbr)) != 0)
        249 		[B]return[/B] ([URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#rc"]rc[/URL]);
        250 
        251 	fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=bmv"]bmv[/URL] = [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_windowmove"]gbox_windowmove[/URL];
        252 	[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_restore"]gbox_restore[/URL](fb);
        253 
        254 	/*
        255 	 * Find out how many colors are available by determining
        256 	 * which planes are installed.  That is, write all ones to
        257 	 * a frame buffer location, see how many ones are read back.
        258 	 */
        259 	[B]if[/B] (1 /* fb->planes == 0 */) {
        260 		[B]volatile[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=u_int8_t"]u_int8_t[/URL] *fbp;
        261 		[URL="http://opengrok.creo.hu/openbsd/s?defs=u_int8_t"]u_int8_t[/URL] save;
        262 
        263 		[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#fbp"]fbp[/URL] = ([URL="http://opengrok.creo.hu/openbsd/s?defs=u_int8_t"]u_int8_t[/URL] *)fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=fbkva"]fbkva[/URL];
        264 		[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#save"]save[/URL] = *[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#fbp"]fbp[/URL];
        265 		*[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#fbp"]fbp[/URL] = 0xff;
        266 		fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=planemask"]planemask[/URL] = *[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#fbp"]fbp[/URL];
        267 		*[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#fbp"]fbp[/URL] = [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#save"]save[/URL];
        268 
        269 		[B]for[/B] (fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=planes"]planes[/URL] = 1; fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=planemask"]planemask[/URL] >= (1 << fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=planes"]planes[/URL]);
        270 		    fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=planes"]planes[/URL]++);
        271 		[B]if[/B] (fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=planes"]planes[/URL] > 8)
        272 			fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=planes"]planes[/URL] = 8;
        273 		fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=planemask"]planemask[/URL] = (1 << fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=planes"]planes[/URL]) - 1;
        274 	}
        275 
        276 	[URL="http://opengrok.creo.hu/openbsd/s?defs=diofb_fbsetup"]diofb_fbsetup[/URL](fb);
        277 	[B]for[/B] (i = 0; i <= fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=planemask"]planemask[/URL]; i++)
        278 		[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_setcolor"]gbox_setcolor[/URL](fb, i);
        279 
        280 	[B]return[/B] (0);
        281 }
        282 
        283 [B]void[/B]
        284 gbox_restore([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=diofb"]diofb[/URL] *fb)
        285 {
        286 	[B]volatile[/B] [B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=gboxfb"]gboxfb[/URL] *gb = ([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=gboxfb"]gboxfb[/URL] *)fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=regkva"]regkva[/URL];
        287 	[URL="http://opengrok.creo.hu/openbsd/s?defs=u_int"]u_int[/URL] i;
        288 
        289 	/*
        290 	 * The minimal info here is from the Gatorbox X driver.
        291 	 */
        292 	gb->[URL="http://opengrok.creo.hu/openbsd/s?defs=write_protect"]write_protect[/URL] = 0x0;
        293 	gb->[URL="http://opengrok.creo.hu/openbsd/s?defs=regs"]regs[/URL].[URL="http://opengrok.creo.hu/openbsd/s?defs=interrupt"]interrupt[/URL] = 0x4;
        294 	gb->[URL="http://opengrok.creo.hu/openbsd/s?defs=rep_rule"]rep_rule[/URL] = [URL="http://opengrok.creo.hu/openbsd/s?defs=RR_COPY"]RR_COPY[/URL];
        295 	gb->[URL="http://opengrok.creo.hu/openbsd/s?defs=blink1"]blink1[/URL] = 0xff;
        296 	gb->[URL="http://opengrok.creo.hu/openbsd/s?defs=blink2"]blink2[/URL] = 0xff;
        297 
        298 	/*
        299 	 * Program the 6845.
        300 	 */
        301 	[B]for[/B] (i = 0; i < [B]sizeof[/B]([URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#crtc_init_data"]crtc_init_data[/URL]); i++) {
        302 		gb->[URL="http://opengrok.creo.hu/openbsd/s?defs=crtc_address"]crtc_address[/URL] = i;
        303 		gb->[URL="http://opengrok.creo.hu/openbsd/s?defs=crtc_data"]crtc_data[/URL] = [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#crtc_init_data"]crtc_init_data[/URL][i];
        304 	}
        305 
        306 	[URL="http://opengrok.creo.hu/openbsd/s?defs=tile_mover_waitbusy"]tile_mover_waitbusy[/URL](gb);
        307 
        308 	/* Enable display */
        309 	gb->[URL="http://opengrok.creo.hu/openbsd/s?defs=regs"]regs[/URL].[URL="http://opengrok.creo.hu/openbsd/s?defs=sec_interrupt"]sec_interrupt[/URL] = 0x01;
        310 }
        311 
        312 [B]int[/B]
        313 gbox_ioctl([B]void[/B] *v, [URL="http://opengrok.creo.hu/openbsd/s?defs=u_long"]u_long[/URL] [URL="http://opengrok.creo.hu/openbsd/s?defs=cmd"]cmd[/URL], [URL="http://opengrok.creo.hu/openbsd/s?defs=caddr_t"]caddr_t[/URL] [URL="http://opengrok.creo.hu/openbsd/s?defs=data"]data[/URL], [B]int[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=flags"]flags[/URL], [B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=proc"]proc[/URL] *p)
        314 {
        315 	[B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=diofb"]diofb[/URL] *fb = v;
        316 	[B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=wsdisplay_fbinfo"]wsdisplay_fbinfo[/URL] *wdf;
        317 	[URL="http://opengrok.creo.hu/openbsd/s?defs=u_int"]u_int[/URL] i;
        318 
        319 	[B]switch[/B] ([URL="http://opengrok.creo.hu/openbsd/s?defs=cmd"]cmd[/URL]) {
        320 	[B]case[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=WSDISPLAYIO_GTYPE"]WSDISPLAYIO_GTYPE[/URL]:
        321 		*([URL="http://opengrok.creo.hu/openbsd/s?defs=u_int"]u_int[/URL] *)[URL="http://opengrok.creo.hu/openbsd/s?defs=data"]data[/URL] = [URL="http://opengrok.creo.hu/openbsd/s?defs=WSDISPLAY_TYPE_GBOX"]WSDISPLAY_TYPE_GBOX[/URL];
        322 		[B]break[/B];
        323 	[B]case[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=WSDISPLAYIO_SMODE"]WSDISPLAYIO_SMODE[/URL]:
        324 		fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=mapmode"]mapmode[/URL] = *([URL="http://opengrok.creo.hu/openbsd/s?defs=u_int"]u_int[/URL] *)[URL="http://opengrok.creo.hu/openbsd/s?defs=data"]data[/URL];
        325 		[B]if[/B] (fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=mapmode"]mapmode[/URL] == [URL="http://opengrok.creo.hu/openbsd/s?defs=WSDISPLAYIO_MODE_EMUL"]WSDISPLAYIO_MODE_EMUL[/URL]) {
        326 			[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_restore"]gbox_restore[/URL](fb);
        327 			[B]for[/B] (i = 0; i <= fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=planemask"]planemask[/URL]; i++)
        328 				[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_setcolor"]gbox_setcolor[/URL](fb, i);
        329 		}
        330 		[B]break[/B];
        331 	[B]case[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=WSDISPLAYIO_GINFO"]WSDISPLAYIO_GINFO[/URL]:
        332 		[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#wdf"]wdf[/URL] = ([B]void[/B] *)[URL="http://opengrok.creo.hu/openbsd/s?defs=data"]data[/URL];
        333 		[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#wdf"]wdf[/URL]->[URL="http://opengrok.creo.hu/openbsd/s?defs=width"]width[/URL] = fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=ri"]ri[/URL].[URL="http://opengrok.creo.hu/openbsd/s?defs=ri_width"]ri_width[/URL];
        334 		[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#wdf"]wdf[/URL]->[URL="http://opengrok.creo.hu/openbsd/s?defs=height"]height[/URL] = fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=ri"]ri[/URL].[URL="http://opengrok.creo.hu/openbsd/s?defs=ri_height"]ri_height[/URL];
        335 		[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#wdf"]wdf[/URL]->[URL="http://opengrok.creo.hu/openbsd/s?defs=depth"]depth[/URL] = fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=ri"]ri[/URL].[URL="http://opengrok.creo.hu/openbsd/s?defs=ri_depth"]ri_depth[/URL];
        336 		[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#wdf"]wdf[/URL]->[URL="http://opengrok.creo.hu/openbsd/s?defs=cmsize"]cmsize[/URL] = 1 << fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=planes"]planes[/URL];
        337 		[B]break[/B];
        338 	[B]case[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=WSDISPLAYIO_LINEBYTES"]WSDISPLAYIO_LINEBYTES[/URL]:
        339 		*([URL="http://opengrok.creo.hu/openbsd/s?defs=u_int"]u_int[/URL] *)[URL="http://opengrok.creo.hu/openbsd/s?defs=data"]data[/URL] = fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=ri"]ri[/URL].[URL="http://opengrok.creo.hu/openbsd/s?defs=ri_stride"]ri_stride[/URL];
        340 		[B]break[/B];
        341 	[B]case[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=WSDISPLAYIO_GETCMAP"]WSDISPLAYIO_GETCMAP[/URL]:
        342 		[B]return[/B] ([URL="http://opengrok.creo.hu/openbsd/s?defs=diofb_getcmap"]diofb_getcmap[/URL](fb, ([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=wsdisplay_cmap"]wsdisplay_cmap[/URL] *)[URL="http://opengrok.creo.hu/openbsd/s?defs=data"]data[/URL]));
        343 	[B]case[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=WSDISPLAYIO_PUTCMAP"]WSDISPLAYIO_PUTCMAP[/URL]:
        344 		[B]return[/B] ([URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_setcmap"]gbox_setcmap[/URL](fb, ([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=wsdisplay_cmap"]wsdisplay_cmap[/URL] *)[URL="http://opengrok.creo.hu/openbsd/s?defs=data"]data[/URL]));
        345 	[B]case[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=WSDISPLAYIO_GVIDEO"]WSDISPLAYIO_GVIDEO[/URL]:
        346 	[B]case[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=WSDISPLAYIO_SVIDEO"]WSDISPLAYIO_SVIDEO[/URL]:
        347 		[B]break[/B];
        348 	[B]default[/B]:
        349 		[B]return[/B] (-1);
        350 	}
        351 
        352 	[B]return[/B] (0);
        353 }
        354 
        355 [B]void[/B]
        356 gbox_burner([B]void[/B] *v, [URL="http://opengrok.creo.hu/openbsd/s?defs=u_int"]u_int[/URL] [URL="http://opengrok.creo.hu/openbsd/s?defs=on"]on[/URL], [URL="http://opengrok.creo.hu/openbsd/s?defs=u_int"]u_int[/URL] [URL="http://opengrok.creo.hu/openbsd/s?defs=flags"]flags[/URL])
        357 {
        358 	[B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=diofb"]diofb[/URL] *fb = v;
        359 	[B]volatile[/B] [B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=gboxfb"]gboxfb[/URL] *gb = ([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=gboxfb"]gboxfb[/URL] *)fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=regkva"]regkva[/URL];
        360 
        361 	[B]if[/B] ([URL="http://opengrok.creo.hu/openbsd/s?defs=on"]on[/URL])
        362 		gb->[URL="http://opengrok.creo.hu/openbsd/s?defs=regs"]regs[/URL].[URL="http://opengrok.creo.hu/openbsd/s?defs=sec_interrupt"]sec_interrupt[/URL] = 0x01;
        363 	[B]else[/B]
        364 		gb->[URL="http://opengrok.creo.hu/openbsd/s?defs=regs"]regs[/URL].[URL="http://opengrok.creo.hu/openbsd/s?defs=sec_interrupt"]sec_interrupt[/URL] = 0x00;
        365 }
        366 
        367 [B]void[/B]
        368 gbox_setcolor([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=diofb"]diofb[/URL] *fb, [URL="http://opengrok.creo.hu/openbsd/s?defs=u_int"]u_int[/URL] [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#index"]index[/URL])
        369 {
        370 	[B]volatile[/B] [B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=gboxfb"]gboxfb[/URL] *gb = ([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=gboxfb"]gboxfb[/URL] *)fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=regkva"]regkva[/URL];
        371 
        372 	gb->[URL="http://opengrok.creo.hu/openbsd/s?defs=creg_select"]creg_select[/URL] = [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#index"]index[/URL];
        373 	gb->[URL="http://opengrok.creo.hu/openbsd/s?defs=cmap_red"]cmap_red[/URL] = fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=cmap"]cmap[/URL].r[[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#index"]index[/URL]];
        374 	gb->[URL="http://opengrok.creo.hu/openbsd/s?defs=cmap_grn"]cmap_grn[/URL] = fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=cmap"]cmap[/URL].g[[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#index"]index[/URL]];
        375 	gb->[URL="http://opengrok.creo.hu/openbsd/s?defs=cmap_blu"]cmap_blu[/URL] = fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=cmap"]cmap[/URL].b[[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#index"]index[/URL]];
        376 	gb->[URL="http://opengrok.creo.hu/openbsd/s?defs=cmap_write"]cmap_write[/URL] = !![URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#index"]index[/URL];
        377 	[URL="http://opengrok.creo.hu/openbsd/s?defs=gbcm_waitbusy"]gbcm_waitbusy[/URL](gb);
        378 }
        379 
        380 [B]int[/B]
        381 gbox_setcmap([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=diofb"]diofb[/URL] *fb, [B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=wsdisplay_cmap"]wsdisplay_cmap[/URL] *[URL="http://opengrok.creo.hu/openbsd/s?defs=cm"]cm[/URL])
        382 {
        383 	[URL="http://opengrok.creo.hu/openbsd/s?defs=u_int8_t"]u_int8_t[/URL] r[256], g[256], b[256];
        384 	[URL="http://opengrok.creo.hu/openbsd/s?defs=u_int"]u_int[/URL] index = [URL="http://opengrok.creo.hu/openbsd/s?defs=cm"]cm[/URL]->index, count = [URL="http://opengrok.creo.hu/openbsd/s?defs=cm"]cm[/URL]->count;
        385 	[URL="http://opengrok.creo.hu/openbsd/s?defs=u_int"]u_int[/URL] colcount = 1 << fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=planes"]planes[/URL];
        386 	[B]int[/B] error;
        387 
        388 	[B]if[/B] ([URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#index"]index[/URL] >= [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#colcount"]colcount[/URL] || [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#count"]count[/URL] > [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#colcount"]colcount[/URL] - [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#index"]index[/URL])
        389 		[B]return[/B] ([URL="http://opengrok.creo.hu/openbsd/s?defs=EINVAL"]EINVAL[/URL]);
        390 
        391 	[B]if[/B] (([URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#error"]error[/URL] = [URL="http://opengrok.creo.hu/openbsd/s?defs=copyin"]copyin[/URL]([URL="http://opengrok.creo.hu/openbsd/s?defs=cm"]cm[/URL]->[URL="http://opengrok.creo.hu/openbsd/s?defs=red"]red[/URL], r, [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#count"]count[/URL])) != 0)
        392 		[B]return[/B] ([URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#error"]error[/URL]);
        393 	[B]if[/B] (([URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#error"]error[/URL] = [URL="http://opengrok.creo.hu/openbsd/s?defs=copyin"]copyin[/URL]([URL="http://opengrok.creo.hu/openbsd/s?defs=cm"]cm[/URL]->[URL="http://opengrok.creo.hu/openbsd/s?defs=green"]green[/URL], g, [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#count"]count[/URL])) != 0)
        394 		[B]return[/B] ([URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#error"]error[/URL]);
        395 	[B]if[/B] (([URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#error"]error[/URL] = [URL="http://opengrok.creo.hu/openbsd/s?defs=copyin"]copyin[/URL]([URL="http://opengrok.creo.hu/openbsd/s?defs=cm"]cm[/URL]->[URL="http://opengrok.creo.hu/openbsd/s?defs=blue"]blue[/URL], b, [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#count"]count[/URL])) != 0)
        396 		[B]return[/B] ([URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#error"]error[/URL]);
        397 
        398 	[URL="http://opengrok.creo.hu/openbsd/s?defs=bcopy"]bcopy[/URL](r, fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=cmap"]cmap[/URL].r + [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#index"]index[/URL], [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#count"]count[/URL]);
        399 	[URL="http://opengrok.creo.hu/openbsd/s?defs=bcopy"]bcopy[/URL](g, fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=cmap"]cmap[/URL].g + [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#index"]index[/URL], [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#count"]count[/URL]);
        400 	[URL="http://opengrok.creo.hu/openbsd/s?defs=bcopy"]bcopy[/URL](b, fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=cmap"]cmap[/URL].b + [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#index"]index[/URL], [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#count"]count[/URL]);
        401 
        402 	[B]while[/B] ([URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#count"]count[/URL]-- != 0)
        403 		[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_setcolor"]gbox_setcolor[/URL](fb, [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#index"]index[/URL]++);
        404 
        405 	[B]return[/B] (0);
        406 }
        407 
        408 [B]int[/B]
        409 gbox_windowmove([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=diofb"]diofb[/URL] *fb, [URL="http://opengrok.creo.hu/openbsd/s?defs=u_int16_t"]u_int16_t[/URL] [URL="http://opengrok.creo.hu/openbsd/s?defs=sx"]sx[/URL], [URL="http://opengrok.creo.hu/openbsd/s?defs=u_int16_t"]u_int16_t[/URL] [URL="http://opengrok.creo.hu/openbsd/s?defs=sy"]sy[/URL],
        410     [URL="http://opengrok.creo.hu/openbsd/s?defs=u_int16_t"]u_int16_t[/URL] [URL="http://opengrok.creo.hu/openbsd/s?defs=dx"]dx[/URL], [URL="http://opengrok.creo.hu/openbsd/s?defs=u_int16_t"]u_int16_t[/URL] [URL="http://opengrok.creo.hu/openbsd/s?defs=dy"]dy[/URL], [URL="http://opengrok.creo.hu/openbsd/s?defs=u_int16_t"]u_int16_t[/URL] [URL="http://opengrok.creo.hu/openbsd/s?defs=cx"]cx[/URL], [URL="http://opengrok.creo.hu/openbsd/s?defs=u_int16_t"]u_int16_t[/URL] [URL="http://opengrok.creo.hu/openbsd/s?defs=cy"]cy[/URL], [URL="http://opengrok.creo.hu/openbsd/s?defs=int16_t"]int16_t[/URL] [URL="http://opengrok.creo.hu/openbsd/s?defs=rop"]rop[/URL],
        411     [URL="http://opengrok.creo.hu/openbsd/s?defs=int16_t"]int16_t[/URL] [URL="http://opengrok.creo.hu/openbsd/s?defs=planemask"]planemask[/URL])
        412 {
        413 	[B]volatile[/B] [B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=gboxfb"]gboxfb[/URL] *gb = ([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=gboxfb"]gboxfb[/URL] *)fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=regkva"]regkva[/URL];
        414 	[B]int[/B] src, dest;
        415 
        416 	[B]if[/B] ([URL="http://opengrok.creo.hu/openbsd/s?defs=planemask"]planemask[/URL] != 0xff)
        417 		[B]return[/B] ([URL="http://opengrok.creo.hu/openbsd/s?defs=EINVAL"]EINVAL[/URL]);
        418 
        419 	[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#src"]src[/URL]  = ([URL="http://opengrok.creo.hu/openbsd/s?defs=sy"]sy[/URL] * 1024) + [URL="http://opengrok.creo.hu/openbsd/s?defs=sx"]sx[/URL]; /* upper left corner in pixels */
        420 	[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#dest"]dest[/URL] = ([URL="http://opengrok.creo.hu/openbsd/s?defs=dy"]dy[/URL] * 1024) + [URL="http://opengrok.creo.hu/openbsd/s?defs=dx"]dx[/URL];
        421 
        422 	[URL="http://opengrok.creo.hu/openbsd/s?defs=tile_mover_waitbusy"]tile_mover_waitbusy[/URL](gb);
        423 
        424 	gb->[URL="http://opengrok.creo.hu/openbsd/s?defs=width"]width[/URL] = -([URL="http://opengrok.creo.hu/openbsd/s?defs=cx"]cx[/URL] / 4);
        425 	gb->[URL="http://opengrok.creo.hu/openbsd/s?defs=height"]height[/URL] = -([URL="http://opengrok.creo.hu/openbsd/s?defs=cy"]cy[/URL] / 4);
        426 	[B]if[/B] ([URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#src"]src[/URL] < [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#dest"]dest[/URL])
        427 		gb->[URL="http://opengrok.creo.hu/openbsd/s?defs=rep_rule"]rep_rule[/URL] = [URL="http://opengrok.creo.hu/openbsd/s?defs=MOVE_DOWN_RIGHT"]MOVE_DOWN_RIGHT[/URL] | [URL="http://opengrok.creo.hu/openbsd/s?defs=rop"]rop[/URL];
        428 	[B]else[/B] {
        429 		gb->[URL="http://opengrok.creo.hu/openbsd/s?defs=rep_rule"]rep_rule[/URL] = [URL="http://opengrok.creo.hu/openbsd/s?defs=MOVE_UP_LEFT"]MOVE_UP_LEFT[/URL] | [URL="http://opengrok.creo.hu/openbsd/s?defs=rop"]rop[/URL];
        430 		/*
        431 		 * Adjust to top of lower right tile of the block.
        432 		 */
        433 		[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#src"]src[/URL] = [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#src"]src[/URL] + (([URL="http://opengrok.creo.hu/openbsd/s?defs=cy"]cy[/URL] - 4) * 1024) + ([URL="http://opengrok.creo.hu/openbsd/s?defs=cx"]cx[/URL] - 4);
        434 		[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#dest"]dest[/URL]= [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#dest"]dest[/URL] + (([URL="http://opengrok.creo.hu/openbsd/s?defs=cy"]cy[/URL] - 4) * 1024) + ([URL="http://opengrok.creo.hu/openbsd/s?defs=cx"]cx[/URL] - 4);
        435 	}
        436 	*([B]volatile[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=u_int8_t"]u_int8_t[/URL] *)(fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=fbkva"]fbkva[/URL] + [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#dest"]dest[/URL]) =
        437 	    *([B]volatile[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=u_int8_t"]u_int8_t[/URL] *)(fb->[URL="http://opengrok.creo.hu/openbsd/s?defs=fbkva"]fbkva[/URL] + [URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#src"]src[/URL]);
        438 
        439 	[URL="http://opengrok.creo.hu/openbsd/s?defs=tile_mover_waitbusy"]tile_mover_waitbusy[/URL](gb);
        440 
        441 	[B]return[/B] (0);
        442 }
        443 
        444 /*
        445  * Gatorbox console support
        446  */
        447 
        448 [B]void[/B]
        449 gboxcninit()
        450 {
        451 	[URL="http://opengrok.creo.hu/openbsd/xref/src/sys/arch/hp300/dev/gbox.c#gbox_reset"]gbox_reset[/URL](&[URL="http://opengrok.creo.hu/openbsd/s?defs=diofb_cn"]diofb_cn[/URL], [URL="http://opengrok.creo.hu/openbsd/s?defs=conscode"]conscode[/URL], ([B]struct[/B] [URL="http://opengrok.creo.hu/openbsd/s?defs=diofbreg"]diofbreg[/URL] *)[URL="http://opengrok.creo.hu/openbsd/s?defs=conaddr"]conaddr[/URL]);
        452 	[URL="http://opengrok.creo.hu/openbsd/s?defs=diofb_cnattach"]diofb_cnattach[/URL](&[URL="http://opengrok.creo.hu/openbsd/s?defs=diofb_cn"]diofb_cn[/URL]);
        453 }
        454 
     
    #6

Diese Seite empfehlen