logo by chemical!


News
MessageBoards:
- General emulation
- NeoGeo emulation
- Official MAME board
- Console emulation
- Current Affairs
- CPS emulation board
- Pinball Simulation
- Hardware/Tech Support
- Msgboard Suggestions
- Emulator Programming
- Game Collecting
- Gaming Today
- Computer Emulation
- Official MAMECE3 board
- Pocket PC Emulation
- Off-Topic Discussion

News Archive

Misc. things
Pocket PC Emulation
Opi's Interviews - 2 - (01/23/2001)
Cowering's Goodxxx Tools
(last updated 07/11/2003)
#Retrogamers (EFnet IRC)
Web Links
(last updated 03/13/2001)
IRC Quotes
Other Stuff (art,reviews...)

Arcade Emulation:
Callus
MAME
NeoGeo
Raine
Retrocade
System16
M72

Console Emulation:
Atari 2600/7800
PCE/TG16
Gameboy
NES - 03/07/2001
SNES - 03/04/2001
Nintendo64
Game Gear
Sega Master System
Genesis/Megadrive


© Retrogames Internet
All Rights Reserved

Your staff: Atila, Prophet, Dutch, Chris, Richard, David, Opi, Aries, Dhalamar, Metallik, MetaFox & RocLobsta Griking

Site Design: chemical


Est. April 1st, 1998

Sites on Retrogames:

  • 1-UP - 1-UP: Multi-Emu Frontend!
  • ARCADE FLYERS - The Flyer and Poster Archive for MAME/RAINE
  • CARTLIST32 - If you have console roms, you need this.
  • CHEAT - Pugsy's MAME Cheat Page.
  • CINDER - Cinder's Wallpapers.
  • CRASHTEST - More than JUST arcade screenshots!
  • CPS2SHOCK - CPS2 Resource Center.
  • DOCSHOCK REPAIR - Console Repairs!
  • FABLOW - Final Burn Save States!
  • GAMEBASE - Arcade Games list!
  • GIGO & HII'S SITE - Official site for G-NES/TNES/G-NSF/TGB and more!
  • G-MAX STUDIOS - EmuLand 1.0 -- AMAZING!
  • HUBERT - The Web Page
  • IMPACT EMU - Awesome 3D Arcade Emulator!
  • IR PINBALL - Original and Ported Pinball Tables for Visual Pinball!
  • MADRIGAL - Madrigal's Simulators
  • MAME - The Official Site!
  • MAME ROM INFO - MAME Rom sizes/CRCs/filenames/etc !
  • MAME WORLD - The ULTIMATE MAME support site!
  • MARP - Action Replays!
  • NGMC - NeoGouki's MUGEN creations!
  • NONMAME - Games Not Yet Emulated By MAME.
  • NonMESS - Systems Not Yet Emulated by MESS
  • OVERCLOCKED - Daily emu/gaming comic.
  • POCKETNES - Play NES games on your PocketPC!
  • RETRO RADIO - Official Retro Radio mirror.
  • RIPS-R-US - Cool Sprite Rips!
  • SASS - Speak & Spell Simulator!
  • SCREENMANIA - 20,000+ Screenshots!!
  • SPACE INVADERS - Space Invaders Fan Site
  • TKMAME - The Coolest MAME Frontend!
  • TOSEC - DATfiles for everyone :)
  • THE REVIEW CENTER - Reviews, Reviews and Reviews!.
  • .TZX VAULT - Huge ZX Spectrum game vault!
  • X-MAME - Official X-MAME site. - Cool Sprite Rips!
  • SASS - Speak & Spell Simulator!
  • SCREENMANIA - 30,000+ Screenshots!!
  • SPACE INVADERS - Space Invaders Fan Site
  • TKMAME - The Coolest MAME Frontend!
  • TOSEC - DATfiles for everyone :)
  • THE REVIEW CENTER - Reviews, Reviews and Reviews!.
  • .TZX VAULT - Huge ZX Spectrum game vault!
  • X-MAME - Official X-MAME site.

  •   Pocket PC Emulation

    Interview with Larry Bank ( conducted Monday 07/09/01 by Prophet )

    return to Retrogames Pocket PC Emulation section

    Mr. Bank, AKA BitBank, is the author of HiVE & Microsoft's Arcade Pack for Pocket PC, as well as various other applications for PC and Pocket PC. He currently resides in Southern Florida with his family and is very actively involved in Pocket PC software development.

    Relevent links: BitBank homepage, Microsoft Arcade Pack homepage, Developer's Corner with Larry Bank at Brighthand, Serial gamepad driver Brighthand thread, Gravis Stinger (small serial gamepad) homepage

    * * * * *

    Prophet: Thank you for agreeing to an interview for Retrogames.

    Larry Bank: You're welcome. I like interviews because it let's people know me a bit better and understand my motives.

    Cool. First off, tell me where you're from.

    I grew up in Spring Valley NY (Rockland County) just over the bridge from NYC.

    Did you spend time in NYC arcades much?

    In my town we had a Nathan's which always had a good selection of machines. I spent most of my money on those games.

    I know you're 35, I'll be 35 next month. :)

    I started in the arcades at age 13 and I used to ride my bike to the arcades.

    I can still recall my 1st defining arcade experience - it happened to be in a Nathan's - what was your 1st *definitive* arcade experience? What game?

    Space Invaders. I used to play pinball, but found it boring after a while. Then Space Invaders became my new obsession.

    Hehe - how did I KNOW you'd say that - yeah, Space Invaders was THE game when it came out.

    In 1979 that was the only video game and it was just a mind blower - totally new idea.

    Were arcade games what got you into computers?

    Sort of... I got interested in computers at about age 12 and got my first one at 13. I wanted to see how they work and program them. I liked games, but I was more interested in learning how the internals worked.

    What computer was that? And how did you teach yourself - magazines, books?

    TRS-80 color computer (6809 with 4K RAM). I immediately started programming in assembly language when I saw how slow BASIC was. I basically taught myself how to program in Basic and Assembly language without any books. All I had was the manual that came with the computer and a 6809 reference card from Motorola. My first ASM program made the screen shift over by 1 byte. I was totally hooked on the speed and control of ASM programming.

    That's impressive, learning ASM with JUST the included docs! I had an Atari 800, did the CoCo have particularly good included documentation? I had to read Compute and Byte to learn a little programming (very little)...

    It had no documentation on assembly language programming. I got hold of a 6809 reference card (not a book, just a small card) from a friend.

    Wow... so that was it? Guess you just had the knack for it.

    I just started experimenting until I found out how it worked. I spend literally thousands of hours. Count how many hours is 22 years times an average of 8+ hours a day every day. I got my first programming job at 14.

    (That's about 64,000 hours!)

    I can believe it - ASM is scary to me =P How about games on the CoCo - any favorites?

    I used to love Megabug & Clowns and Balloons. Steve Bjork was my hero. I was always into performance and squeezing the most out of a small amount of code.

    First programming job at 14 - tell me about that - what sort of programming?

    I worked for Sunburst Communications in Pleasantville NY doing educational software for children. I think they are still in business somewhere. I wrote some really bad stuff my first year. I had to learn the hard way about good coding practices. I think I am better off for it because at the time no one could teach programming anyway. I think programmers are born, not made. Either your brain can wrap itself around computer abstraction or it can't.

    I agree - it's ultimately a talent like any other.

    I saw this clearly at college in the intro programming class I was forced to take - there were 2 humps on the curve. A and F. No one was in between.

    An intro course? That HAD to be boring for you?

    I didn't go - I just showed up for the exams.

    Heh. :)

    It was Pascal on Apple MAC. The first year of the MAC (1984). I was using Turbo Pascal on my Sanyo PC clone.

    And you followed through with a degree in Computer Science?

    No - I was going to do a double-major in EE and CS, but I immediately saw that the CS department didn't teach you, they just worked you. I quit wasting my time with them (Cornell University).

    Before you came onto the emulation scene, did you work on any commercial game projects?

    No. I still don't consider myself a game programmer. Emulation is a special class of programs. It makes use of my knowledge of microprocessors and computer innards, but not game logic.

    Interesting, but would you classify yourself as a "gamer," or are the "innards" more fun for you?

    I enjoy playing them, but to me, emulation is about solving mental puzzles. Figuring out how things work without any documentation.

    Yes, I really do appreciate that aspect of the hobby - that the developers can reverse engineer those machines.

    I had to trace through lots of code to get many games working. I also bought pirate copies of schematics to understand how some worked.

    Tell me how you became involved in the internet emulation scene? And also, what projects did you have a hand in, aside from your own?

    I was always searching for Galaga or a work-alike and I accidentally found MAME and MageX. I then saw that they supported Robotron, but not the way I wanted to play it (in a window on NT 4). I decided that I could do it better and set out to write a Robotron emulator. After many hundreds of hours debugging my 6809 emulator, I finally got it working. I then did many more of my favorites until I finally worked my way back to Galaga. It took a while to get a z80 emulator working accurately enough for Galaga. It uses undocumented instructions and flags.

    And all of this work eventually became integrated into HiVE?

    Yes - at first it was "CAGE" Classic arcade game emulator. Then I started going head to head with the other emulators for the fastest performer and rewrote it and renamed it to "Hi Velocity Emulator." I have rewritten/redesigned the guts of that emulator at least 5 times, each time making things cleaner and faster. My work is always an iterative process. There is never a 'best' solution, only a gradually improving one

    What is the slowest CPU HiVE could pull off 60 fps in Galaga for example? Any idea?

    I think I got it working at 60fps on a 486-66 with PCI video.

    Friendly competition is cool. Did you contribute to Retrocade, and/or MAME and other emulation team projects?

    Neil Bradley and I were always competing and sharing ideas. I passed information and bug fixes to MAME for a few of their games. I did not participate directly with any other emulator, but for a short time Neil added me to the Retrocade team, but I was too busy with my own stuff.

    Emulation authors sometimes find themselves amidst unwanted attention for their work - what was your experience with HiVE? ( R.Belmont of Modeler etc. has a theory that fighting games cause the most problems. ;)

    I did not get a lot of email for my stuff. Mostly people were very nice to me and requested specific games they wanted to see.

    So let's fast forward a bit now to the Pocket PC platform - how did you move from doing HiVE on PC to Windows CE machines?

    I got into CE machines in 97 when they were slow and (had) 2-bit displays. I just thought it was neat to be able to write windows code on a small battery powered device. I got Space Invaders and similar games emulated on some early CE devices, but did not pursue it much because the displays were passive matrix and gaming was difficult on them.

    We're talking maybe 40Mhz devices, right?

    Correct: Casio A10, Everex A10. I then did an internet radio interview with Mike Stulir for his "Back in time" show. I mentioned in one sentence that I was considering porting my emulator to CE. A Microsoft CE evangelist heard it and contacted me. He wanted to know if I would make my code run on the Casio E100 and if I could get PacMan to work. I delayed buying one because I did not feel like shelling out $500 for something I didn't need. But I guess curiosity about working with Microsoft got the best of me and I made HIVE-CE 1.0 and sent it to him.

    Was porting HiVE to CE easy, aside from performance issues?

    Mostly - I had been thinking about portability early on so I had the code all written in C and x86 ASM. The first stumbling block was getting BitBlt to work well. The speed was terrible. So my first task was to get direct access to the video display. With a hint from Jimmy of Jimmy Software, I got direct video access and the speed was fine. The next problem was getting around the terrible MIPS compiler. Buggy and produced incredibly inefficient code.

    So overall, the ARM based Pocket PC's seem the best way to go?

    The ARM cpu is much more powerful than MIPS at the same clock speed. Many things on the iPaq run about 5X faster than the Casio EM500. Also the ARM compiler has fewer bugs.

    WOW - 5x faster?! Is that totally due to the 56Mhz difference (Casio EM500 is 150Mhz, iPaq is 206Mhz) and the inefficient compiler output, or are there other issues in the hardware as well?

    5x is for certain operations, not everything. The memory of the iPaq is faster, it has better caching and the instruction set is more powerful. Some instructions on the ARM take 3 (instructions) to do the same thing on the MIPS. Most apps run about twice as fast on the iPaq, but CPU emulation is very memory intensive and the ARM outperforms others by a long shot.

    Getting back to the Microsoft guy's interest in PacMan for CE - tell me how that eventually resulted in the superb Arcade Pack we now have for Pocket PC's?

    This particular person was very gung-ho about getting PacMan running on the Pocket PC for promotional use at the launch of the product. He had to fight many uphill battles to get it done and it took many months of prototypes sent to Redmond before I even had a contract. I kept sending him versions which expired and he had to keep coming back for newer code. I was wary of working with Microsoft and I found out firsthand how they operate. Nothing illegal, but it could be described as unsportsman-like...

    What did it take to finally get contracted, Bill Gates getting to finally play DigDug on his Pocket PC?

    I think it just took this guy finding like-minded geeks within MS who wanted to see it happen and putting pressure on upper management. Part of the delay was because Microsoft was trying to write it themselves (starting with the MAME code) and Microsoft also started working with a colleague of mine to compete for the best PacMan emulator.

    How did the final product come to be what we have now? How were the games picked? And did Namco play any role in the implementation of the games?

    The first choice of PacMan was for the Pocket PC launch as a promotional tool. Namco extended their license for the "Return of Arcade" series to include the Pocket PC (at what cost I don't know). They always had the final say if the product would be allowed to ship. Microsoft was constantly sending them devices with PacMan loaded on (them) for approval. It almost didn't ship because the "out of box experience" was not good. That's Microsoft speak for "dummy proof."

    Hehe. :)

    I invented the idea of using the stylus to drive PacMan by touching where you want him to go. This and the addition of an auto-start feature fixed the "out of box experience."

    Thank you for allowing the auto-start to be turned off - I like inserting my own "coins."

    Namco supposedly liked my stylus input idea. Ms.PacMan and DigDug were mostly pushed through by me. Microsoft was not really interested in doing more games, but I gave them a good price and showed them that I could do it. They were allowed to do Pole Position and Galaxian also, but Pole Position used the z8000 CPU which I had not emulated and I did not want to promise a schedule and not be able to keep my promise. Galaxian did not ship for a reason I cannot explain. I got it working, but they thought that it was not easy to control on the iPAQ.

    Yes, I tried the stylus for PacMan - it works rather well, though I still consider it blasphemous to use anything but a traditional game controller.

    :)

    The Arcade Pack seems to run at 100% 60fps with perfect sound on my 150Mhz Casio - what is the low end for CE devices that can run the Arcade Pack at such speeds?

    PacMan will run on the 70Mhz (Compaq) Aeros. Ms.PacMan requires 131mhz or more. DigDug runs on the HP5xx, Casio E125/EM500 and above. DigDug really runs at 30fps (skips every other frame). But they all have 44khz sound.

    Ack... You've just burst my bubble of illusions!

    Sorry. :( But the CPU emulation and sound calculations still have to go at 60fps. :)

    Phew, now I feel a little better. :)

    It still kicks MAME's butt. :)

    Hehe... we won't go there, but I'll just say that Arcade Pack is the best performing emulator on Pocket PC that I've tried.

    I like the fact that some of the best features of HIVE made it into the arcade pack such as the save/load game state and the skip self-test (just a load-state) .

    And the Namco hardware is actually fairly complex too - I originally assumed they were single 6502 or z80, but they're much more, correct?

    PacMan and Ms.PacMan use a z80, a Sprite + character graphics controller and a 3-voice wavetable sound generator. DigDug uses 3-z80s, a 3-layer graphics controller and the same 3-voice sound controller.

    DigDug hardware is equivalent to Galaga hardware - I wish that game could've been included, that's my only disappointment really. And yes, the save states rock!

    Yes, DigDug uses basically the same hardware as Galaga. DigDug has a background layer and Galaga has a scrolling stars layer. I asked for Galaga, but it was not allowed. As I told Microsoft, I have all of the 1980's Namco titles working on the Pocket PC (and HPC) just waiting for permission to use them.

    One issue regarding many games is control - the Casios have fully working game controls, but the super popular iPaq has that unfortunate "single input at one time" problem. I understand you're involved in a project with Russ Smith to attach an external gamepad?

    Yes, I am coding a "driver" to allow the Gravis Stinger serial gamepad to be connected to a Pocket PC. The buttons will be sent as virtual key presses and should be compatible with most games.

    (NOTE: This driver was completed 07/10/01 and is now available! See this Brighthand thread or download it from from Retrogames now! You'll need a Pocket PC with serial port and a Gravis Stinger gamepad.)

    Nice. :) I'm sure many people will appreciate that.

    BTW - it will be freeware. :)

    Even nicer. ;)

    See - I do give back to the community.

    Heck, you already gave with HiVE - we haven't forgotten - I'm personally very glad to see emulation authors get commercial work. So... can you tell us anything about your future projects for Pocket PC?

    I am working on new game emulations for a Japanese game company. I am also busy updating my Virtual CE project and finishing a new image viewer.

    (Mr. Bank can't reveal the name of the Japanese game company at this time.)

    Virtual CE, for readers who don't know, allows one to operate the Pocket PC on a virtual PC window, correct?

    Correct, most people buy it to do presentations of Pocket PC software by connecting a projector to a PC running my software. It's also good at doing screen captures of games (which otherwise don't work with normal screen capture programs).

    Yes, I can see that being a real asset for sales people who don't want to lug a 5 pound notebook around. Do you think the Pocket PC platform has a bight future? Maybe replace notebooks for many mobile applications?

    I think it will not replace notebooks, but it definitely has a unique place for people who need more than an organizer and less than a notebook.

    It surely could become a fantastic game platform for us big kids - speaking of which, do you have any favorite Pocket PC games right now? Aside from emulated games.

    I like those bubble games, mahjong, solitaire, and sokoban type games.

    One more question regarding Pocket PC's future - do you believe Palm will maintain their supremacy in PDA sales, or will Pocket PC become dominant someday?

    I think it is inevitable that Pocket PC will dominate. Palm keeps denying the future is a Pocket PC, yet keeps making their devices more like Pocket PCs. People want more functionality, it's just the size, price and battery life that need to be addressed. As we've already seen - it's just a matter of time.

    I agree - I can't wait to see the next generation of Pocket PC - hopefully they'll move to a common CPU base like ARM and we can see development take off big time.

    I agree.

    For the emu fans out there, can you make any promises that we'll see more game emulators from you someday? Whether freeware or commercial?

    Yes - I guarantee it. :)

    Excellent! I'll be looking forward to that.

    :)

    Well, I think we've covered all the topics I'd hoped to get in - thank you so much Larry. Any closing thoughts or subject you'd care to comment upon?

    Nothing comes to mind, but I am always looking for good ideas for new projects or improvements to existing ones. Please drop me an email if you have an idea you'd like to see appear in a product. :)

    Once again, thank you for the interview, it was a pleasure talking with you, and I urge emulation fans to get themselves a Pocket PC and to purchase the Arcade Pack - you'll be glad you did!

     

    top of page