today betting odds oddstake football betting tips
The Site for Views on Emulators

- VIEWS -
REVIEWS
INTERVIEWS
EV BOARD
EV CHAT
THE VIEWS
TOP LISTS

- PROFILES -
EMULATORS
ROMS LITE
ROMS

- OTHER -
NEWS
LINKS
PRIVACY

NEWS w/o ICONS

InterView with Kyle Davis! - December 17,2000 by JoseQ
As you probably know, Bliss recently rocked the emulation scene, being the first publically and freely available Intellivision emulator. The author, Kyle Davis, was very happy to allow to be InterViewed here at EmuViews. So, if you want to learn more about this emulator, just read on! Here it is, an InterView with Kyle Davis, the author of Bliss:

1. Can you tell us a bit about yourself?

Sure. I'm a Java software engineer living and working in Colorado Springs,CO. I've been writing software for about 9 years and working with Java forabout 3 years. What I do in my day job has absolutely nothing to do withgaming, but I'm a self-ascribed gaming addict.

2. How did you come in touch with emulation initially?

The first time I ran across emulation, I think it was about 3 or 4 years agoright after I bought a copy of "Arcade Hits" by Microsoft (the predecessorto their current "Return of Arcade"). I went searching on the Internet forplaying tips for some of the games included in that CD and, entirely byaccident, I bumped into a web site on arcade game emulation. I downloadedand played a couple of emulators at that time, and I was pretty blown away,but for some reason I did not become heavily interested in the emulation"scene" at that time. It wasn't until about 2 years ago when I bumped intothe MAME emulator, again mostly by accident, that I suddenly fell in lovewith classic arcade gaming. It was a whirlwind love affair that finallyreached its peak when I completed the dedicated full-size MAME arcadecabinet that now sits in my basement. I included a screen shot of it forthe morbidly curious. She's not much to look at, but she sees a LOT ofaction. :-)

Arcade Cabinet

I would definitely say MAME single-handedly started me on the path whicheventually led to my writing Bliss, but there are several other emulationprojects that have amazed and inspired me along the way, including RockNES,Stella, Snes9x, DGen, and CCS64. I can only hope someday Bliss will fallinto the same league as some of these outstanding emus.

3. What prompted you to write your own emulator? How hard wouldyou categorize starting your emulator and getting to thecurrent state?

Since software is what I do for a living, I've been interested in the "Howdo they do that?" side of emulation since the beginning. I even modify andcompile my own custom version of MAME for my arcade cabinet. I must admitthat I've tried and monumentally failed at writing an emulator twice beforethis one, simply because I really didn't understand the softwarearchitecture necessary to emulate games well. The first was an attempt toemulate the original Pac-Man arcade game, and I pretty much gave up afteronly a few days of work. The next was a Commodore 64 emulator, with which Imanaged to get something to display on the screen after about a month ofwork, then gave up. This time, with Bliss, I decided to read and researchand plan as much as I could before writing any code. I wrote the CPUemulation core as a stand-alone piece first and when I had it about 80%complete, I met Joe Zbiciak through email. Joe is the author ofjzIntv, which is also an Intellivisionemulator, although it is not quite complete and is no longer in activedevelopment. However, since Joe had already been down the path I was thentrying to go down, he already knew just about every piece of info I couldever possibly want to know about the Intellivision hardware. Since then, heand I have been in pretty much constant email communication and there is noway I could be where I'm at now without the incredible amount of technicalinfo and assistance he has been providing. Thanks, Joe!
How hard was it to start? It actually wasn't as tough as I expected, and Ican only guess that was because I was riding on the shoulders of knowledgegained from my two previous emulation failures that came before Bliss. In away, Bliss only works even as well as it does because of what I learned fromfailing so miserably those first two times. It has also required a lot ofhours and a lot of reading and re-reading of technical docs on theIntellivision, but that's been more fun than anything else. The day I wrotethe first line of code for Bliss was November 15th, so it's only been alivenow for just over a month. Admittedly, though, the Intellivision isn'texactly complicated hardware since it was created in the 1970s.

4. Why did you choose the Intellivision as your target to emulate?

I chose the Intellivision for two reasons: (1) I actually have a historywith it since I owned one when I was very young, and still own one today,and (2) primarily because there isn't already five different emulators inwhich you can play Intellivision games. In fact, as far as I know, Bliss isthe only free and fully-functional Intellivision emulator. Sure, that's asmall niche, but at least for the moment, it's my niche. :-) For someweird reason, that makes it all the more fun. If there are otherIntellivision emulator authors out there, though, who have just not publiclyreleased yet and would like to cooperate in any way with sharing info oranything else, I'd be happy to do it. Viva la Intellivision!!! :-)

5. What were the most challenging aspects of completing Bliss?Where did you get the information to complete the emulationthat nobody else had managed to do publically before?

A lack of technical documentation was the single most challenging factor.Before I got in touch with Joe Zbiciak, I was scraping up a few bits oftechnical info off of the Internet a day, but it was very tough to find whatI needed. It's my understanding that long ago, Mattel Electronics(tm) didnot want this information distributed so that competitors could not writesoftware for their console, and that's still the largest reason why info isnot available today. When Joe agreed to help, the floodgates really openedbecause he had already been through a lot of the researching efforts I wasattempting.

6. Why did you choose Java as your programming language for Bliss?
I chose Java for 3 reasons.

1) I've been writing Java for 3 years and I am now more comfortable with itthan C or C++.
2) I knew it would be easily portable.
3) I knew performance would not be too big of an issue since theIntellivision was 1970s hardware.

Well, it turned out performance was a little bit of an issue because of acouple of bugs in the Java graphics processing which I'm hoping will befixed by Sun in the near future. I'm going to write a DirectX driver forWin32 users that will go around this bug and offer full-screen support soon.That will eliminate the single largest performance bottleneck for Win32users anyway.

7. If you were to start doing Bliss again, would you choose Javaagain? why?

Absolutely. The first two reasons I mentioned above are still valid. Thelast issue with performance can be worked around by writing the native codeI would have had to write anyway with a C or C++ emulator. Besides,performance factors always have a way of working themselves out over time aswell. CPUs are always getting faster. A year from now when 2Ghz processorsare mainstream, who will actually complain if the minimum systemrequirements for Bliss at that time are a P2-300? Well, who besides thefanatics who doggedly demand for their P166 to remain useful forever.Actually, I think eventually I'll easily be able to get the minimum systemrequirements down even below that mark.

8. What's do you plan to work on Bliss next? Do you feel it could reacha level where it has 100% compatibility and there's not much elseto do in terms of emulation?

In the emulation core, I still have to add ECS mode support and theIntellivoice before it can reach 100% compatibility, then I have to addsupport for more than one player input before all games will be playable,but I totally believe Bliss will eventually reach 100% compatibility andplayability for all known Intellivision games. In the codebase I have now,there are only 3 games left that do not boot up to the title screen and onlyabout a dozen games that will not at least start playing the game. Abouthalf of those require the ECS mode support mentioned above. At that point,I'll be mostly working on features surrounding the emulation.
The long-term vision I'm trying to focus on for Bliss is to have a coreemulator of Pure Java with support for Pure Java video, audio, and input.Then around that core, I'd like to have runtime detection and support forfeatures specific to the operating system on which the emulator is currentlyrunning. So if Win32 users run the emulator and they have the .dll thatoffers native features, they'll see DirectX, DirectSound, and DirectInputavailable as configuration options in the config dialog. If Linux users runthe emulator and they have the .o library that offers native Linux features,they'll see similar native Linux features. If either user runs the PureJava core with no native library present at all, they'll only have optionsfor Pure Java video, audio, and input, which of course will be a littleslower and lack full-screen support and few other features, but it'll stillfunction just fine.

9. Would you be looking into submitting an Intellivision driver intoMESS if you found some extra time? How hard do you think it wouldbe to incorporate it into the emulator?

Unfortunately, it would be an extraordinarily difficult task to add Bliss toMESS because Bliss is written in Java. MESS would require a Java RuntimeEnvironment to be carried along with it just for Bliss, and I bet that's notsomething the MESS authors are interested in doing. I'd essentially have towrite a new emulator in C or C++ for MESS. I'll probably leave that forsomeone else. I like MESS and it's a nice project, but I'm just not in aposition with Bliss to be able to make a contribution to MESS.

10. Any comments to the emulation scene as a whole, or to theIntellivision fans out there?

Emulation rocks! I thought the classic games I played in my youth died aquiet death, but then they were reborn from the ashes into immortality justa few decades later. Bliss is by no means one of the more stellaremulators, but I believe some of the other emulators available out therewill still be around in some form decades from now. It's just about theonly scene that can legitimately say that. I've been searching for a way tomake my contribution to the scene for quite a while. I'm very happy I cannow make a contribution and it's very exciting that a few people can getsome enjoyment out of it.
And he couldn't be more right. This emulation scene is great indeed. Heck, no other way I'd be doing this for years eh? I do love it as well. Anyhow, major thanks go to Kyle Davis for accepting to do the InterView, and of course, for his wonderful emulator. Thanks for reading!

One Article Up: U64 1.16!
One Article Down: Past-O-Rama update!

Add Your Comments

Name: Paolo Posted: Monday, February 5, 2001 - (18:48)
Subject: exec.bin
From: 212.171.241.139
I can't find exec.bin or grom.bin. where are they????
Thanks for helping me...

[Post a reply]

Name: Posted: Tuesday, September 14, 2004 - (6:49)
Subject: Re: exec.bin
From: w3cache1.univ-montp2.fr
>I can't find exec.bin or grom.bin. where are they????
>Thanks for helping me...
>

[Post a reply]

Name: subpsycho Posted: Wednesday, December 20, 2000 - (8:21)
Subject: more crossing
From: 213.178.65.232
How is a mac port? Is it ever going to get ported to the mac os?

[Post a reply]

Name: someguy Posted: Wednesday, December 20, 2000 - (10:37)
Subject: Re: more crossing
From: 142.22.16.51
>How is a mac port? Is it ever going to get
>ported to the mac os?

Isn't Java available for the Macintosh?
If so, try installing Java and opening the JAR file in the ZIP...

[Post a reply]

Name: Joe Zbiciak Posted: Monday, December 18, 2000 - (2:21)
Subject: And *I* would like to thank...
From: 24.219.30.193
Kyle thanked me extensively in his
interview above, as he's been in close
contact with me for the past couple
of weeks. Much of the information I've
shared with him

*I* would like
to thank William Moeller, Carl Mueller Jr, Scott Nudds, Frank Palazzolo
and John Dullea for providing much of the tech info.

Carl Mueller, Jr. wrote the emu
(INTVPC) that's on the original Intellivision Lives CD-ROM. In the process
of writing it, he did most of the initial "learning Intellivision" work.

William Moeller
actually compiled much of this tech-info Carl had generated and put it
into the De Re Intellivision documents.

Scott Nudds provided the original ROM dumps
and specs for building a cart reader.

Frank Palazzolo hosted much of the docs. He also
provided the Osborne CP-1600 and Intellivision Service Manual scans, and was
instrumental in helping me reverse engineer the Intellivoice.

John Dullea provided information on the ECS, and he, Frank P., and I have been working on
reverse engineering other Intellivision hardware.

Not included in that list, but still an
important contributor is Chad Schell.
He provided the world with the
Intellicart, and he and I worked out a
number of nitty-gritty Intellivision
hardware details as part of that process.
Also, his Intellicart makes it trivial
for me to write short test programs
and probe the behavior of the REAL
Intellivision in different ways. This
is invaluable for emu writing.

So please extend Kyle's thanks to me
to these other people as well.

Regards,

--Joe

[Post a reply]

Name: Joe Zbiciak Posted: Monday, December 18, 2000 - (2:27)
Subject: Re: And *I* would like to thank...
From: 24.219.30.193
>Kyle thanked me extensively in his
>interview above, as he's been in close
>contact with me for the past couple
>of weeks. Much of the information I've
>shared with him

[ack.. somehow deleted part of the paragraph]

Much of the information I've shared with him came from other sources. While I certainly have a deep pile of documentation, I certainly didn't write it all or even most of it.

[Post a reply]

Name: Nighthawk Posted: Monday, December 18, 2000 - (0:22)
Subject: Keyboard
From: 152.163.204.194
Do you plan to emulate some of the intellivision periphials such as the computer module or the piano keyboard. I had a roommate in college who had a full intellivision system keyboard, piano keyboard, invellivoice, atari 2600 adapter and he had rigged up some sort of non standard cassette interface. It was extremely cool to work with a maxed out intellivision (even in 1992). It is too bad that later game systems did not add some of that kind of hardware.

[Post a reply]

Name: Posted: Monday, December 18, 2000 - (12:31)
Subject: Re: Keyboard
From: 63.227.181.132
> Do you plan to emulate some of the intellivision
> periphials such as the computer module or the
> piano keyboard.

Yes, I would absolutely like to include emulation of all known Intellivision hardware in time. Unfortunately, I don't really know any kind of time frame for any of the items you mention as I just have a list of items to complete and I'm pretty much working next on whichever item on the list interests me most. At the moment, that item is full-screen DirectX support. After that, it will likely be ECS mode, then DirectInput (2-player support!), then Intellivoice, but the priorities of this list change on a daily basis. :-)

Kyle Davis

[Post a reply]

Name: Posted: Thursday, October 14, 2004 - (13:29)
Subject: Re: Re: Keyboard
From: ool-18e400ba.dyn.optonline.net
>> Do you plan to emulate some of the intellivision
>> periphials such as the computer module or the
>> piano keyboard.
>
>Yes, I would absolutely like to include emulation of all known Intellivision hardware in time. Unfortunately, I don't really know any kind of time frame for any of the items you mention as I just have a list of items to complete and I'm pretty much working next on whichever item on the list interests me most. At the moment, that item is full-screen DirectX support. After that, it will likely be ECS mode, then DirectInput (2-player support!), then Intellivoice, but the priorities of this list change on a daily basis. :-)
>
>Kyle Davis
>

[Post a reply]

Name: ALESSIO Posted: Sunday, December 17, 2000 - (18:34)
Subject: HELP ME!
From: 194.153.103.230
WHERE I CAN TAKE THE EXEC.BIN ANG GROOVE.BIN FILES?

[Post a reply]

Name: Someguy Posted: Sunday, December 17, 2000 - (19:51)
Subject: Re: HELP ME!
From: 24.69.102.15
>WHERE I CAN TAKE THE EXEC.BIN ANG GROOVE.BIN FILES?
>
Umm, did you try looking in this site's ROMS section for the ROMS...?

[Post a reply]

Name: tom pretto Posted: Sunday, December 17, 2000 - (16:28)
Subject: WOO HOO!
From: 63.23.7.60
I have been waiting SOOO long to play AD&D on my PC! I have wanted a free intellivision emulator for so very long, as my original intellivision system is worth less than the price of a blue sky rangers CD!!! Go figure!
MANY THANKS! Now I can pack my old Intellivision system away where it won't take up any space in my entertainment center ever again!

[Post a reply]

Name: Duckie Posted: Sunday, December 17, 2000 - (14:20)
Subject: YOU are a hero Kyle
From: 162.33.154.238
Thanks so much for Bliss. Your statement: "Bliss is by no means one of the more stellar emulators" is just completely false... I think Bliss is one hell of an emulator, not to mention the fact that it is moving cross-platform emulation into the limelight. Though there are other Java emulators out there, Bliss is demonstrating its power to larger groups of people. Your pioneering efforts are very much appreciated!

Another thing, your comments about CPU speed are very astute. Intel has recently admitted Moore's law will continue to apply well into the future, as they anticipate 10ghz processors (and a .007 micron die) by 2005. In light of this, I'll take accuracy and cross-platform possibilities over speed ANY day. This is similar to the DOS/Windows argument, with people still insisting that DOS is the platform of choice for emulation: Microsoft claimed its death years ago, and future platforms will no longer support a DOS shell at ALL, so we need new (read: better) alternatives. I'll take Win32 and Java. ;-)

Thanks again for the great work Kyle. I look forward to seeing your "additions" to the emu in the future (how well do you think Java would do to support netplay?.

Cheers,
Duckie


[Post a reply]

Name: Posted: Monday, December 18, 2000 - (12:38)
Subject: Thanks!
From: 63.227.181.132
> How well do you think Java would do to support
> netplay?

Java's networking APIs are pretty incredibly well done and are cross-platform as well, so netplay isn't out of the question. The only issue when it comes to netplay is latency. Games usually have to be designed with a high tolerance for latency between multiple players. The Intellivision game cartridges, obviously, were not designed with this latency tolerance in mind. You see similar issues when using existing netplay features of other emulators over an Internet connection, but I would think local-network play should at least be feasible. I'll probably try it out in some future version of Bliss.

Kyle Davis

[Post a reply]

Name: Duckie Posted: Monday, December 18, 2000 - (13:12)
Subject: Re: Thanks!
From: 162.33.154.238
>> How well do you think Java would do to support
>> netplay?
>
>Java's networking APIs are pretty incredibly well done and are cross-platform as well, so netplay isn't out of the question. The only issue when it comes to netplay is latency. Games usually have to be designed with a high tolerance for latency between multiple players. The Intellivision game cartridges, obviously, were not designed with this latency tolerance in mind. You see similar issues when using existing netplay features of other emulators over an Internet connection, but I would think local-network play should at least be feasible. I'll probably try it out in some future version of Bliss.
>
>Kyle Davis
>
>Sounds good to me, Java was really written with networking in mind, so its really in its own element here I would think... you're the expert... ;-)

I have seen some amazing leaps forward in this realm, specifically with respect to ZSNES netplay which is very playable over the Internet (tested it in a wide variety of configurations), I'm wondering if the performance issues of a Java-based emulator would preclude the possibility of attaining that level of playability, but who knows (it would certainly be a first I think!). Regardless, it would certainly be playable over a 10/100 LAN. DirectPlay would be very cool, but since in my case I have two stations each with a gamepad, it would be easier to do netplay than to constantly reconfigure one of the machines for two pads. In either event, even if you stopped writing any more features to the emu today I would still be grateful since Bliss is such a great piece of work!

Cheers,
Duckie

[Post a reply]

Name: muriloq Posted: Monday, December 18, 2000 - (11:51)
Subject: Re: YOU are a hero Kyle
From: 200.190.229.61
>Thanks again for the great work Kyle. I look forward to seeing your "additions" to the emu in the future (how well do you think Java would do to support netplay?.

NetPlay support using Java it's easier than using any other language. All required for this is just there, without the need of any external library.

Muriloq

[Post a reply]

Name: CD Posted: Sunday, December 17, 2000 - (12:30)
Subject:
From: 63.50.143.154
Which controls on the keyboard work for the control pad Intellivision came with? Also will I be able to use my joystick?

[Post a reply]

Name: someguy Posted: Sunday, December 17, 2000 - (12:04)
Subject: interview
From: 24.69.102.15
>Well, who besides the fanatics who
>doggedly demand for their P166 to
>remain useful forever.

Or they're simply too broke to afford a new PC...
:-(

[Post a reply]

Name: tom pretto Posted: Sunday, December 17, 2000 - (19:48)
Subject: forever
From: 63.17.197.208
Actually, I hope that I can FOREVER emulate my intellivision system, no matter where technology leads us. Sometimes it seems that older=better, and the only reason we only need faster machines is to emulate our older(read: more interesing) ones! Long live bliss.

[Post a reply]

Name: tom pretto Posted: Sunday, December 17, 2000 - (16:21)
Subject: problems?
From: 63.23.7.60
It sucks that we need 300MHz of "current technology" processing power to emulate a 844Hz "0.844MHz::outdated" intellivision. Java is definitely the crux of the problem. Also, there are TWO java standards: SUNs', and MICROSCOFFEDs', leaving java developers with platform(runtime)-specific code that is not as portable as originally touted.

>>Well, who besides the fanatics who
>>doggedly demand for their P166 to
>>remain useful forever.
>
>Or they're simply too broke to afford a new PC...
>:-(
>

[Post a reply]

Name: Joe Zbiciak Posted: Monday, December 18, 2000 - (2:12)
Subject: Re: problems?
From: 24.219.30.193
>It sucks that we need 300MHz of "current technology"
>processing power to emulate a 844Hz "0.844MHz::outdated"
>intellivision.

Well, keep in mind, it's emulating the
0.9MHz (ok, 894886.25 Hz) CPU, the 3.579545MHz
STIC (graphics chip), the one (or two)
Programmable Sound Generators, and so on.
The Inty had a lot of "hardware assist" that
now must be emulated in software. Granted,
a 300MHz box is overkill if you're coding
directly to the medal, but let's face it,
300MHz boxes are already 3yrs old.

> Java is definitely the crux of the problem.
>Also, there are TWO java standards: SUNs', and
>MICROSCOFFEDs', leaving java developers with
>platform(runtime)-specific code that is not as
>portable as originally touted.

Well, I'm running Bliss using IBM's JDK under
Linux, so obviously it's writing portable code
is certainly possible, and actually *happens*
occasionally.

You get platform-specific portability issues
no matter WHAT language you use -- even PERL!

As for the performance requirements, yes, you
can emulate the Intellivision's 0.9MHz CPU
and simplistic STIC on actually a quite minimal
system (I won't say just how minimal, but I
will say I recently heard of a successful
effort on a machine MUCH MUCH slower than
even a 286).

The problem is that there's a continual
tradeoff between programmer time and program
speed, and computers are getting faster
at a higher rate than programmers are. I
know of a couple emus written mostly in assembly
and, well, they took quite a long time to write
and they're not portable. My own emulator
(jzIntv) is written in C, and is quite portable.
Bliss is almost more portable than even jzIntv.
(I say almost more portable, since I've
ported jzIntv in part to TI's DSPs, but no
such port of Bliss is possible until someone
ports a JVM to the DSP...)

Anyway, I digress...

[Post a reply]

Name: Someguy Posted: Sunday, December 17, 2000 - (19:48)
Subject: Re: problems?
From: 24.69.102.15
>It sucks that we need 300MHz of "current technology" processing power to emulate a
>844Hz "0.844MHz::outdated" intellivision. Java is definitely the crux of the problem.

To be fair: I think developing the emulator in Java is actually a very good idea - it'll make it much easier to port to other platforms such as Linux, Mac, etc.

I think it's more of a comment on how inefficient Java is - I guess Sun has done a good job of learning from Microsoft how to create 'bloatware'.

[Post a reply]

Name: Joe Zbiciak Posted: Monday, December 18, 2000 - (2:13)
Subject: Port? Heh!
From: 24.219.30.193

>To be fair: I think developing the emulator in Java is actually a very good idea - it'll make it much easier to port to other platforms such as Linux, Mac, etc.

Port? Heh. I'm running the "Pure Java" version
as-is on my Linux box.

--Joe

[Post a reply]

Name: Posted: Sunday, December 17, 2000 - (10:45)
Subject:
From: 151.30.72.63
The link to the cabinet image is broken!

[Post a reply]

Name: JoseQ Posted: Sunday, December 17, 2000 - (11:25)
Subject: Re:
From: 24.93.19.224
Fixed. =)

JoseQ

[Post a reply]

Name: jojo Posted: Sunday, December 17, 2000 - (2:38)
Subject: Thanks Kyle
From: 144.132.105.49
You are bringing back many happy memories for me. Keep up the good work. :-)

[Post a reply]

Post Some NEW Comments on this topic...
Name:
Subject:
Text:

© 2002 EmuViews