Even Dozen

A few more changes made with this release:

  • General Preference Section added
  • New Preference: Set AppleWorks Beep Sound
  • .Sound, .SoundCnt, and .SoundList dot commands now work correctly
  • Path label improvements. Labels can now be used as to specify partial directory paths (See Notes)
  • Path labels now support moving up and down directory tree
  • Disk Volume support is better (still issues with long volume names though)
  • Added improvements to AWP doc scrolling

Download: Deja IIx (Version 2.0a12)

The Eleventh Hour

Several changes have been made to Deja IIx (2.0a11).

  • New Preference Window – UI for preferences revamped
  • New Preference – AppleWorks location allows you to specify where APLWORKS.SYSTEM resides
  • New Preference – ProDOS Path Labels allow you to use #labels to specify starting point for ProDOS paths
  • Debugger – added screen dump option
  • Disk Volume support – should now work better in specifying disk volumes
  • Scrolling – display should work, although still slower than I would like
  • Performance – performance should be much better. I would like to get feedback if it is not the case.
  • Focus – AppleWorks window now grays itself out when it is not active
  • Launch – AppleWorks window changes when Application launches

Download: Deja IIx (Version 2.0a11)

The changes should make Deja IIx much more usable. There are plenty of features still not there (printing support, clipboard support, snapshots), but most of the main AppleWorks features should now be working. If you encounter bugs, please let me know so that they can be tracked.

Number Nine, Number Nine

Somehow the versions have zipped by: a7, a8, and a9. The good news is that this release (a9) seems to address many weird behaviors (read crashes) previously reported. The issue was tied to the Apple II’s bank switching and UltraMacros (which was using bank-switching). Once the bank-switching issue was found and fixed, things worked more better.

Deja IIx (Version 2.0a9)

In addition to that, I changed Trace History to avoid a continual degradation of performance as the program runs. While the program runs slower, the performance .

For fun, I’ve added a couple more preset colors (in preferences) as well:

The Six Million Dollar Screen

See, we’re not done yet. We can rebuild it. We have the technology.

I’ve just uploaded a new version:

Version 2.0a6

I found a case where the CPU could still get ramped up, even when nothing was happening (around 20% of the CPU being used). That’s fixed now. Anyone using Monitor (in your Utilities folder) will find that Deja IIx quickly spins down when not in use or when waiting for you.

Screen Scrolling is improved. In a5, any part of the screen that needed to be scrolled was essentially redrawn. It now actually scrolls the screen and only draws the new content.

Prodos calls can now be logged. Not all parameters are shown yet, but that’ll be next. It does show the command and whether an error was returned.

The emulator should now stop everything if it encounters a BRK or unknown opcode.

A Gentle Reminder

While the visual progress seems tremendous, this is in a very, very alpha state. Sometimes the visual progress can be deceptive. Folks that are joining on need to realize this fact.

Lots of things are bound not to work. I’m using someone else’s 65c02 emulator, which seems to be doing a good job, there are are definitely bugs in it. I found a major one already that caused AW to crash. One of the tasks it to set up a way to log and track the issues that do come up to insure they aren’t dropped.

Also a reminder. This is a (non-commercial) side project for me — the time spent from this point forward will be just a few hours a week, maximum. As fun as it might be to focus all my time on it, it won’t pay the bills. So progress will definitely slow from what you’ve seen recently, as my focus returns to “my day job”, as it were.

Still, I do appreciate all the encouragement and I hope that progress will continue at a more slow, but steady pace.

This project allows me to experiment in coding areas as well as development techniques and ideas that I don’t get a chance to explore with my existing projects — which is one of the reasons I’m drawn to it.

Again, I do appreciate the support.

And if you want to tell more of your friends about TextSoap, I won’t stop you.

Fab Five

I’ve made a few more changes. See if you can spot the difference.

Deja IIx (Version 2.0a5)

Here’s a hint:

Alpha x 4

I’ve posted an update that should address a bad display problem under Panther (the text was all garbled). This should no longer happen. I also added Debug preference to determine if Prodos OPEN is tracked. This can be useful when debugging the initial load sequence.

Deja IIx (Version 2.0a4)

Moonbase Alpha

Well, here is your first chance to see Deja IIx for yourself. You can download the Alpha version at this link:

Deja IIx (version 2.0a1)

Be sure the read the notes that come with it. There are definitely issues that aren’t addressed, but it does generally run and is completely OS X native.

My goal was to spend this week giving Deja IIx enough attention so that folks could start playing with it and most things worked.

While it won’t get as much attention after this week, the issues left can be addressed in smaller chunks of time. So progress will slow down from the pace of this week, but it will continue.

WE HAVE LIFTOFF!

After an attack of the most subtle bugs in the JMP (Addr,x) command, which AppleWorks happens to use, we have success. The emulator was calculating the address incorrectly and so the program kept crashing. This is more than just launching. It is running.

But it’s not quite ready for prime time. There are a couple outstanding issues that I want to address before I let it out into the wild (even as an alpha).

  1. Uppercase Inverse text issue. This is related to the MouseText issue. The result is inverted uppercases in menus, etc.
  2. Cursor. The cursor is not blinking at all right now.
  3. Performance. I need to make some adjustments to make the program more usable and responsive to the user. Also, I want to reduce the CPU load when possible. This is especially true while waiting for the user to input text. The emulator is going full bore waiting for you to hit a key.

Keys, Keys everywhere and not a Key to press!

Keyboard handling is one of the last main pieces of code that I would like to get working this week. Unfortunately, it is not a straightforward process.

I’m hoping that some of the bits I’ve learned on that series of tubes known as the internet (thank goodness it didn’t get clogged up) will help in most of cases. I definitely don’t want to have to write m own USB keyboard driver! Regardless, the keyboard handling will have to be all new code.

I would also like to be able to put some throttling on the emulator so that it doesn’t run at full speed (cpu cycles) while it waits for you to type something. Deja ][ could suck up 95% of the CPU cycles waiting for you to press a key. Even though the non-debug emulation will eventually be in a thread, it will still need to hang out in a less intense way when waiting for user input.

Some other key items of note:

  1. If anyone ever wrote a Mac plug-in, be warned that it will not work with Deja IIx. I am working on a more modern replacement of the plug-in design.
  2. MouseText isn’t working quite right yet. Still tracking down the specifics on when it is supposed to be used when dealing with Assembly programs. I found the tech note when using BASIC though.
  3. Serial Port native commands will simply be ignored.

Finally, work on Deja IIx will slow down after this week. My focus returns to several ongoing projects that are designed to pay the bills. That’s not to say it won’t get attention. I’m hoping that it won’t necessarily need as much attention.