RESUMÉ of Charles W. Marslett


May 27, 2016

Charles W. Marslett
1003 Rocky Creek Dr.
Pflugerville, TX  78660

Email Address: cmresume@marslett.net
Home phone: (512) 670-7719
Mobile: (512) 284-3607

Occupational Objective

I enjoy creating solutions to problems that are portable, simple, complete and efficient. I have experience developing platform architectures and novel applications of my coding theory knowlege. I enjoy creating leading edge hardware and software products.

Capabilities

I have many years experience developing computer based systems ranging from monolythic physical and economic simulation systems to operating systems. I have created C language simulators of VHDL and Verilog hardware designs (memory caches, graphics controllers and communication busses) for ARM based System-On-Chip (SOC) designs as well as BCH based forward error correction systems. And I have implemented Windows, Linux and RTOS drivers, system BIOSes, and diagnostic systems for x86, x86-64 and 32-bit ARM based embedded systems.

I am well acquainted with the PCI(e) system architecture, USB and xATA families of peripheral bus architectures and many low level x86 PC development and debugging tools. As well, I have designed several novel software components: a floating point library & operating system for the Atari 8-bit computers, RTOSes for 8- and 16-bit microprocessors, communication protocols for 20-bit parallel busses and self clocking serial busses.

Most recently I have been involed in creating and porting UEFI & BMC firmware, build systems and training materials for development & QA engineers and field support personel. I also performed training in North America, Europe and India on the H2O UEFI firmware and its secure boot and update mechanisms. Additionally, I have remotely supported customers performing customization of UEFI BIOS code.

Hardware Expertise

15+ years experience with Intel and AMD x86 and x86-64 architectures (from SOC to 4-way platforms)
5 years experience with various ARM architectures (SOC platforms)
2 years experience with Motorola and IBM Power architectures (focused on Mac Open Firmware)
1 year experience customizing code for a Tensilica processor using a (standard) custom gcc toolchain

Boot Firmware Expertise

10 years working with Phoenix and Dell Legacy BIOSes for Intel processors
9 years working on EDK and EDK II based UEFI firmware for Intel and AMD processors at Dell, Intel and Insyde
6 years creating training material & training software engineers to build, debug and validate UEFI firmware
6 months working on the Insyde Supervyse BMC firmware family
Firmware developed with Visual Studio/Windows and Linux/gcc environments
Debugging using the American Arium & Intel ITP H/W debuggers and Insyde's H2ODDT debugger

OS Expertise

20 years Microsoft DOS, OS|2 and Windows (development environment, drivers & tools)
15 years Linux tools, several distributions: Red Hat, Debian, Ubuntu, Gentoo, OEL6, Suse, LFS, etc.
4 years AT&T Real Time Unix: Regulus, Unix 7th Edition
4 years Hard Real Time RTOSes: ThreadX, Nucleus, VXworks, custom designs
3 years Linux kernel building and system customization: Gentoo and LFS
Limited experience building Android firmware from source (Cyanogenmod, Slim, etc.)

Programming Languages and Version Control Expertise

High Level Programming languages: C, C++, Java, Fortran and Cobol
Assembly languages: x86, ARM, 6502 & others
Scripting languages: Python, Perl, bash & cmd.exe
Version Control Systems: CVS/RCS, ClearCase(long ago), Subversion and git

Algorithms and Coding Systems

Compression Algorithms: JPEG, MPEG, Lempel-Ziv, ZIP, 7z, etc.
Special purpose: UNICODE, 8b10b, 16b20b
Forward Error Correction: ECC, BCH and Fire codes
Multiple Code Optimization Mechanisms

Personal Data

Born: December 3, 1946
Height: 5 feet, 11 inches   Weight: 180 pounds
Married, 2 adult children
Interests: philosophy, culture, algorithms, movie making, politics, pets and 'thinking'

Education

Texas A&M University
College Station, Texas

I was awarded a BA degree, majoring in mathematics, minoring in physics, with advanced work in computer science, functional analysis and algebra in May, 1967, and briefly worked toward a PhD in topology and functional analysis in the graduate mathematics program for another year in 1971.

Military Service

U. S. Army Air Defense Board (USARADBD)
Fort Bliss, Texas

Science and Engineering Personnel (01E20) -- I performed scientific programming and test data reduction as well as general program conversion tasks. I was discharged from the active reserves on Feb. 25, 1975.

Technical Association Membership

Association for Computing Machinery
11 West 42nd Street
New York, NY   10036

Publications & Patents

 

Publications

DTIC#AD0763751: Aircraft Radiation Code ARC (published by the Defense Techinical Information Center)
MyDOS and MyDOS User Guide (self published for versions 1.0-3.53)
FastChip for Atari 8 bit computers (published by Newell Industries)
FractINT and POVray (DOS EGA/VGA and VESA display code)
Piclab for Microsoft DOS/Windows (one of many partial/intermediate authors)

Issued Patents

7,353,376: Method and system for implementing full BBS functionality with a single device list

7,600,109: Method and system for initializing application processors in a multiprocessor system prior to the initialization of main memory

Provisional Patents

199907: An efficient encoder and decoder for balanced 16 bit binary codes (16b20b)

Incomplete Patent Submissions

I contributed to three patent proposals presented to the VLSI Patent Council in 1997 and 1998 (two related to filtering and scaling of graphics images in hardware and one relating to 3D texture mapping hardware).

I made a presentation in 2009 at Intel Corp. covering a simple multithreading extension to UEFI code in the DXE phase.

 
 

Experience

  

September, 2001 - present
Wordmark Systems
1003 Rocky Creek Dr., Pflugerville, TX  78660

Chief Engineer - I have designed a special file system tolerant of significant bit error rates permitting reliable storage of data files in very poor quality Flash storage devices. An earlier design was for a 16b20b memory interface with no detectable emissions.

February, 2009 - May, 2016
Insyde Software, Inc.
1400 Computer Dr., Westborough, MA  01581

Senior US & European FAE - I created, supported and presented documentation for building, debugging and environment setup for the InsydeH2O UEFI BIOS families. I created build and verification documentation for Insyde's Supervyse BMC products. I supported all Insyde customers in Europe, India and North America. I validated and documented Insyde's recommended Windows and Linux development environments and I presented classes covering Insyde H2O and general UEFI firmware architectures, implementing and customizing UEFI code and debugging tools. Supervyse BMC presentations, bringing up UEFI code on customer hardware, writing "snippets" to be used as model code for customizing InsydeH2O and NRE work were minor parts of my duties as well.

 

August, 2007 - February, 2009
Intel Corp
2800 Center Drive, DuPont, WA  98327

Senior BIOS Engineer - I was the lead BIOS engineer for a small Intel team implementing several UEFI drivers and data structures for a large customer's family of server products and implemented a few factory test tools for Intel's UEFI board test environment. I also led a small team porting legacy BIOS code to a UEFI BIOS for Intel's Ibex Peak based CRB to ease bring-up of the hardware on several customer server and worstation platforms.

February, 2002 - July, 2007
Dell, Inc
One Dell Way, Round Rock, TX  78682

Senior Consultant, Software Engineer - BIOS engineer or lead BIOS engineer on the Dimension 4600i, WS650/450, WS670/470 and XPS 5/7 platforms while serving as BIOS liaison with Dell's test development organization and providing BIOS support for Dell's Linux development/support organization for two years. Major tasks involived simplifying engineering customization tasks: easing splash screen and badge layout for arbitrary display engines, designing tools to ease the adaptation of a BIOS to customer requirements, reducing the toolset needed to build desktop BIOSes, and implementing several SVN/Python scripts for build and release process automation. Support of the test and Linux groups involved writing PCI configuration and MP table validation programs, extending hyperthreading desktop BIOS support to multiple core and processor systems, adding BIOS support for the enhanced Intel's EIST/GV3 feature, implementing FSB multiplier selection. Robustness improvements involved reorganizing use of Intel provided reference code; increasing the functionality of the selectable boot and utility partition features and adding processor and memory failure checks in the POST code.

January, 2000 - September, 2001
Luxxon Corporation
1735 North 1st Street, San Jose, CA  95112

Director of Firmware - I led a team of 6 firmware engineers designing and implementing audio/video firmware for a <100mw mobile MPEG codec with a Tensilica (MIPS-like) processor core. The team worked in Taiwan, Tempe(AZ), and Mountain View(CA). The RTOS used was ATI Nucleus and we used CVS, SourceSafe and Source Offsite for version control. I also coordinated work with external teams developing the Tensilica audio encoding/decoding software in Eastern Europe and the Coldfire baseband processor firmware.

July, 1999 - January, 2000
Mobility Electronics, Inc.
7955 E. Redfield Rd., Scottsdale, AZ  85260

Principal Software Engineer - I was responsible for the Windows driver development and validation/production tests for Mobility's universal docking products.

November, 1995 - June, 1999
VLSI Technology, Inc.
8375 South River Parkway, Tempe, AZ  85284

Principal Software Engineer, Senior Software Engineer and Graphics Software Team Lead - I designeded VLSI's filtering and scaling blocks for an ARM based single chip set top box, an on-screen display content development tool and a Windows based hardware simulator to evaluate designs for on screen display functions in the VLSI MPEG decoder products. I designed the 3D texture mapping logic and coded a C simulator for a new 3D graphics chip for use in x86 and PowerPC systems.

September, 1985 - November, 1995
STB Systems, Inc.
1651 N. Glenville, Richardson, TX  75081

Senior Staff Engineer and Software Engineer -- I was responsible for STB's software development (BIOSes, drivers, diagnostics and utilities). I wrote most of the graphics BIOSes, several minor utility and test programs, and I most of the X11, Windows and OS/2 drivers. I was the principal software architect for STB's multiscreen adapters and drivers.

August, 1980 - September, 1985
Southwest Energy Control Systems, Inc.
(a division of Southwest Pump Company)
Plano, TX  

Principal Software Engineer - Designed and implemented the first successful all-electronic gas dispenser firmware. It involved sensor monitoring, power failure and fault tolerance code, local and remote pump control, and custom hardware and software communication protocols. The software and protocol remained in production without changes at least through 2005.

February, 1978 - July, 1980
Computer Automation, Inc.
Richardson, TX  

Member Technical Staff III - Designed and implemented several software systems based on API and user interface specifications, including a floppy based OS and CA's first disk boot firmware. This involved leading a team developing definitions for a Common System Interface: a consistent set of data formats and API services across several of the CA OSes. I acted as the CA customization expert for a Shell Development Corporation project to optimize and make more robust Shell's oil field pumps.

November, 1976 - February, 1978
CAMSCO, Inc.
Richardson, TX  

System Analyst - A   - Designed, modified, or converted drivers for plotting tables, displays and other devices controlled by HP 21xx embedded minicomputers occasionally involving writing microcode for them. Programmed the first two revisions of the microcode for an AMD 2901 based vector graphics display built by CAMSCO and the microcode for a 20-bit, DSP-like fabric inspection (FIS) system consisting of multiple hardwired TTL processors controlled by an AMD2901/2910 processor. This involved writing diagnostics, utilities and an assembler for the FIS processor.

August, 1975 - October, 1976
Harris Corporation, Data Communication Division
Dallas, TX  

System Programmer - I wrote the native assembler for the Harris Remote Batch Terminal System written in standard COBOL and Interdata assembler). I was one of a team of 6 that ported a 3rd party COBOL compiler to the Harris Remote Batch Terminal OS and wrote a native linker for it. I insured it passed validation tests written by the US Navy.

February, 1972 - July, 1975
Radiation Research Associates
Fort Worth, TX  

I developed and ported nuclear transport and radiation analysis packages for RRA's government and civil engineering customers. I also created Monte Carlo simulation libraries for sale and for internal use, used those libraries to generated curve fits of Monte Carlo and experimental nuclear transport data included in high speed modeling packages provided to customers.