Commit bb1fee86 authored by David S. Miller's avatar David S. Miller
parents 377f0a08 75bf758f
......@@ -55,6 +55,8 @@
#include <asm/system.h>
#include <linux/interrupt.h>
#include <linux/ioport.h>
#include <linux/firmware.h>
#include <linux/platform_device.h>
#include <linux/netdevice.h>
#include <linux/if_arp.h>
......@@ -71,8 +73,6 @@
#include <linux/init.h>
#include <linux/yam.h>
#include "yam9600.h"
#include "yam1200.h"
/* --------------------------------------------------------------------- */
......@@ -82,6 +82,9 @@ static const char yam_drvinfo[] __initdata = KERN_INFO \
/* --------------------------------------------------------------------- */
#define FIRMWARE_9600 "yam/9600.bin"
#define FIRMWARE_1200 "yam/1200.bin"
#define YAM_9600 1
#define YAM_1200 2
......@@ -342,9 +345,51 @@ static int fpga_write(int iobase, unsigned char wrd)
return 0;
}
static unsigned char *add_mcs(unsigned char *bits, int bitrate)
/*
* predef should be 0 for loading user defined mcs
* predef should be YAM_1200 for loading predef 1200 mcs
* predef should be YAM_9600 for loading predef 9600 mcs
*/
static unsigned char *add_mcs(unsigned char *bits, int bitrate,
unsigned int predef)
{
const char *fw_name[2] = {FIRMWARE_9600, FIRMWARE_1200};
const struct firmware *fw;
struct platform_device *pdev;
struct yam_mcs *p;
int err;
switch (predef) {
case 0:
fw = NULL;
break;
case YAM_1200:
case YAM_9600:
predef--;
pdev = platform_device_register_simple("yam", 0, NULL, 0);
if (IS_ERR(pdev)) {
printk(KERN_ERR "yam: Failed to register firmware\n");
return NULL;
}
err = request_firmware(&fw, fw_name[predef], &pdev->dev);
platform_device_unregister(pdev);
if (err) {
printk(KERN_ERR "Failed to load firmware \"%s\"\n",
fw_name[predef]);
return NULL;
}
if (fw->size != YAM_FPGA_SIZE) {
printk(KERN_ERR "Bogus length %zu in firmware \"%s\"\n",
fw->size, fw_name[predef]);
release_firmware(fw);
return NULL;
}
bits = (unsigned char *)fw->data;
break;
default:
printk(KERN_ERR "yam: Invalid predef number %u\n", predef);
return NULL;
}
/* If it already exists, replace the bit data */
p = yam_data;
......@@ -359,6 +404,7 @@ static unsigned char *add_mcs(unsigned char *bits, int bitrate)
/* Allocate a new mcs */
if ((p = kmalloc(sizeof(struct yam_mcs), GFP_KERNEL)) == NULL) {
printk(KERN_WARNING "YAM: no memory to allocate mcs\n");
release_firmware(fw);
return NULL;
}
memcpy(p->bits, bits, YAM_FPGA_SIZE);
......@@ -366,6 +412,7 @@ static unsigned char *add_mcs(unsigned char *bits, int bitrate)
p->next = yam_data;
yam_data = p;
release_firmware(fw);
return p->bits;
}
......@@ -383,9 +430,11 @@ static unsigned char *get_mcs(int bitrate)
/* Load predefined mcs data */
switch (bitrate) {
case 1200:
return add_mcs(bits_1200, bitrate);
/* setting predef as YAM_1200 for loading predef 1200 mcs */
return add_mcs(NULL, bitrate, YAM_1200);
default:
return add_mcs(bits_9600, bitrate);
/* setting predef as YAM_9600 for loading predef 9600 mcs */
return add_mcs(NULL, bitrate, YAM_9600);
}
}
......@@ -936,7 +985,8 @@ static int yam_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
kfree(ym);
return -EINVAL;
}
add_mcs(ym->bits, ym->bitrate);
/* setting predef as 0 for loading userdefined mcs data */
add_mcs(ym->bits, ym->bitrate, 0);
kfree(ym);
break;
......@@ -1159,6 +1209,8 @@ static void __exit yam_cleanup_driver(void)
MODULE_AUTHOR("Frederic Rible F1OAT frible@teaser.fr");
MODULE_DESCRIPTION("Yam amateur radio modem driver");
MODULE_LICENSE("GPL");
MODULE_FIRMWARE(FIRMWARE_1200);
MODULE_FIRMWARE(FIRMWARE_9600);
module_init(yam_init_driver);
module_exit(yam_cleanup_driver);
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -42,6 +42,7 @@
#include <linux/ethtool.h>
#include <linux/mii.h>
#include <linux/jiffies.h>
#include <linux/firmware.h>
#include <pcmcia/cs_types.h>
#include <pcmcia/cs.h>
......@@ -55,17 +56,18 @@
#include <asm/system.h>
#include <asm/uaccess.h>
/* Ositech Seven of Diamonds firmware */
#include "ositech.h"
/*====================================================================*/
static const char *if_names[] = { "auto", "10baseT", "10base2"};
/* Firmware name */
#define FIRMWARE_NAME "ositech/Xilinx7OD.bin"
/* Module parameters */
MODULE_DESCRIPTION("SMC 91c92 series PCMCIA ethernet driver");
MODULE_LICENSE("GPL");
MODULE_FIRMWARE(FIRMWARE_NAME);
#define INT_MODULE_PARM(n, v) static int n = v; module_param(n, int, 0)
......@@ -771,6 +773,26 @@ static int osi_config(struct pcmcia_device *link)
return i;
}
static int osi_load_firmware(struct pcmcia_device *link)
{
const struct firmware *fw;
int i, err;
err = request_firmware(&fw, FIRMWARE_NAME, &link->dev);
if (err) {
pr_err("Failed to load firmware \"%s\"\n", FIRMWARE_NAME);
return err;
}
/* Download the Seven of Diamonds firmware */
for (i = 0; i < fw->size; i++) {
outb(fw->data[i], link->io.BasePort1 + 2);
udelay(50);
}
release_firmware(fw);
return err;
}
static int osi_setup(struct pcmcia_device *link, u_short manfid, u_short cardid)
{
struct net_device *dev = link->priv;
......@@ -811,11 +833,9 @@ static int osi_setup(struct pcmcia_device *link, u_short manfid, u_short cardid)
(cardid == PRODID_OSITECH_SEVEN)) ||
((manfid == MANFID_PSION) &&
(cardid == PRODID_PSION_NET100))) {
/* Download the Seven of Diamonds firmware */
for (i = 0; i < sizeof(__Xilinx7OD); i++) {
outb(__Xilinx7OD[i], link->io.BasePort1+2);
udelay(50);
}
rc = osi_load_firmware(link);
if (rc)
goto free_cfg_mem;
} else if (manfid == MANFID_OSITECH) {
/* Make sure both functions are powered up */
set_bits(0x300, link->io.BasePort1 + OSITECH_AUI_PWR);
......@@ -862,10 +882,10 @@ static int smc91c92_resume(struct pcmcia_device *link)
(smc->cardid == PRODID_OSITECH_SEVEN)) ||
((smc->manfid == MANFID_PSION) &&
(smc->cardid == PRODID_PSION_NET100))) {
/* Download the Seven of Diamonds firmware */
for (i = 0; i < sizeof(__Xilinx7OD); i++) {
outb(__Xilinx7OD[i], link->io.BasePort1+2);
udelay(50);
i = osi_load_firmware(link);
if (i) {
pr_err("smc91c92_cs: Failed to load firmware\n");
return i;
}
}
if (link->open) {
......
......@@ -62,6 +62,7 @@
#include <linux/pci.h>
#include <linux/spinlock.h>
#include <linux/bitops.h>
#include <linux/firmware.h>
#include <net/checksum.h>
......@@ -73,8 +74,10 @@
static char version[] __devinitdata =
"3c359.c v1.2.0 2/17/01 - Mike Phillips (mikep@linuxtr.net)" ;
#define FW_NAME "3com/3C359.bin"
MODULE_AUTHOR("Mike Phillips <mikep@linuxtr.net>") ;
MODULE_DESCRIPTION("3Com 3C359 Velocity XL Token Ring Adapter Driver \n") ;
MODULE_FIRMWARE(FW_NAME);
/* Module paramters */
......@@ -114,8 +117,6 @@ MODULE_PARM_DESC(message_level, "3c359: Level of reported messages") ;
* will be stuck with 1555 lines of hex #'s in the code.
*/
#include "3c359_microcode.h"
static struct pci_device_id xl_pci_tbl[] =
{
{PCI_VENDOR_ID_3COM,PCI_DEVICE_ID_3COM_3C359, PCI_ANY_ID, PCI_ANY_ID, },
......@@ -364,10 +365,30 @@ static int __devinit xl_probe(struct pci_dev *pdev,
return 0;
}
static int xl_init_firmware(struct xl_private *xl_priv)
{
int err;
err = request_firmware(&xl_priv->fw, FW_NAME, &xl_priv->pdev->dev);
if (err) {
printk(KERN_ERR "Failed to load firmware \"%s\"\n", FW_NAME);
return err;
}
if (xl_priv->fw->size < 16) {
printk(KERN_ERR "Bogus length %zu in \"%s\"\n",
xl_priv->fw->size, FW_NAME);
release_firmware(xl_priv->fw);
err = -EINVAL;
}
return err;
}
static int __devinit xl_init(struct net_device *dev)
{
struct xl_private *xl_priv = netdev_priv(dev);
int err;
printk(KERN_INFO "%s \n", version);
printk(KERN_INFO "%s: I/O at %hx, MMIO at %p, using irq %d\n",
......@@ -375,8 +396,11 @@ static int __devinit xl_init(struct net_device *dev)
spin_lock_init(&xl_priv->xl_lock) ;
return xl_hw_reset(dev) ;
err = xl_init_firmware(xl_priv);
if (err == 0)
err = xl_hw_reset(dev);
return err;
}
......@@ -396,6 +420,9 @@ static int xl_hw_reset(struct net_device *dev)
u16 start ;
int j ;
if (xl_priv->fw == NULL)
return -EINVAL;
/*
* Reset the card. If the card has got the microcode on board, we have
* missed the initialization interrupt, so we must always do this.
......@@ -458,25 +485,30 @@ static int xl_hw_reset(struct net_device *dev)
/*
* Now to write the microcode into the shared ram
* The microcode must finish at position 0xFFFF, so we must subtract
* to get the start position for the code
* The microcode must finish at position 0xFFFF,
* so we must subtract to get the start position for the code
*
* Looks strange but ensures compiler only uses
* 16 bit unsigned int
*/
start = (0xFFFF - (mc_size) + 1 ) ; /* Looks strange but ensures compiler only uses 16 bit unsigned int for this */
start = (0xFFFF - (xl_priv->fw->size) + 1) ;
printk(KERN_INFO "3C359: Uploading Microcode: ");
for (i = start, j = 0; j < mc_size; i++, j++) {
writel(MEM_BYTE_WRITE | 0XD0000 | i, xl_mmio + MMIO_MAC_ACCESS_CMD) ;
writeb(microcode[j],xl_mmio + MMIO_MACDATA) ;
for (i = start, j = 0; j < xl_priv->fw->size; i++, j++) {
writel(MEM_BYTE_WRITE | 0XD0000 | i,
xl_mmio + MMIO_MAC_ACCESS_CMD);
writeb(xl_priv->fw->data[j], xl_mmio + MMIO_MACDATA);
if (j % 1024 == 0)
printk(".");
}
printk("\n") ;
for (i=0;i < 16; i++) {
writel( (MEM_BYTE_WRITE | 0xDFFF0) + i, xl_mmio + MMIO_MAC_ACCESS_CMD) ;
writeb(microcode[mc_size - 16 + i], xl_mmio + MMIO_MACDATA) ;
for (i = 0; i < 16; i++) {
writel((MEM_BYTE_WRITE | 0xDFFF0) + i,
xl_mmio + MMIO_MAC_ACCESS_CMD);
writeb(xl_priv->fw->data[xl_priv->fw->size - 16 + i],
xl_mmio + MMIO_MACDATA);
}
/*
......@@ -1782,6 +1814,7 @@ static void __devexit xl_remove_one (struct pci_dev *pdev)
struct net_device *dev = pci_get_drvdata(pdev);
struct xl_private *xl_priv=netdev_priv(dev);
release_firmware(xl_priv->fw);
unregister_netdev(dev);
iounmap(xl_priv->xl_mmio) ;
pci_release_regions(pdev) ;
......
......@@ -284,5 +284,8 @@ struct xl_private {
u8 xl_laa[6] ;
u32 rx_ring_dma_addr ;
u32 tx_ring_dma_addr ;
/* firmware section */
const struct firmware *fw;
};
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
......@@ -26,6 +26,7 @@ fw-shipped- += acenic/tg1.bin
else
acenic-objs := acenic/tg1.bin acenic/tg2.bin
endif
fw-shipped-$(CONFIG_3C359) += 3com/3C359.bin
fw-shipped-$(CONFIG_ACENIC) += $(acenic-objs)
fw-shipped-$(CONFIG_ADAPTEC_STARFIRE) += adaptec/starfire_rx.bin \
adaptec/starfire_tx.bin
......@@ -39,6 +40,7 @@ fw-shipped-$(CONFIG_CHELSIO_T3) += cxgb3/t3b_psram-1.1.0.bin \
fw-shipped-$(CONFIG_DVB_TTUSB_BUDGET) += ttusb-budget/dspbootcode.bin
fw-shipped-$(CONFIG_E100) += e100/d101m_ucode.bin e100/d101s_ucode.bin \
e100/d102e_ucode.bin
fw-shipped-$(CONFIG_PCMCIA_SMC91C92) += ositech/Xilinx7OD.bin
fw-shipped-$(CONFIG_SMCTR) += tr_smctr.bin
fw-shipped-$(CONFIG_SND_KORG1212) += korg/k1212.dsp
fw-shipped-$(CONFIG_SND_MAESTRO3) += ess/maestro3_assp_kernel.fw \
......@@ -91,6 +93,7 @@ fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_PDA) += keyspan_pda/keyspan_pda.fw
fw-shipped-$(CONFIG_USB_SERIAL_XIRCOM) += keyspan_pda/xircom_pgs.fw
fw-shipped-$(CONFIG_USB_VICAM) += vicam/firmware.fw
fw-shipped-$(CONFIG_VIDEO_CPIA2) += cpia2/stv0672_vp4.bin
fw-shipped-$(CONFIG_YAM) += yam/1200.bin yam/9600.bin
fw-shipped-all := $(fw-shipped-y) $(fw-shipped-m) $(fw-shipped-)
......
......@@ -493,3 +493,53 @@ Licence:
Found in hex form in kernel source.
--------------------------------------------------------------------------
Driver: YAM - YAM driver for AX.25
File: yam/1200.bin
File: yam/9600.bin
Licence:
* (C) F6FBB 1998
Found in hex form in kernel source.
--------------------------------------------------------------------------
Driver: 3C359 - 3Com 3C359 Token Link Velocity XL adapter
File: 3com/3C359.bin
Licence:
/*
* The firmware this driver downloads into the tokenring card is a
* separate program and is not GPL'd source code, even though the Linux
* side driver and the routine that loads this data into the card are.
*
* This firmware is licensed to you strictly for use in conjunction
* with the use of 3Com 3C359 TokenRing adapters. There is no
* waranty expressed or implied about its fitness for any purpose.
*/
/* 3c359_microcode.mac: 3Com 3C359 Tokenring microcode.
*
* Notes:
* - Loaded from xl_init upon adapter initialization.
*
* Available from 3Com as part of their standard 3C359 driver.
*/
Found in hex form in kernel source.
--------------------------------------------------------------------------
Driver: PCMCIA_SMC91C92 - SMC 91Cxx PCMCIA
File: ositech/Xilinx7OD.bin
Licence: Allegedly GPL, but no source visible. Marked:
This file contains the firmware of Seven of Diamonds from OSITECH.
(Special thanks to Kevin MacPherson of OSITECH)
Found in hex form in kernel source.
--------------------------------------------------------------------------
:10000000FF04A036F3ECFFFFFFDFFBFFF3FFFFFF72
:10001000EF3FFFF7FFFFFFFFEF7FFEFFCEFEFEFE8D
:10002000FEDEBDDDFDFFFDCFF7BF7FFF7F3FFEBFE3
:10003000FFFFFFBCFFFFBDB57F7FBFBF7FFFEFFFAF
:10004000FFFFFBFFF7F7FFFFFFFFFEDEFEFEFADE1E
:10005000BDFDEDFDFDCFEFEFEFEFC7DFDFDFDFDF52
:10006000FF7EFEFD7D6DEEFE7CFBF4FBCFDBDFFF54
:10007000FFBB7FFF7FFFF7FF9EBF3BBFBF7F7F7F41
:100080007E6FDFEFF5F6FDF6F5EDEBFFEFEFEF7EC0
:100090007F7F6F7FFFFEFEFEFEFEEFBFFFFFFFFFD5
:1000A000FFFFFFFFFFFFBC1F1FEEFFBCB7FFDFFF1F
:1000B000DFEF3BE3D3FFFBFFFFDFFFFFFFBABF2D07
:1000C000DBBDFDDBDFFAFBFFEFFBDBF3FFDFFD7FDB
:1000D000EFFBFFFFBEBF27BAFEFBDFFFF6FFFFEF20
:1000E000FBDBF3D99A3FFFAFBFFFFFBE3F37BD96A3
:1000F000FFFFFFFFFFFFAEFBF3F3EBFFFFFFFFFF91
:10010000FFF7FABCAEFEBEFEBB7FFDFF7FEFF7FB45
:10011000BBD7F77FFFF7FFFFF7BCEDFDBD9D7D7BF4
:10012000FB7B7BFBAFFFFEFDFDFEFEFFFFFFFFF74E
:10013000AAB9BF8FBFDFFF7FFFFF7FCFFBEBCBEB0A
:10014000EEFFFFD7FFFFFF3E333F1C7CFCFFFFFFAE
:10015000FFFFCFD3F3E3F3FBFFFFFFFFFFEBFE3522
:100160003F3DFDFDFFFFFFBFFFEF6FE3E3E3EFFF69
:10017000FFDFFFFFF7FE3E5EFEFFFFFFFFFDFFFF1D
:10018000AFCFF2CBCF8EFFFFFFFFFFFDFC3E1F9EE8
:10019000ADFDFFFFBFFFFFEFFFB3F7E7F7FAFFFF8C
:1001A000FFFFFFEEEBABAF9FE37FFFDEFF7FEEFFD6
:1001B000FFFB3AFAFFF277FFFFF7FEFFFEBDAEDE70
:1001C0007D7DFDFFBFEEFFFDFFDBFBFFF7EFFBFFDC
:1001D000FFFEFF2DAFB9FD79FBFAFFBFEFFFFF91E7
:1001E000FAFBDFF7F7FFFFFFFCCF37BFBFFF7F7FD3
:1001F000FFFFFFAFFFFFF3FBFBFFF5EFFFFFF7FA9A
:10020000FFFFEEFAFEFB55DDFF7FAFFEFFFBFBF5C8
:10021000FFF7EFFFFFFFBEBDBDBDBD7D7B7B7B7BE1
:10022000FBAEFFFDFEFFFFFFFFFFFFFFF7DAB76149
:10023000FFB959F373F3DF7F6FDFEFF7EBEBD7FF16
:10024000D7FFFFF7FE7FFB3E3873F67FFCFFFFCF43
:10025000FFB7FBB3B367FFE7FDFFEFF67FB7BCF572
:100260007BF6F7F5FFFFEFFFF7FFF7CEE7FF9FFF06
:10027000FFF5FE7DFF5FFFFFFFFFFFFFFFEFFFF6D4
:10028000CBDBEEFEFFDFFFFFFFFE7FBE1E3EFEFF6D
:100290007DFEFFFFEFBFE7FFE3E3FFDFE7FFFFFFC9
:1002A000B8EFB72FEEFFDFFFBFFF7FEFEBBFA3D3AA
:1002B000FF7FFFFFFFFFF7BEFD3FCFFDFBFFFFFF0F
:1002C000FFFFAFFBBFBBBFDBFDFBFFFFFFFF3EFE42
:1002D0003FBABAFEFFFFFFEFFFEFC37FB29BFFFF06
:1002E000FFFFFEFFFF3CFF3F3CFFFEFFFFFFFFFF66
:1002F000AFF3FEF3E3EBFFFFFFFBFFF79AFEAF9ECA
:10030000BEFEFFDFFFFF7BEFF7BFFBFBFBFFFF7FC7
:10031000FFFFFFBCBDFDBDDD7D7B7B7B7BFBAEFFBF
:10032000FFFFFEFEFFFDFFFFFFF79AFF9FFFAFEF0E
:10033000FFFFFFFF7FCFF3FFEBFFEBFFFFBFFFFFF1
:10034000EFFEFF37FCBFFFFFFFFFFFFFCFEFFDF327
:10035000FFEEFEFFFFFFFFFF6EFD2FFDFFFDFFFF26
:10036000FFFFFFEFCFFFF3BF69FFFFFFFFFFFFFEC0
:10037000FB9FFFBFFDFFFFFFFFFFEF87FEDAEFCF21
:10038000FFFFFFFFFFFFFEEFBFEFEFFDFFFFFFFFF0
:10039000FFEFFDFF7BFFEBFEFFFFFFFFEBF8FFEF43
:1003A000AFFFFFBDFFFFFF7FEE7FEFFFBBFFBFFB98
:1003B000FFFFFFF7F6FBBDFDDDF5FFFFFFFFFFAF22
:1003C000FF5FF5DFFF7FFFFFFFFFFFF6F3FFDEFEBE
:1003D000EFFDFFFFFFFFEFFFDEDF5FDFFDFFFFFF52
:1003E000FFFFFEFFFFFEFEFFFDFFFFFFFFAFFFFF72
:1003F000EFEDFFDFFFFFFBFFFFDABDBEAEFE7FFDCF
:10040000DFFFFF7FEFFFFBFBFB7FF7FFFFFFFFF748
:10041000BCFDBDBDBDFD7B7B7B7BFBAEFFFFFDFF60
:10042000FFFFFDFFFFFFFFFA9FBFBFCF7FFFFFFF73
:10043000FFFFAFFFEBEBEBFFD7FEFFFFBFE7FEBF1A
:100440007FFCFFFFEDFFFFFFFF4FFFFBFBFFFFDD2B
:10045000FFFFFFFFFFFEBDDF9DFDDFB9FFFFFFFFD9
:10046000EFFFFBEFEBFFDEFFFFFFFFFFF69FFFFC61
:10047000FEFBFDFFFFFFFFEFDFFACDCFBF9FFFFFCA
:10048000FFFFF7FEBFFFDFEF5FFFFFFFFF7F6FFFA5
:10049000BBFDFFFFFFFFFFFFFFFF7EFF5FFFBFBF53
:1004A000F9FFFFFF7F6E7BFFEFFDEBDFFFFFFFFF3D
:1004B000F7B63EFCFDBF7EFBFFFFFFF7EFF7F3F75C
:1004C000FFFBFFFFFFFFFFFF6E3579FFBFFCFFFF64
:1004D000FFFFFFEFFB53DFFFEBBFFFFFFFFFFFBCA3
:1004E000FFFFFFBFFFFDFFFFFFFFAFF5FFF7FFFBC4
:1004F000FFFFFFFFFFFFBAAAEEFE3F7DFDFFFFFFFC
:100500007FAF77FBFBFFFBF7FFFFFFFFF7BEBDBD34
:10051000BDBDFD7B7B7B7BFBAEFFEFFFFFFFFFFCE9
:10052000FFFFFFFF9AD9B8FFFF79FFFFFFFFFFCF63
:10053000FBFFEBFFEBD7FFFFFFFFE7DEF8FBFE3F24
:10054000FBFDFFFFFFFFCFADBFFAFF73DFFFFFFF34
:10055000FFFF3AF5B7FC3FF9FDFFFFFF7FEFF3FF29
:10056000BFFEF39FFEFFFFFFF73EFFFFFFBFFFFF52
:10057000FFFFFFFFAFD3FEDBFFDBDFFFFFFFFFFF70
:100580003EFFBFFF7FFFFDFFFFFFFF8FF3FFEDFF8C
:10059000F7FBFFFFFFFFEFF63CFEFFFFFFFFFFFF54
:1005A000FF9FEFEFD1FFFFFFFFFFFFFFFFFF7EBFCA
:1005B000FDFFFFFFFFFFFFFFBBEFDFF1FFFFFFFFCF
:1005C000FFFFFFFFFFEE3EFEFFFFFFFFFFFFFFBF4E
:1005D000EFFDC3FFFFFFFFFFFFFFBFFFFC3EFEFF7E
:1005E000FFFFFFFFFFFFFF2EEFF3FFFFFFFFFFFF08
:1005F000FFFFF7BABEFEFFFFFFFFFFFFFF7FAFFB6E
:10060000FBFDFFFFFFFEFFFFFFF2D6EDBDBDBD7D91
:100610007B7B7B7BFBAFDFFFFFFFFFFFFFFFFFFF6E
:10062000FF92BFFFFFFFFFFFFFFFFF7FAFEBEBFF7F
:10063000FFFFFFFFFFFFFFE7FE2EFEFFFFFFFFFFB5
:10064000FFFFFF4FEFF3FFFFFFFFFFFFFFFFFFFE87
:100650003CFEFFFFFFFFFFFFFFFFEFCEC3FDFFFFED
:10066000FFFFFFFFFFFFFE5DFFFFFFFFFFFFFFFF3D
:10067000FFEFCFEBFFFFFFFFFFFFFFFFF7EE3EFFB8
:10068000FFFFFFFFFFFFFF7FEFDFE2FFFFFFFBFF4B
:10069000FFFFFFFFF6BEFCFFFFFFFFFFFFFF7FEE48
:1006A0005FE6FFFFFFFFFFFFFFFFFF3E7DFFFFFF56
:1006B000FFFFFFFFFFFFEFF3FBFFFFFFFFFFFFFF6A
:1006C000BFF736BEFEFFFFFFFFFFFFFFFFEFD3F6D2
:1006D000FEFFFFFFFFFFFFFFFFFC7FEEFFFFFFFFBF
:1006E000FFFFFFFFAFEFEBFFFFFFFFFFFFFFFFFF8E
:1006F000BABEFEFFFFFFFFFFFFFFFFEEFBFAFFFFAB
:10070000FFFFFFFFFFFFF7D6FDBDBDBD7D7B7B7B00
:100710007BFBAEFF7EFFFFFFFFFFFFFFFFF7BABFD0
:10072000FFFFFFFFFFFFFFFF7FEFEB6BFFFFFFFF11
:10073000FFFFFFFFF7FEBEFEFFFFFFFFFFFFFFFF14
:100740004FEFF7FFFFFFFFFFFFFFFFEF3E6EFCFFE6
:10075000FFFFFFFFFFFFFFEFC3C9FFFFFFFFFFFF2B
:10076000FFFFFF3EBFFFFFFFFFFFFFFFFFFFEFFBAE
:10077000D5FFFFFFFFFFFFFFFFFFFEFEFEFFFFFFB6
:10078000FFFFFFFFFF6FEFFBFFFFFFFBFFFFFFFF21
:10079000FFF6DFFFFFFFFFFFFFFF7FFEEFFFFFFF23
:1007A000FFFFFFFFFFFFE7FFFEFFF7FFFFFFFFFF7A
:1007B000FF7FFAEFBFFFFFFFFFFFFFFFFFE7FFFE37
:1007C000FFFFFFFFFFFFFFFF7FFEEFBFFFFFFFFF0A
:1007D000FFFFFFFFA7FFFCF7FFFFFFFFFFFFFF7F0C
:1007E000FEAEFFFFFDFFFFFFFFFFFFE7F7FAFFFD94
:1007F000FFFFFFFFFFFFFF7FAFFFFFFFFFFFFFFFD9
:10080000FFFFFFF7BEBDBDBDBD7D7B7B7B7BFBAF2F
:100810007FFFFFFFFFFFFFFFFFFFFFCAFFFFFFFF9D
:10082000FFFFFFFFFF7F6FFFFFFFFFFFFFFFFFFFE8
:10083000FFE7FEFFFFFFFFFFFFFFFFFFFFCFFEFF12
:10084000FFFFFFFFFFFFFFFFFFFEDFFFFFFFFFFFD9
:10085000FFFFFFFFEFFFFEFFFFFFFFFFFFFFFFFFB9
:10086000FEFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFA9
:10087000FFFFFFFFFFFFF7FEFFFFFFFFFFFFFFFF91
:10088000FFFFEFFFFEFFFFFFFBFFFFFFFFE7F2FCB5
:10089000EFFFFFFFFFFFFFFF7FAEEFFFFFFFFFFF59
:1008A000FFFFFFFFF77EFDFFFFFFFFFFFFFFFFFFE3
:1008B000EFFFFEFFFFFFBFFFFFFFBFFFFEFEFFFFDB
:1008C000FFFFFFFFFFFFDFEFDDFEFFFFFFFFFFFF8B
:1008D000FFFFFFFEFEFFFFFFFFFFFFFFFFFFAFEF8A
:1008E000FFFFFFFFFFFFFFFFFFFFBAFEFFFFFFFF5E
:1008F000FFFFFFFFFFEFFAFEFFFFFFFFFFFFFFFF1E
:10090000F69CBDBDBDBD7D7B7B7B7BFBAEFFFFFF52
:10091000FFFFFFFFFFFFFFF77AFFFFFFFFDFFFFF94
:10092000FFFF6FEFF7FFFFFFDFFFFFFFFFFFF7FEA8
:10093000FEFFFFFFDFFFFFFFFFFFCFEBFFFFFFFF2C
:10094000FFFFFFFFFFEF9EFCFFFFFFFFFFFFFFFF2B
:10095000FFEFEFFFFFFFFFFFFFFFFFFFFFFEFFFFC8
:10096000FFFFFFFFFFFFFF7FEFCBFFFFFFFFFFFD5D
:10097000FFFFFFFFBEFDFFFFFFFFFFFFFFFFFFEFDA
:10098000EFFFFFFFDFFFFFFFFFFFFFF8FFFFFFFFAE
:10099000BFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFB7
:1009A000FFFFFEFFFFFFFFFFFFFFFFFFFBAF7FFF2C
:1009B000FFFFDFFFFFFFFFFFFFFEEFFFFFFFFFFF78
:1009C000FFFFFFFFEFFFFFFFFFFFFFFFFFFFBFFF87
:1009D000FEFFFFFFFFFFFFFFFFFFFFAEFFFFFFFF79
:1009E000FFFFFFFFFFFFF7FAFFFFFFFFFFFFFFFF24
:1009F000FF7FEFFFFFFFFFFFFFFFFFFFFFF7BCBD24
:100A0000BDBDBD7D7B7B7B7BFBAFFFFFFFFFFFFFA2
:100A1000FFFFFFFFF7FAFFFFFFFFFFFFFFFFFF7F73
:100A2000AF7FFFFFFFFFFFFFFFFFFFEFFEFFFFFFB7
:100A3000FFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF6
:100A4000FFFFFFFEFFFFFFFFFFFFFBFFFFFFEFFFCB
:100A5000FFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFA7
:100A6000FFFFFFFFFFEFFFFFFFFFFFFFBFFFFFFFE6
:100A7000FFFCFFFFFFFFFFFFFFFFFFFFEFFFFFFF99
:100A8000FFFFFBFFFFFFFFEFFEFF9F9F9F3F3F3FEB
:100A90003F3FFFEFDFDFDFDFCFB7BFBFBFBFFFBC31
:100AA000B99DBDBD7D7B7B7B7BFBEFD7F5F3F1D1A2
:100AB00065E3E3E3A3FFFE7FFEDEDEFFBDBDBDBD5C
:100AC000DFEFFBF7F3F3F3E7E7E7E7E7FBFEFFFF13
:0A0AD000FFFFFFFFFFFFFFFFFFFF26
:00000001FF
This file contains the firmware of Seven of Diamonds from OSITECH.
(Special thanks to Kevin MacPherson of OSITECH)
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment