WiiApple: Apple IIe Emulator for Wii

I just learned about developing applications on Wii 3 days ago. I was wondering what application should I make, and I noticed that there was no Apple II emulator for Wii yet. Apple IIe was my first computer, so I thought it will be fun to be able to emulate it on my Wii. AppleWin is a good Apple emulator, but it is very windows specific, fortunately someone already ported it to Linux using SDL, and the name is LinApple.

Someone already made an early SDL port to Wii, but it is missing threading support (which is needed by the emulator). After reading things at wiibrew.org and devkitpro.org, I decided to complete the threading part. The next problem is the input. I want to be able to write BASIC applications, so I decided that the SDL port must support keyboard input, someone already made LibWiikeyboard, so I can just plug it in SDL (actually this is a hack, to correctly handle SDL requirements, there are some things that needs to be changed, in LibWiikeyboard and in the SDL gamecube implementation).

Next part is the porting process itself. The difficult part is making sure all the endiannes conversion of 6502 (Apple II CPU) to Wii’s PowerPC is done correctly, because I don’t have a USB gecko to debug it. Currently the port works, but don’t expect too much from this first release. I can already play some games, but I haven’t tested many other things. Sound is not yet now supported.

Here are some screenshots (made using tvtime, captured through my USB TV Box)

This is the application that you can extract to your SD Card

http://tinyhack.com/wii/wiiapple/wiiapple.zip

Note: Latest version is available at: http://code.google.com/p/wiiapple

The plan is: Everytime I update the application, I will still use the same file name, you can look at http://tinyhack.com/wii/wiiapple/ to look for older releases.
You will need to install Homebrew Channel to use it.

And the source codes are available at:

http://tinyhack.com/wii/wiiapple/

Note: Latest source code is available at: http://code.google.com/p/wiiapple

Update:

version 0.0.2:

- Fixed text overlay
- Disable saving options (dangerous for now, because you might overwrite your files)

version 0.0.3:

- Sound support
- Fix joypad problem
- Invalid disk image will not freeze the emulator (in case of invalid disk, Master.dsk will be reloaded)

January 6, 2009 (0.0.4)
- new keyboard driver, now work with most USB keyboards
Note: I am still working on the keyboard issue (some USB keyboard still  doesn’t work). I think this is because the limitation of Libwiikeyboard that can only do control transfer instead of interrupt transfer. Now I have rewritten the SDL keyboard part with my own code (part was based on the code from Guitar Fun).

January 6, 2009 (0.0.5)
- Support Gamecube controller (Wiimote support is planned for next version)
- updated some bug in keyboard handling

January 7, 2009 (0.0.6)
- Increased gamecube joystick sensitivity
- Fixed (most) crashing issue

January 8, 2009 (0.0.7)
- Support Wiimote as Joystick (Press A button in Gamecube controller to switch to gamecube joypad)

note: Mac USB keyboard works.

133 thoughts on “WiiApple: Apple IIe Emulator for Wii

  1. Pingback: » En Apple II-emulator finns nu att ladda … Vi med Wii

  2. Chris

    Excellent release! I’m about to mess with it. If you want help sorting through bugs and such, or any suggestions, send me an email.

    [email protected]

    Reply
  3. Beef

    Wish I had a USB keyboard… I had just been thinking that an Apple II emulator on the Wii would be great. I am looking forward to seeing what the next versions can do!

    Reply
  4. Starscream

    Seems to be pretty good already! There is some sort of text overlay issue, e.g. when the help is brought up, the background text makes it hard to read, and when I was fiddling with the saving options ( I couldn’t, during my short testing figure out how to properly use them, are they implemented yet?) some messages remained on screen ingame. The different video modes are a neat feature and the games I tested appeared to run without problems.

    Reply
  5. Pingback: Wii meets the power of the Apple II | Codename Revolution -- Nintendo Wii

  6. yohanes Post author

    @Chris thanks for the offer, I am still learning the Wii development, and I realize there are still many things that needs to be improved.

    @Starscream I already fixed the text overlay issue, and I will upload it today or tomorrow.

    The saving actually works, but it is confusing (I haven’t changed the dialog from LinApple port). When you select a filename to write your save file, you will overwrite the file with the save data. So be careful when selecting the menu.

    Reply
  7. Pingback: New Version Of The Apple II Emulator WiiApple - EmuHQ

  8. Pingback: WiiApple: Apple II Emulator | NES Hacks

  9. Nowhereman

    It doesn’t work at all for me I try launching the app from the homebrew channel but all I get is a crash screen with some registers incrementing for a few seconds then the wii goes black and is completely locked up.

    I’m using an North American NTSC wii and s-video out. I have a USB keyboard plugged in. I have lots of apps installed on the Wii Homebrew channel that I’ve installed that work perfectly so I don’t know why this emulator isn’t working.

    Maybe I’m the only one using an NTSC Wii? I don’t know what else it could be as it looks like others here are able to use it.

    Nowhereman.

    Reply
  10. yohanes Post author

    @Nowhereman

    I am using US NTSC Wii, and have no problem with it. I use Composite cable, not the S-Video (I think I have one, I’ll try it if I can find it).

    Can you take a picture of the crash for me?

    Reply
  11. Nowhereman

    Hi Yohanes,

    I uploaded a short video clip on youtube so you can watch what happens when I try to load your emulator. It is the same with version 0.0.1 and 0.0.2. Hope this video helps you figure out what going on. I uploaded it in HD so hopefully you can make out the number and letters. If you need a clearer picture I can take one with a still camera for you.

    The link to the video is:
    http://www.youtube.com/watch?v=qBJvqs_8KV4

    I’ll keep it up for a week or so, then I’ll delete it unless I hear from you sooner.

    Thanks for looking into this weird problem.
    Nowhereman.

    Reply
  12. yohanes Post author

    @Nowhereman

    Thanks for the video, I have downloaded it.

    Can you try unplugging everything (gamecube controllers and other stuff), except for the USB Keyboard and try again?

    Reply
  13. Da_GPer

    I cant seem to get my USB Keyboard to work, yet it works on Internet Channel, Animal Crossing City Folk, and other homebrew with no problem. I even unplugged everything but the keyboard and still it wont work. Can you help me?

    Reply
  14. yohanes Post author

    @Da_GPer

    Currently I have no idea why it happens. Can you tell me what other homebrew apps that works with your keyboard? so I can compare my approach in handling keyboard input with theirs?

    Reply
  15. Da_GPer

    I know FUSE does, but I havent ran that emulator in a while. The Linux program works too as I use the one that someone made for the C64 emulator. Ill give you more programs as I find them.

    Reply
  16. yohanes Post author

    @Da_GPer

    I will look into it. As far as I know (from the documentation), the approach used by libusbkbd will make the Wii “freeze” if there is no keyboard installed when using the program (that is why I decided to use the other library). But, as far as I know, there isn’t any complex program using libwiikeyboard yet (so it may be your case is the library’s bug).

    I’ll see if I can merge both approach.

    And can you test this (I don’t know whether this will work or not, just give it a try):

    Start wiiapple with your keyboard unplugged, and on the welcome screen, plug the keyboard, wait for a few moment and press F2.

    Reply
  17. Da_GPer

    I did that already. I just forgot to mention it at the beginning. I will tell you though that the lights (Num Lock, Cap Locks, and Scroll Lock) did turn on for a few secs when I ran the emulator and if I hold a key when I plug in the keyboard, the key will run until I release it. Then, it wont work again. I hope Im helping.

    Reply
  18. yohanes Post author

    @Da_GPer

    OpenTyrianWii and GeexBox uses linux, so it also uses Linux drivers. Guitar Fun uses its own keyboard handling (which is very basic, it only detects some keys, and ignore anything else). You have been very helpful, but currently I don’t know what to do. I will contact you via email if I have a version for you to test.

    Edit: I think the code in Guitar Fun is more advanced than I think, and I think this will be a nice candidate for libwiikeyboard replacement.

    Reply
  19. Da_GPer

    Dont use the E-Mail I gave you as its just a E-Mail that prevents spam from going to your real E-Mail account.

    Reply
  20. Pingback: Vendetta » Wii Stuff

  21. Nowhereman

    Hi Yohanes,

    You were correct thinking it was a device I had plugged into my Wii. I unplugged everything except a USB keyboard and I can now get to the opening screen. Here I can press the home button on the wiimote and go back to the Homebrew menu. But my usb keyboard doesn’t work, just as Da_GPer. It’s as if it doesn’t exist…

    I’ve tried a cheapo generic USB keyboard and ironically an actual Apple USB keyboard without any luck.

    yohanes edit: the apple usb keyboard works since 0.0.3

    Oh well I’m getting closer at least. Let me know if there is anything you need me to test.

    Just so you know I found out that it was the wired GameCube controllers that are causing my Wii to crash. While on the main wiiapple boot screen if I plug in the controllers the Wiiapple program crashes instantly just as my video showed. The name of the controllers are: i-con “The fight controller”. I have two of these wired controllers and as soon as I plug in either one on any of the four gamecube controller ports it crashes the wiiapple program.

    This is using wiiapple v0.0.2, I haven’t tried version 0.0.3 yet.

    Reply
  22. Nowhereman

    Hi Yohanes,

    I’m trying to compile the SDL Port you have made with Threading and keyboard support (I’m thinking about porting an CoCo Emulator to the wii) and I’m having a couple problems.

    I can get most of it compiled but I would like to pick your brain if I could.

    -While compiling SDL_sysmutex.c I get this warning:
    src/thread/gamecube/SDL_sysmutex.c(62) : warning: unused variable ‘this_thread’
    Is that OK to ignore?

    -While compiling SDL_timer.c I get this warning:
    src/timer/SDL_timer.c(127) : warning: implicit declaration of function ‘SDL_ThreadID’
    Is this also OK to ignore? I don’t like to ignore warnings…

    The main thing I’m trying to wrap my head around is how you implemented the keyboard routines.

    Since I have the libwiikeyboard library already setup on my devkit installation it seems to conflict with, but is still needed with your new SDL keyboard additions.

    specifically I’m getting a bunch of:
    c:/devkitPro/libogc/include/keyboard_keysym.h(267) : error: redeclaration of enumerator ‘KMOD_NONE’

    The original keyboard_keysym.h has:
    typedef enum {
    KMOD_NONE = 0×0000,
    KMOD_LSHIFT= 0×0001,
    KMOD_RSHIFT= 0×0002,
    KMOD_LCT
    KMOD_RCTRL = 0×0080,
    KMOD_LALT = 0×0100,
    KMOD_RALT = 0×0200,
    KMOD_LMETA = 0×0400,
    KMOD_RMETA = 0×0800,
    KMOD_NUM = 0×1000,
    KMOD_CAPS = 0×2000,
    KMOD_MODE = 0×4000,
    KMOD_RESERVED = 0×8000
    } KEYBOARD_MOD;

    And the SDL_keysym.h has:
    typedef enum {
    KMOD_NONE = 0×0000,
    KMOD_LSHIFT= 0×0001,
    KMOD_RSHIFT= 0×0002,
    KMOD_LCTRL = 0×0040,
    KMOD_RCTRL = 0×0080,
    KMOD_LALT = 0×0100,
    KMOD_RALT = 0×0200,
    KMOD_LMETA = 0×0400,
    KMOD_RMETA = 0×0800,
    KMOD_NUM = 0×1000,
    KMOD_CAPS = 0×2000,
    KMOD_MODE = 0×4000,
    KMOD_RESERVED = 0×8000
    } SDLMod;

    So these are declared twice. Did you simply comment out the original ones from keyboard_keysym.h ? Or is there a better way? I’m afraid if I do I’ll run into problems down the road compiling keyboard features that use KEYBOARD_MOD. Or do I just have to comment out the code temporarily and can put everything back after I compile the SDL library?

    If you have time please fill me in a little, as I’m an old time assembly guy and everytime I try wrapping my head around ‘C’ program I come up with these type of issues and it just puts me off.

    Thanks,
    Nowhereman.

    Reply
  23. Pingback: Travels Through the Vast Expanses of Monotony » Apple IIe on the Wii. Start calling it the Nintendo “Why”.

  24. raz0red

    Would it be possible for you to post your updated version of the SDL library so that I can compile your source?

    Thanks.

    –Raz.

    Reply
  25. raz0red

    @yohanes

    Thanks. Also, I see the source and headers, but not the compiled library. I guess I will attempt to build it.

    Also, maybe you could just answer a simple question for me. I am trying to port a simple app to SDL/Wii and for some reason I can’t get it to load a BMP file. No matter what I do it fails when reading it “Couldn’t open”. I have even copied the very beginning lines of your code where you do the SDL initialization and load the initial bitmap and that fails as well. Is there a change you made to the SDL to allow bitmaps to be loaded?

    Thanks.

    Reply
  26. raz0red

    Sorry to be a pain, but I am trying to compile the SDL as well and am having the same issue as Nowhereman with regards to the duplicate definitions of the keyboard constants.

    Thanks.

    –Raz.

    Reply
  27. Nowhereman

    @raz0red,

    Yohanes replied in to my question above in a email (good idea)

    Yohanes said it’s safe to ignore the two warnings and:

    i put this on the libbwikeyboard header file:

    #ifndef _SDL_keysym_h

    typedef enum {
    KMOD_NONE = 0×0000,
    KMOD_LSHIFT= 0×0001,
    KMOD_RSHIFT= 0×0002,
    KMOD_LCTRL = 0×0040,
    KMOD_RCTRL = 0×0080,
    KMOD_LALT = 0×0100,
    KMOD_RALT = 0×0200,
    KMOD_LMETA = 0×0400,
    KMOD_RMETA = 0×0800,
    KMOD_NUM = 0×1000,
    KMOD_CAPS = 0×2000,
    KMOD_MODE = 0×4000,
    KMOD_RESERVED = 0×8000
    } KEYBOARD_MOD;

    #else

    typedef SDLMod KEYBOARD_MOD;

    #endif

    Thanks Yohanes. “You’re the Man!”

    Reply
  28. raz0red

    @Nowhereman

    Thanks for the info! It worked great.

    Now my bitmaps are loading as expected. Unfortunately, now I have moved to the next issue, the WAV files aren’t playing even though they seem to be loading fine. Oh well, at least I have something decent displaying.

    Reply
  29. Pingback: A new Year a New Show Episode 299 Emerges | The CaffiNation Podcast

  30. raz0red

    @yohanes

    Nice! Now I am getting sound. There is an issue though. The sound appears to loop infinitely even though I am specifying that it should only play a single time, odd. For example:

    Mix_PlayChannel( 1, sounds[SHOT_WAV], 0 );

    One other question for you. I am just curious why you are having to add sound support when I thought they had already added it to the SDL. On the WiiBrew page it states that they added an SDL_mixer implementation. Maybe I am missing something? I guess the same goes for image manipulation. That didn’t work either until I built your updated SDL library.

    Shouldn’t image and mixing support already be in the Wii SDL?

    Reply
  31. yohanes Post author

    @raz0red

    I only tried the sound for porting the emulator, I didn’t even test it using a small program. I will check this bug.

    I also thought it should work, but it didn’t, and i think the SDL-Port released source code doesn’t correspond to the released binary. Since the binary doesn’t support threading anyway, I thought I’ll just fill in the missing parts.

    Reply
  32. Pingback: The Technology Center: Idle Time - Page 47 - StrafeRight Forums

  33. Da_GPer

    I was checking up on the site to see how the keyboard support is going. Im really looking forward to playing all those classic Apple IIe games I used to play when I was in school…… Good memories, especially Oregon Trail and Number Munchers.

    Reply
  34. Pingback: Wii/NDS - 任天堂破解資訊網站 - Dash Hacks Network » Blog Archive » WiiApple: Apple II 模擬器

  35. Nowhereman

    @Da_GPer

    Yes! Yohanes has done it!

    He sent me a new test version of his wiiapple with his own re-written keyboard routines and it works with my cheapo USB keyboard! It still doesn’t work with my Apple keyboard though. It might be because of the USB ports built into the Apple Keyboard…

    Another benefit from his fix is my previous problem with my wired gamecube controllers is gone. No more crashing with these controllers!

    It’s very cool programming an Apple PC using a Wii!

    Way to go Yohanes…

    Reply
  36. Pingback: Xbox Room | Oliver Willis

  37. yohanes Post author

    @Nowhereman

    I have released the 0.0.4 which uses new keyboard routines. I have also released the new source code for SDL that supports the keyboard.

    Reply
  38. Nowhereman

    Hi Yohanes,

    Excellent work and thanks for both a cool Apple emulator and a cool updated SDL library with witch all wii programmers can benefit from and use to port other apps to the Wii.

    Nowhereman

    Reply
  39. Chris Paulson

    It crashes if I have any gamecube controllers plugged in. Instantly too. Just an FYI , I thought a few said it was crashing on them.

    Reply
  40. Da_GPer

    By the way, great job on fixxing the keyboard. It works now, except for one part. If you hold shift or use Cap locks to make the letters lower case, it wont become upper case again. Just a small problem that can be fixxed easily, I hope. Other then that, it looks great! Excellent job!

    Reply
  41. yohanes Post author

    @Da_GPer

    Thanks for the bug report. I will fix it soon.

    Right now you can not use the Wiimote as joystick yet. I am planning to add this feature after the keyboard stuff is really fixed.

    Reply
  42. yohanes Post author

    @Da_GPer

    Good, I think I need to get myself a gamecube controller. I looked briefly at the source code, and can not see where it got reversed.

    Reply
  43. Da_GPer

    Boulder Dash and Jumpman dont respond to either keyboard and joystick and Boulder Dash has this nasty bug that after game over, the game continues (unlimited lives). Also, if you run Jumpman on disk 2, it will say to insert another disk, but the Wii will freeze, even though its still working. The keyboard and Wiimote will not work and you have to hold the power button on the Wii to reset it.

    Reply
  44. yohanes Post author

    @Da_GPer

    About those games, can you test it also in Windows using Applewin or in Linux using Linapple, to see if they have the same problem?

    Reply
  45. Da_GPer

    OK. Using AppleWin, I found out that my Boulder Dash I and II are bad. As for Jumpman, the joystick worked so theres an error on WiiApple, not Jumpman. I cant test the second disk for that game due to it being on Windows and not a Wii.

    Reply
  46. Da_GPer

    I downloaded a couple of versions of Boulder Dash I and II from Asimov’s site as well as other sites like PlanetEmu and they are all the same using AppleWin, so I can safely assume that any version of Boulder Dash that you download from the Internet wont work on any Apple IIe emulator or a real Apple IIe. I hope that if anyone runs those games that they will know about this.

    Reply
  47. Da_GPer

    Wolfenstein does not move up or down while using joystick though the game seems to work fine with keyboard. I never did like the game much anyways. I always liked the 3D one by ID Software more.

    Reply
  48. raz0red

    @yohanes

    I was able to “fix” the audio issue I was having by zeroing out the memory for the dma_buffer after you set the pointer to it (StartDMA method in SDL_gamecubeaudio.c).

    DMABuffer* const dma_buffer = &dma_buffers[current_dma_buffer];
    memset(&(*dma_buffer)[0], 0, sizeof(DMABuffer));

    I am not sure it is the correct fix, but it does resolve the issues I was having with the sample constantly looping.

    Reply
  49. Da_GPer

    Down doesnt work in California Games in joystick mode. It seams like there may be a problem with more then just the up and down being reversed.

    Reply
  50. yohanes Post author

    @Da_GPer

    I have uploaded a new version, which should fix most of the bug that you mentioned.

    Keyboard handling should work fine now (Capslock handling and 0-9 keys have been fixed).

    Jumpman now works, Gamecube joystick works on most games, although I think the sensitivity is a little bit off. Up down direction is now fixed. In Crystal castle, sometimes there is a bug after finishing the first stage (assertion error).

    @raz0red
    Can you send me your small program? I want to test my solution (or just try my latest SDL code).

    Reply
  51. raz0red

    @yohanes

    I will do both when I get home tonight (test your latest SDL and send you a simple program).

    Also, I did test the latest SDL version that is currently available for download (SDL-Port-20090106.tar.gz), I assume there is a more recent update?

    Reply
  52. DaFrigN

    Cool! Thank You very much for your efforts!
    Now if someone could just port MiniVMac or Balaski to the Wii, then the Wii could run MacOS 7, 8, or maybe even 9 or OSX! It may even be possible to use some kind of virtualization techniques, since the Wii & GC CPUs are descendants of Apple-Motorola-IBM PowerPC processors? Wii-WINE anybody? Then I could run my HyperCard Staks on my HiDef TV, that would be almost as weird as it was to run them on my kid’s NintedoDS! Pararena, CrystalQuest and others would be cool to play with the Wiimotes!

    Reply
  53. Starscream

    Wine won’t run because it’s X86-only. Qemu can probably though, maybe already under Linux. Wouldn’t expect OSX to run decently. (not much RAM for that on the Wii).

    Concerning this emulator,
    I’m impressed with your rapid progress on working the issues out, yohanes!

    Reply
  54. yohanes Post author

    @raz0red

    SDL-Port-20090106.tar.gz is the latest (I overwrote the previous release, because there was too many bugs). I should probably set a google code project for this.

    @DaFrigN

    This is my first emulator project. May be I will port other systems after this one is stable enough.

    Reply
  55. Pingback: Darkness Bound

  56. yohanes Post author

    @Da_GPer

    It seems it doesn’t work also in AppleWin (I tried using mouse as joystick), after selecting character, the Fire button didn’t work.

    Reply
  57. yohanes Post author

    @raz0red

    Thanks for the code. By the way, did you experience any problem with the audio?

    Wiiapple kept on crashing on the audio code. I am still not sure where the problem is, but on the latest version i disabled threading from SDL audio and also fix some things on wiiapple itself. I will do more checking this weekend.

    Reply
  58. raz0red

    @yohanes

    After I applied the included fix, I didn’t encounter any problems. However, the example I am using is very small.

    I had some concerns when looking at the current gamecube audio code w/ respect to threading. I see there are two buffers, but I don’t see what prevents more than two threads from accessing them simultaneously via the DMA callback. I am not very familiar with the SDL or libogc so it may be fine.

    Reply
  59. wraggster

    Thanks for the release, its great for us oldies to play retro games on the Wii, i do have a question, is a gamecube port doable too, it would be awesome to see this on the Gamecube too.

    Thanks for another great emulator forthe wii scene

    Reply
  60. Nowhereman

    Hi Yohanes,

    I tried posting this with links but the post didn’t come out. So I tweaked it below…

    If you are toying with the idea of doing another emulator and want to help out the wii homebrew scene. It would be awesome to port the mother of all emulators to the wii… MESS. It’s a branch of the MAME source code specific for computer emulators instead of acrade mahines.

    There is a port of MAME and MESS to SDL found by googling SDL mess

    The massive list of all the computers that MESS emulates can be found on the mess.org website

    Back in April or so someone mananged to port SDL Mame to the wii:
    You can watch some videos on youtube

    Although it takes for ever to load the ROM for more recent arcade machines it did prove that it is do-able and maybe looking at the Wii SDL Mame Port source code would help…
    It can be found on wiibrew website

    If I had the “C” skills I would give it a try myself…

    Just food for thought.

    Nowhereman.

    Reply
  61. Da_GPer

    Ah, the legendary wraggster….. I used to go on DCEmu a lot back when the DreamCast was the biggest homebrew console. I still have my DreamCast today, but its not really used much as the Wii dethroned it, homebrew wise.

    Reply
  62. yohanes Post author

    @raz0red

    I also doesn’t understand the code completely. I’ll update it once I understand more about how the audio works on Wii.

    @wraggster

    If I have a gamecube (with a keyboard), I would love to do the port, but since I don’t have one, I don’t think I will make a game cube port.

    @Nowhereman
    I think that is a good idea to port MESS. I will see how difficult it is. Btw, how good is MESS compared to individual system emulators?

    Reply
  63. Da_GPer

    I have a GameCube with a keyboard. I use it for PSO (Schthack). I do know about using PSO for homebrew but I havent done that in years.

    Reply
  64. Nowhereman

    Hi Yohanes,

    I can only tell you about the Coco emulation from personal experience that it is excellent. They have/had some really talented programmers working on it and it is very mature especially based on the MAME source code. Which has been improved on for more then a decade now.

    Give it a test drive and see how good you think it is. You could test the Apple ][ emulator and see if it runs some of the trouble games that AppleWin has compatiblility problems with…

    I think you’ll find it very good. Hopefully it wont be too difficult to port for you.

    Nowhereman.

    Reply
  65. jendave

    Hi Yohanes, Great work on updating SDL by the way. Instead of creating a new googlecode project would you consider putting it into the official SDL tree? There are already several versions of the SDL-Wii port and I was thinking it would consolidate and raise awareness of the port.

    To that end, I did a check out of the official SDL SVN (1.2.13) and patched your changes (the 0106 version) into it. i’ll update it with the 0108 version.

    Since it is a Wii port of SDL, I search and replaced all the occurances of “gamecube” with “wii” in the function and defines names. I was able to build a few apps with the new version including wiiapple, spaceinvaders and WiiDoom.

    If you think putting it into the official SDL SVN is a good idea, I can send an email to the list requesting SVN access for myself and you.

    Thoughts?

    Reply
  66. yohanes Post author

    @jendave

    I think it would be a great idea to merge the SDL port. But I think we will need to do more clean up, and do what WinterMute wrote here:

    http://forums.devkitpro.org/viewtopic.php?f=3&t=112

    WinterMute said:

    here are several issues with the current port.
    - It needs to be reworked to use the SDL configury – this will benefit – maintainablility in the long run.
    - The video code should probably be using GX rather than the current yuv framebuffer method.
    - There is currently no proper separation of Wii and Cube specifics – access to wiimote vs gamepads for example.
    - The file system code should be reworked to use the libfat interface.


    After looking at the source code, here are my thoughts

    - The configure part is good, but may be not that necessary (low priority, since most projects/library on Wii doesn’t use configure)
    - I am still looking at the GX part
    - Separating the gamecube and wii part should not be difficult (although I don’t have a gamecube to test)
    - The last one is easy (and already been done).

    I think we should ask more to WinterMute about stuff that needs to be done.

    Reply
  67. Da_GPer

    I noticed that 0.0.7 is out yet I didnt get a copy in my E-Mail and I cant download it from this site. It still has 0.0.6.

    Reply
  68. yohanes Post author

    @Da_GPer

    Sorry, i forgot to notify you, and I uploaded the wrong file :( (Shouldn’t have uploaded while I was very sleepy).

    Please download again.

    Reply
  69. Da_GPer

    Thats OK. Its a good thing I still check up on this site to give out info on my testing and to see what others say.

    Reply
  70. Pingback: links for 2009-01-08 | manicwave.com

  71. Da_GPer

    OK. After testing, I found out the the Wiimote actually works better and has more functions then the GameCube controllers do. In fact, games like Gauntlet are actually playable and California Games and BCs Quest For Tires has more functions. Im going to try Boulder Dash I and II and hope that those games work, but I wouldnt expect them too, since there bad files anyways……

    Reply
  72. jendave

    @yohanes

    I had seen Wintermute’s comments. He has essentially disowned the port. However, the port has come along quite a bit since then. Several apps have started to use it.

    I think dropping GameCube support may be necessary since no one appears to be interested in it (or like myself, does not own a Gamecube). That is why I replaced all the GameCube references as a start. Even in its partially complete state, it still would be useful to put into the SVN tree to keep it current.

    WinterMute did mention a test harness as well in one of his posts. It would be useful to get some clarification on that.

    I’ll hold off on submitting a patch to the SDL project until you are more comfortable with the state of the port, but I think it would be nice to be able to have your progress in SVN version control.

    Reply
  73. Pingback: links for 2009-01-09 | manicwave.com

  74. DaFrigN

    @Starscream
    I just meant that WINE uses virtualization techniques and it may be possible to do a WINE-Like project for the Wii. QEMU EMULATES various CPUs, it’s not virtualization like WINE is. ‘WiiVirtualBox’ or ‘WiiVMWare’ may be a little more clear as to what I’m getting at. There may be a useable code base in the old ‘Mac-on-Linux’ PPC project.

    Also, it IS possible to run OSX with 256MB RAM or less. I have a 400MHz-G4upgraded PowerMac-9600 circa 1998 that runs OSX 10.4.9 at useable speeds, though a Quartz compatible video card helps a lot with the GUI.

    VMac/MiniVMac (or maybe even Basilisk) with MacOS ‘Classic’ would probably be a better choice to shoot for since it can already uses the SDL library and has been ported to almost every platform including MacPPC and even the NintendoDS. I’m sure it would be easier to do, but it would be Moto-68K emulation and not take advantage of the PowerPC based CPU in the Wii.

    Peace,
    -=D=-

    Reply
  75. jendave

    @yohanes

    An alternative to getting into the official SDL SVN, we could put it into a google project as you had suggested. There is one called “sdl-ports” that has versions of sdl_mixer and sdl_image. MAybe it would be good to put it in there. Otherwise i could set up a new google code project.

    Reply
  76. Chris

    Quick question. I know it’ll load .dsk, but has anyone been able to load .nib? There are some games (pretty much all Sierra games like King’s Quest and Leisure Suit Larry) that require conversion into .nib to work in ANY Apple II emulator. If this function isn’t supported, could it possibly be in future releases?

    Reply
  77. Pingback: Wii Emulator with Apple IIe Computer | WiiNoob

  78. Greenie

    This is EXCELLENT! Just spent the entire night playing Choplifter, Bruce Lee, Karateka and Lode Runner. Good work dude!

    Just wondering if you can hook up the Wii Nunchuck to be used as an analog joystick. There are some games like Sabotage that need an analog joystick. It would be PERFECT if that could work!

    Oh, and Bluetooth keyboard support would be excellent so then I can sit away from the Wii and have the keyboard within easy reach.

    For people who don’t know about the Asimov Apple ][ Archive which holds almost every piece of Apple ][ software in existence, check here:
    ftp://ftp.apple.asimov.com/pub/apple_II/images

    Awesome! Thanks again!

    Reply
  79. Branko

    Great job!
    One annoying bug though…
    I cannot find the “[” key!????
    When I press the “[” on my USB keyboard I get “@”.
    This prevents me to play Sargon chess as switching screens require Ctrl + [.
    Any ideas?
    Thanks again

    Reply
  80. Greenie

    One issue, I can’t get Fire 2 to work on the Gamecube controller with Wings of Fury. Fire 2 works fine to start with on the Wiimote, but after switching to the GC controller it doesn’t work. If I then switch back to the Wiimote, Fire 2 still doesn’t work until an F2 reset. Unfortunately I can’t test Fire 2 with a different game because I can’t remember any other games requiring two buttons.

    Reply
  81. Eddy

    I can not play the Beyond Castle Wolfenstein (Muse 1984) on wiiapple-0.0.7. It seems need to write some infomation to game’s rom. Could you help to solve? Many thanks.

    Reply
  82. Simon Kagstrom

    I entered two issues I have with the SDL port in the googlecode issue tracker, so if you have time someday it would be nice if you could take a look at this :-)

    Thanks for putting in all of this effort in the SDL port and wiiapple!

    Reply
  83. Alexwebmaster

    Hello webmaster
    I would like to share with you a link to your site
    write me here [email protected]

    Reply
  84. Pete

    Hey Guys.

    Sorry for the really stupid question, but…

    I have the emulator running fine but how do I play apple 2e games?

    Thanks

    Reply
  85. Andrew Certain

    Put the disk images on your SD card and then hit F2. This will bring up a menu by which you can select which disk to load.

    Andrew

    Reply
  86. Andrew Certain

    Sorry. Make that F3. F2 reboots the emulator. So choose a disk image with F3 and then hit F2 to boot it.

    Andrew

    Reply
  87. Andrew Certain

    I patched the source to allow the Nunchuk joystick to be used as the Apple joystick. Yohanes, please email me if you would like to include the changes in your release. If not, I’ll post them somewhere.

    Andrew

    Reply
  88. Michael Packard

    I have been having great fun with the Apple II emulator for the Wii. The only real problem I have with is is selecting disk images – I have over 800 of them on my sd card (downloaded the whole asimov archive!), and even when separated into folders alphabetically, the emulator chokes for several MINUTES when I go select a folder with, say, 75-100 disk images. Eventually it shows me the file list, but it takes forever.

    Can you fix this? I’d like to explore what is available for the apple, but it’s REALLY hard when it takes so long to just open one of many folders I have.

    Otherwise it’s a fantastic emulator. Thanx.

    Reply
  89. WiiBoy7

    i was wondering if there have been any new developments in WiiApple?
    i noticed a few bugs in different areas.
    I’m using version 0.0.7 as of nov-7-2010.
    where should i report bugs to?

    Reply
  90. DataDragon

    Love the port, great work. I am having issues with the save/load function. You can be in a game like wavy navy and Alt F11 to quick save and then Alt F12 to quick load just fine, no problems. But when I try this in games like Mystery House or Cranston Manor (the ones that really need the save!) it loads the save ok alt f12 but the next input you make it crashes. And since you still cant save to the dsk image then built in save isnt possible either. It works fine in appleWIN, I will try in linapple also shortly. Can you look at this and see if easy to fix or not.

    Reply
  91. ZAC

    i looked at source code and it seems hdv files could not be loaded as it says false. but options are there. i even edited .conf file to enable hdv but no success. will it become avaible? have i done something wrong?

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>