banner logo
Updates Blog Support Contact Links
Programming JdiWeb JdiMOO JdiBoy JdiMail JdiMOOpp NetCheck Tutorials
Gaming AVR Othello

School Project

September 23rd, 2008

It’s my senior year now… I can hardly believe it. Some parts seem to have dragged on, other flew by. Anyway, as part of my senior year, I have to do a senior project. A capstone project, if you will, that demonstrates my mastery of the knowledge that they attempted to pass on to me. It’s a two semester deal, with one semester designing, and the other implementing and demonstrating. It’s a big deal. We weren’t  told what to do, only being given these four guidelines: Read the rest of this entry »

JdiBoy Icon

July 17th, 2008

Ok, I know the name is changing, but we’ll make that official latter. For now, I thought I’d post what I’ve got in terms of icons for it. It doesn’t have things specific to JdiBoy or Pinocchio, but it looks really cool

Let me know what you think it needs. It can scale up and down as it’s in vector graphics format.

Classic Computing

July 14th, 2008

Time for a break form the serious programming stuff. Time for something fun. What’s something all geeks like? Computers. Any kind of computer. But you know what is really cool? Old school computers. And what’s better than old school computers? Living Legends of old school computers.

Well, I got a pair of living legends with all their accessories. 2 Mac SE’s with keyboards, mice, manuals, disks, and even an ImageWriter II printer. The only thing that didn’t work was one mouse. These little things are mazingly cool. They are small, portable, and farily fast for what they do. 68000 processors, 20MB HDD, B/W 9″ screen, and the famous “SuperDrive” that can read 400k, 800k, and (now) standard 1.4M floppies. The printer is a color impact printer (making that “tzzzzzrrrrrrt” sound as it goes) with ribbon for ink, but it works, too.

One of the coolest things about this is the manuals. Now a days, most computer manuals are 4 pages long, 3 of which are legalease. They just tell you what is in the box and how to plug it in. But not these things. The first one is the owner’s manual for the SE, describing in detail all the hardware. It talks about how to use the mouse, plugging it in and all the normal things, then goes on to talk about how microprocessors work, bits and bytes, how harddrives and floppy drives work, and their low level formatting, pin outs for all ports, specifications for all signals, and how SCSI works. This has it all from a hardware perspective.

There is also a manual on System 6 (the operating system on these things) that is bigger and goes into how to do *everything* on the system. There is one on how to use HyperCard, with basic navigation to changing layouts. And then there is one on HyperTalk, which covers how to script and make your own HyperCard stacks.  I then have all the system disks and all the HyperCard disks, all in their little folders. This thing is the complete set.

I’ll leave you now with pictures

Full SE  System 6  ImageWriter

Preparing to annouce JdiBoy

July 12th, 2008

I am preparing to publicly announce JdiBoy to the world. It hasn’t been secrete, but I am  fairly pleased with the progress thus far, and would like to release a simi-stable version in part to generate interest and feedback.The latest version will be available like always, but, periodically, a simi-stable version will be wrapped out and released.

In preparation for this, I’m probably going to update some site information, reorganize the project page, and possibly redo it from scratch (keeping content). I would like feedback on what you would like to see for this, like if you think it needs a blog, forums, CMS, bug tracking or something, or if the single page works just fine. I might break it off into separate about, news, and download pages, too.

Also, I would like to know what you think of a name for the project. Vote for your favorate in the comments: 1) JdiBoy 2) RealBoy 3) GreenBoy 4) Pinocchio, or something else.

Along those lines, icon suggestions would help. Or even complete icons if you are so inclined. With a new page, a new name (or an old one), and a new icon, I can push out this release.

IT WORKS!

June 22nd, 2008

First off, I apologize for the outages. I upgraded the OS on my server, and it took a few days to put things back in order. It took a few more days to get this database back up. But everything is restored, and it seems that nothing was lost, thankfully. The last time I messed with my OS like that, I lost everything. But I took precautions this time.

While I’m still off topic, I’d also like to say that I’m enjoying my new job, learning a lot about systems administration, and how much things really cost for IT. I had a project where I audited all the backup tapes to find out how old they really are, and ended up making up orders for $10,000 worth of new tapes O_O.

Now onto the topic. The emulator works. I updated the project page when it happened and several people now know about it. But I thought I’d take the time to explain where the project is in full. I started with the C++ source code, and ported it to RB. That turned out to be the easy part, but it caused most of the errors. Stupid copy/paste errors. Stupid errors from not reading the original correctly. Then the hard errors where the original code was so complicated, and mine was so complicated, it just made it hard. But I tracked down many many many errors with that and got it to the point where it will run.

Now, bear in mind that it runs slowly. Even though the Gameboy only ran at 4MHz, what I wrote is probably terribly inefficient. I don’t know what all I can do to help it at this point, though. I did fix one thing a while back with the video. The original code wrote the image data to basically a memoryblock, then passed it out to an outside library for the video handling. Well, that’s not an option here, so I took that memoryblock and turned it into a picture. But that two step process proved very *very* inefficient. But now, I need to find more places like that in my code. I found a profiling utility from TrueNorthSoftware that should help me analyses my  code to find bottlenecks. Hopefully that will help a lot. I probably need to rework some of the dispatching code in the CPU class, and I might need to disable some background things in some functions. But I have a feeling that most of the problems lies with my code.

There are still glitches in at least the video portion of my code. I could try and track this down first, but it’s a pain to do so. Everything is so slow that it would take me hours to just get to where I needed to be in code to watch it go, then I might accidentally miss it.  So I plan on pausing real debugging while I remove the “slugs” as an article on wiki called them.

I also don’t have sound yet. I haven’t managed to figure out how the original sound code works. It seems to write some sound data to a memoryblock and pass it out to that external library. If I can figure out what format that sound is in, I can do something with it, I think. I have suspicions that it is WAV data. So I could possibly do something with that and play it, but I don’t quite know. It might also be possible to use declares to generate the sound directly, but that is also iffy.

So that’s where I stand on the emulator: Need to speed it up, then fix the minor glitches, then add sound. As this is an open source project, feel free to take a peak. Any assistance would be greatly appreciated. I’m trying to keep a list of who all has helped me so I can put it to be distributed with this.

Oh, before I forget: I still need a name. JdiBoy sounds kinda strange. I’ve heard REALboy (but I think that RS wouldn’t like that), Pinchioco (get it? ;), and Greenboy (again, RS might have qualms, but it sounds interesting). Suggestions in the name/icon department would help greatly for you nonprogramming people, or those that don’t want to touch other people’s code.

EDIT: I had to repost this after things going nuts with my server. It’s the only thing that was lost except for comments that may or may not have existed. Please repost any missing comments.