Senior Software Engineer - Infineon Technologies - March 2011 to Present (Infineon purchased Cypress. Cypress purchased the IoT division of Broadcom)
Working on IoT device support
Senior Software Engineer - THQ, Inc. – Volition, Inc. - August 2006 to November 2010
Audio Programmer, Red Faction: Armageddon and Saints Row: The Third
- Converted game audio code from two, disparate systems to the new library I designed for the Core Technologies Group.
Audio Tool Engineer, Core Technologies Group
- Designed and implemented a new audio library that is now in use on all products. It is based on the Wwise audio middle-ware, for PC, PS3, AND XBox360.
- Designed and implemented a work-flow solution and Tool for getting the audio data (and voice meta-data) from creation to game-ready.
- Designed a just-in-time strategy for delivering subtitle and lip-sync data as metadata that is brought in with all voice lines.
- Helped design a voice line database tool that is currently in use. It is part of the audio data pipeline and is also a one-click solution to get voice lines, subtitles (multiple languages) and lip-sync data into the game.
- Since Wwise is supported on multiple platforms, there are provisions in the library for supporting PC, Xbox360, and PS3.
Audio programmer, Red Faction: Guerrilla.
- Created and implemented a new audio system, based on XACT (Xbox 360, PC). All but the lowest level drivers were also used on the PS3 release.
- Developed and implemented a work-flow solution for getting the audio data from origination to game-ready. The tool parses the XACT data and copies the data needed to the in-game directories. The tool also generated data for the PC and PS3 platforms.
- Created new methodologies for difficult in-game audio systems
- Multi-layer, cross-faded loops for vehicle engine and ambient wind sounds
- Attack loop release functionality used for automatic weapons
- A ray-cast based system to determine room / environment size & shape for reverb settings. It is flexible enough to handle buildings that have been partly or fully demolished by the player, on the fly. The ray-cast data is used to determine a “field of view” for audio, which was used to determine when the player moves into structures, and is used to vary the reverb amount and the ambient wind amounts in real-time.
Senior Software Engineer Sony Computer Entertainment America - June 2004 to July 2006
Part of the team designing and implementing the next generation of Sony home entertainment products.
Software Manager, Senior Software Engineer Planetweb, Inc. - August 1996 to August 2003
I joined with the job of moving the Planetweb Browser software from a SEGA Saturn only product into a cross-platform product.
Completed ports of the product (from start to GOLD) 98% “C”, 2% Misc. Assembly Languages:
- 8x8 videophone. No OS, MIPS-X processor
- Hitachi H-8 system based on 8x8 system
- National Semiconductor / MediaMatics DVD platform. Nucleus OS, MIPS-X processor, no hardware multiply/divide
- ZORAN DVD platform, proprietary OS, MIPS-X
- Nishiden set-top box, No OS, x86 based
Other completed software projects include:
- Design and coding of the UI support within the browser.
- Design and coding of an API to allow external programs to control the browser.
- Buffering, parsing and displaying TV Closed Captioning and “V-Chip” data
- UI and underlying code for TV Controls (Channel input/display, Brightness, Contrast, Saturation, etc.).
- FLASH-ROM programming and FLASH File System code.
- Working as a silent partner to the DVD Forum for creating the DVD Enhanced specification.
- Adding JavaScript APIs for various UI elements and for a Digital Video Recorder interface.
- Designing and coding the underlying logic and scheduling for a Digital Video Recorder.
Senior Software Engineer Digital Pictures, Inc. - November 1992 to March 1996
At Digital Pictures, we created Full Motion Video (FMV) Games. I co-designed four interactive FMV games, was the sole programmer on three of those games, and co-programmed the fourth. Two of the games that I was sole programmer on won awards:
- “Slam City with Scottie Pippen” - Co-designer, sole technical designer, sole programmer. 100% 68000 Assembly Language. Slam City was the number 2 seller for the SEGA CD platform for the 1994 Christmas season. Awards: ·The SEGA 3rd Party Seal of Quality Awards 1994 Finalist - Product of the Year - SEGA CD Finalist - Best Sports Title - SEGA CD ·New Media InVision Multimedia Awards 1995 Bronze Award - Category: Games, Subcategory: Sports
- “Prize Fighter” - Co-designer, sole technical designer, sole programmer. 100% 68000 Assembly Language. Prize Fighter was the number 2 seller for the SEGA CD platform for the 1993 Christmas Season. Awards: ·New Media InVision Multimedia Awards 1994 Bronze Award - Category: Technical / Creative Excellence - Best Programming Silver Medal - Category: Consumer: Games, Sports Games
Owner, Actor DeFrisco Entertainment - February 1989 to March 1992
I have acted (on-screen and voice-over) for numerous industrial videos (IBM, Tandem, Inktomi), a few commercials (Toyota, Wheel of Fortune), student films and video games (Leather Goddesses of Phobos, Part II). Completed 2 Atari 2600 game titles (100% 6502 Assembly Language).
Firmware Engineer Axlon, Inc. – 1986 to 1989
Axlon created handheld electronic toys. While at Axlon I worked on 7 handheld button-and-light type games (100% Assembly Language on 4-bit Microcontrollers), a robotic dog (6502 Assembly Language), and an Atari 2600 title (100% 6502 Assembly Language). In many cases, I also created the first-pass hardware design. All of the projects used stand-alone microprocessors or microcontrollers.
Software Engineer Imagic, Inc. - 1982 to 1986
Hired as a summer intern, I designed and programmed “Tropical Trouble” for the Mattel Intellivision game system (100% GP1610 Assembly Language). I was hired full-time and completed three other game projects (all 100% Assembly Language) and a 6502 development system.
Skills
Assembly Languages
I have programmed for the 68000 family, 6500 family, GP1610 microprocessors, the NEC75308, COP400 family, Hitachi H8, MIPS-X, R5000, and 6800 family of microcontrollers. I have found compiler bugs in compiled R5000, MIPS-X and x86 code.
High-level Languages
I am very proficient in “C” (8 years experience). I can handle JavaScript and HTML. I have also used C++, Pascal, Fortran and PLZ-1.
Tool Design
I have designed and implemented software-debugging environments, Sprite engines, APIs for internal and external software development, and initial hardware designs for simple microcontroller based systems.
Game Design
I have participated in game designs for many types of games including Sports (Baseball, Boxing, Basketball), adventure (text, hack-and-slay), twitch (racing, pursuit), and puzzle (Tetris-like). Two game designs I worked on (“Prize Fighter” and “Slam City with Scottie Pippen”) won awards.
Computer Systems (Programming)
I have direct programming experience on XBox 360, PS3, PS2, Nintendo Gameboy Advance, SEGA Genesis/SEGA CD, SEGA Saturn, SEGA Dreamcast, Atari Lynx, Apple II, Atari 800, Atari 2600, Commodore 64, Super Nintendo, MS-DOS, Macintosh, and a number of DVD platforms.
Computer Systems (Environment)
I have developed software under MS-DOS, Windows, Macintosh, Amiga, and Unix based systems. I have also used many In-Circuit Emulators and real-time software debugging systems.
Comprehensive List of Projects
THQ, Inc. – Volition, Inc. - August 2006 to Present
Audio Programmer, Unannounced product
Audio Programmer, Red Faction: Armageddon
Audio Tool Engineer, Core Technologies
Audio Programmer, Red Faction: Guerrilla
Planetweb, Inc. – Software Manager / Senior Software Engineer
Browser Porting from start to finish (Gold release to customer) 98% “C”, 2% Misc. Assembly Languages:
8x8 Videophone – MIPS-X, no OS, 33.6K modem, YCrCb display, 1MB RAM, 2MB FLASH ROM
MEI / Panasonic Videophone – 8x8 based, additional H8 processor (MIPS-X can’t access FLASH ROM)
Nishiden Guy Surfer – x86 based, no OS, VGA, 8MB RAM, 4 MB FLASH Nishiden Guy Surfer – Japanese, Spanish, Finnish Language display / input versions (3 SKUs). NSC / Mediamatics P1 DVD Player – MIPS-X, no multiply/divide, Nucleus OS, YUV display NSC / Mediamatics P1 DVD Player – Chinese (Big5) version EspriTV – x86 based, noOS, Ethernet, TV Controls, Closed-Captioning and V-Chip support
Hardware interface level support: NSC / Mediamatics P2 DVD Player - MIPS-X, no multiply/divide, Nucleus OS, YUV display, simultaneous Browsing and DVD playback SEGA Dreamcast – use of texture maps, rotation and scaling of sprites Zoran DVD Player – MIPS-X, proprietary OS, RGB, 8MB RAM, 2 MB FLASH
API Design and Implementation:
PW_API – controlling of browser from external program UI Elements – All UI Element display and functionality (cursor, highlights, titlebar, etc.) Dialogs – All Dialog display and functionality TV Controls –All UI display and Functionality (Brightness, Contrast, etc. )
Closed Captioning – UI, parsing and display “V-Chip” – UI, parsing, passwords, functionality
Digital Video Recorder API (“C” level API and API to local hardware) JavaScript APIs: Mouse Control
DVD Control
Email Access with attachments
Digital Video Recorder Control
Sound Playback Tools:
Tool for downloading / burning code & file system into hardware (Nishiden, others)
Digital Pictures, Inc. - Senior Software Engineer / Senior Game Designer
Games:
“Maximum Surge” for the SEGA Saturn (Co-design, co-programming).
“Slam City with Scottie Pippen” for the SEGA CD and 32X (Co-design, sole programmer, won awards).
“Prize Fighter” for SEGA CD (Co-design, sole programmer, won awards).
“Citizen X” for SEGA CD (Co-design, sole programmer, unreleased).
Tools:
Proprietary object/sprite engine for SEGA CD games (Design and programming) (100% 68000 Assembly Language).
Proprietary software debugging tool for SNES (Design and programming) (90% C, 10% 65816 Assembly Language).
Proprietary software for integrating image, audio and data into video streams (Programming) (100% “C”).
Proprietary software for interleaving multiple video streams (Design and programming) (100% “C”).
DeFrisco Entertainment – Owner
Games:
“Styxx and Bones” for the Macintosh (Co-design and sole programmer - Vent, Inc.) (100% “C”).
“Baseball Heroes” for the Atari Lynx (Design and sole programmer - Atari, Inc.) (100% 6502 Assembly Language).
“Secret Quest” for the Atari 2600 (Design and sole programmer - Atari, Inc.) (100% 6502 Assembly Language).
“MotoRodeo” for the Atari 2600 (Design and sole programmer - Atari, Inc.) (100% 6502 Assembly Language).
“Klax” for the Atari 2600 (Programmer - Atari, Inc.) (100% 6502 Assembly Language).
Other Programming:
Teacher, game programming for Homestar, Inc. (In Taiwan).
“Fiber Calculator” for A & M Models, a children's museum piece (Programmer, hardware design) (100% 6805 Assembly Language).
Other Entertainment:
Voice-over actor and co-director of voice-over talent for “Leather Goddesses of Phobos, Part II” (Mediagenic).
Producer, actor, director, cameraman, editor of 10-minute multimedia presentation for Vent, Inc.
Axlon, Inc. - Software Engineer Electronic Handheld Games (all 100% Misc. Assembly Language):
“Frenzy”, electronic “Twister” type game (Co-design, initial hardware design and sole programmer).
“Gridley”, stand-alone concentration-type game (Co-design, initial hardware design and sole programmer).
“Star Time Stage”, stand-alone electronic puppet show with play/record capabilities (programmer).
“Turn-It-Up”, hand-held quick-reaction game (Initial hardware design and sole programmer).
“Unscramble”, a stand-alone word unscrambling game (Co-design, initial hardware design and sole programmer).
“Handheld Pinball”, a stand-alone hand-held game (Initial hardware design and sole programmer).
“Bit Pong”, a stand-alone hand-held game (Sole programmer). Video Game:
“Secret Quest” for the Atari 2600 (Design and sole programmer).
Misc.:
“Robopup”, a robotic dog, with digitized speech, ultrasonic avoidance and a real‑time clock ( Co-design and programming).
A built-in guitar tuner for B.C. Rich (Sole programmer).
Code to control radio-controlled “TechForce Robots” for Commodore 64 and Atari XL computers (Sole programmer).
Hippopotamus Software, Inc.- Software Engineer
“Hippo Simple”, a free-form database for the Amiga (Sole programmer - unreleased) (100% “C”).
Bantam Books, Inc.- Software Engineer
“Sherlock Holmes II”, a text adventure for the Apple II (Sole programmer) (100% ”C”).
The Berkeley Softworks, Inc.- Software Engineer
“H.E.R.O.” for the Atari 800 and Atari 5200 (Port - sole programmer) (100% 6502 Assembly Language).
Imagic, Inc. - Software Engineer
“I, Damiano”, a text adventure game for the Apple II ( Co-design and sole programmer) (100% “C”).
“Tropical Trouble” for the Mattel Intellivision (Design and sole programmer) (100% GP1610 Assembly Language).
“Shooting Arcade” for the Mattel Intellivision (Port - sole programmer) (100% GP1610 Assembly Language).
“Wing War” for the Atari 800 (Co-design and sole programmer) (100% 6502 Assembly Language).
A proprietary 6502 based development system (Sole programmer) (100% 6502 Assembly Language).
Steve DeFrisco