64Copy Development News
Mar 26, 2014
64Copy 4.45 is released. It's been in limbo for some time.
April 27, 2011
Obviously 4.43 was released some time ago, now 4.44 was just released. It contains a pile of fixes for the Disassembler, GCR conversion and adds ROM/EPROM conversion for EPROM burning.
October 5, 2009
Still no progress on releasing 64Copy 4.43, but I will try. I forgot to update here last time that the C64 diagnostic cartridge and cable jig schematics are completed and are online now.
September 8, 2009
Ahh, back to school for most kids including mine. I've had a busy summer but not too much programming, mostly cable building. The new 64Copy version is languishing, and I need to find the time to finalize and release it.
August 3, 2009
I've been busy working on the schematics for the C64 diagnostic jig that I have. I've had several people ask me about specifics of it, or comment on the schematics that I got from Poland. I figured it was high time to have my own schematics online, with better explanations and pinouts. They are now online under the diagnostic page.
July 22, 2009
I've been working on a new bit of code for doing ROM conversion. You can strip load addresses, expand and pad to a new size, convert to en EPROM ASCII format for EPROM burning and split the output into parts. I've also updated the CRT format document, and fixed many other small things. Once some cleanup happens, a new version is forthcoming.
A new section for socket adapters now exists on the web site. It covers the 1541 24-28 pin socket adapter, and ones for larger EPROM's in the 1541C, 1541-II and 1571 for having multiple ROM images in one chip and switching them in/out.
June 8, 2009
Uploaded v2.1 of the 1541/71 DOS imaging CD, the only change being a new version 0.5.8 of NIBTOOLS. I also fixed a few bad picture links on the Gallery page and re-arranged the side navigation bar, grouping the cable topics together. Updated the XE, XEP, XM and XMP cable build pages with new steps, methods and pictures.
June 4, 2009
The cable pages have been fully updated with all the pictures of the various 1541 drive models and the parallel cable installations. I've re-arranged the internal parallel cable pages for 1541 and 1571 to cover building the soldered cable as well. I also added a troubleshooting guide to testing cables and parallel ports using Star Commander and MNIB/NIBTOOLS and what to do when things won't work.
June 3, 2009
I finally got most of the pictures online for 1541C, 1541-II and 1571 parallel port installations. There's a few more pix I need to take to complete the pages.
June 2, 2009
I've done a bit more programming on v4.43 over the last few days, finishing up small details. I've added some shortcut quick-keys to the Disassembler, and added Primo image detection. I really want to get this version out soon.
I also found the time to work on my E-bay purchased 1541-II which didn't work. At first I thought the board had a chip fault, so I desoldered all the chips (that I could) one by one, socketed them, and put in replacements just to find that the problem hadn't gone away. I then wired in a standard PC hard disk power connector (+5, GND, GND, +12) to power it from external power, and that worked fine. So it turned out that the original brick power supply had a bad +12v line which dropped too low (below 11v) when the drive motors turned on and caused the drive to stop abruptly. Possibly even the +5 line was causing problems. It now works fine since I cracked the power supply apart and changed all the capacitors.
The 1541C worked great, as it was purchased from Joe Palumbo from TPUG, and was tested and cleaned beforehand. The 1571 from e-bay has some alignment issues, but does work.
All three drives have been upgraded with parallel ports, and pictures of the installs will appear in the cable pages soon. Hmm, I've never owned so many drives!
Mar 19, 2009
Version 4.43 is in the works which contains many fixes, and hopefully will be out soon. I've also upgraded the website X cables pages with construction and sales info of the internal 1541 and 1571 socketed (solderless) parallel port. I've purchased 3 different models of drives (a 1541C, a 1541-II and a 1571) so I can take pictures regarding parallel port installations and be more familiar with these models for supporting X cable customers.
Jan 7, 2009
Version 4.42 has been released. I've updated the FORMATS page with the newest revisions of the documents, and revised other pages for new version info. Some of the cable construction pages (XA/XAP) have been updated for better building techniques. The C64 diagnostic page has also been improved with a schematic of the diagnostic jig.
Dec 10, 2008
I've been working on more fixes and additions, so v4.42 will soon be out. Ian found a bug in the D81 creation which will be addressed, as well as enhancements to F12 Create Images, CheckDisk and many other things. No GEOS support for CheckDisk yet.
Nov 12, 2008
Ian Coog found a few issues with v4.4, which resulted in a few fixes and v4.41 has been released. From now on, I think I will dispense with the "beta" deal, and just release point increments.
Nov 11, 2008
I have finally released v4.4. This version was stuck in development limbo for almost a year, so I cleaned up some last minute details. Most things were done and I wasn't likely going to do more, I decided to push out one last version. Unless personal conditions change, this will likely be the last 64Copy version.
Oct 4, 2007
Development has stalled again with other interests and time demands taking me away from 64COPY. I've updated a few of the formats documents, added one new one, and have started working with Open Watcom 1.7. I've changed the system requirements back down to a 386 (from Pentium).
July 5, 2007
I have finally switched all development over to OpenWatcom C 1.6. The new version required some linker directive and code changes, and it took some experimenting to find them, but in the end the switchover wasn't too bad. I've also told the compiler to start making Pentium-optimized code, so no more 486 and lower support. I will be testing this version for a while to see how stable things are. Otherwise, development proceeds slowly as there is no real rush for a new version.
June 20, 2007
Very quiet on the development front. I've added in CHIP module extraction from CRT (cartridge) files at the request of a user. The CheckDisk upgrade is still proceeding.
May 29, 2007
Added Paypal DONATE button to the navigation bar. Not much else happening. The CheckDisk upgrade (to work on GEOS disks and files) is proceeding well.
May 24, 2007
Work has already started on v4.4 (note, no beta designation). I've discovered some more strangeness in my handling of GEOS disk detection with various disk formats (it works, but the way it was done was bad). This fix, and some extra infrastucture, lays the groundwork to begin updating CheckDisk to work with GEOS disks and VLIR/GEOS files. This will be the major feature of 4.4
I've also added PayPal to the list of methods by which you can pay for registering 64Copy.
May 17, 2007
Version 4.3 beta 3 has finally been released for public testing and use. Get it from the downloads page.
May 14, 2007
Not much programming this weekend. I'm now trying to add in CVT (GEOS flat files) extraction to any disk format. I'm not looking to add in the creation or conversion to CVT's unless requested. If this additions languishes then I will put it on hold and continue with the testing phase so that the rollout of the next beta won't be delayed too much.
May 7, 2007
Friday evening proved to be a good night for bug fixing. I located the bug for converting directly into an X64, then quickly dealt with the remaining REL into ARK issues which I've had on the TODO list for years. I've still got some housekeeping duties and small additions, then testing again.
May 4, 2007
Well, my REL support turned out to be problematic to/from specific formats, so it needed much more work. I've spent most of the week chasing down weird issues converting between ARK, LNX and R00. I have one issue left dealing with converting REL into X64, then hopefully I can test more strenuously for a beta release. I've also had some issues going many years back regarding problems with REL support in ARK, which I will finally look into.
April 27, 2007
I finally got REL files being copied properly in the Convert routine. For years I simply copied REL files like SEQ by following the sector chain, assuming the chain matched the side-sectors. Now I read the side-sectors and read the data sectors from there. The CheckDisk and Delete routines were already coded fine for REL.
A release is getting closer, but there's still more testing!
April 20, 2007
At first, I managed to unify three of the four scroll bar code segments, thinking the last one (main panel display) could not be done as it seemed so different. Later, I had a flash of insight and coded it up. Except for a few tweaks it worked well. Now I have one single code segment to handle all my scroll bar needs, which is as it should be.
I still need to work on the REL support code in Convert and CheckDisk (and possibly Delete) as they are incorrectly implemented, and then more testing.
April 18, 2007
The testing continues, but things are looking good. There's lots of functions where CMD support doesn't exist, but you get an error window telling you so. CheckDisk has not been modified to work with GEOS/VLIR (but you also get warned), and it is completely disabled for CMD. I've also been working on unifying my panel border characters so when panel portions get drawn they are not using hard-coded values but a lookup table of border values. My next job is to try to unify my 4 (yup, four) separate scroll-bar code segments into one.
April 16, 2007
Not a lot of programming over the weekend, but in testing CMD support I did find some nasty CMD native partition bugs, especially two interactive ones dealing with the BAM. I was working with small native partitions (500 blocks and smaller) when I noticed the problem. It took most of Saturday evening to find the issues, and the problem turned out to be CMD support code which was written over two years ago but was never completed or tested. The testing continues.
April 13, 2007
After several weeks of prodding, plodding and coding, GEOS and VLIR support in the Convert and Delete Files routines appears to work. I can now copy GEOS and VLIR files between image types, with time stamps and delete GEOS and VLIR files! Even copying a DOS file to a GEOS disk brings in the DOS timestamp. This change meant an extensive re-write to the way Convert dealt with disk images as I was doing things in a very clever but ultimately unchangeable way. Hopefully I've not broken conversion between other formats but I've not seen anything wrong yet.
The next step will be to get GEOS and VLIR support in the Calc File Size and Checkdisk functions. Then it is test test test. REL file support will also be enhanced on the way as it is very poor. I don't know if I will support CVT files yet (the flat form of a GEOS/VLIR file).
What this all means is when these functions are done, D2M and DNP (CMD) support should be far enough along to warrant their enabling in future releases. It will still be limited but functional enough to use. Once these changes are done and verified, I think it is time for a new release (beta of course). The amount of changes between the last version 4.2 and this one are immense and will require much testing.
Feb 26, 2007
Well, after about a year of not touching 64Copy code at all, I am finally back into it. After the World of Commodore in Dec 2005, I had a few things to finish and then I lost complete interest. It took a few unexpected emails and requests to get me back into it. I've fixed up some bugs, added a few things, and am just doing general housekeeping and bug fixing. Hopefully a 4.3 beta will be out soon.
However, work on the primary reason for the 4.3 release, D2M and DNP support, is slow to non-existant. Partway through adding in support for them, I realized what was still required and how much work it will be, and I stopped. I'm not sure if I will ever get it finished. I've got major rewrites to do in many functions, and I basically have to write a DOS to support them. If I don't, support for them will be very limited, and not very useful.
Jan 7, 2006
I guess I need the pressure of going to a show like WOC to get some programming done. A few days before going down I decided to put the Disassembler through it's paces and I found a lot of little things I didn't like. Problems such as features that were broken or things which needed improving. I even thought of a few new (albeit small) features to add, so I was programming them in up to 1/2 hour before my presentation on the state of 64Copy at WOC. I've not done anything since Dec 3. I am so close to getting this done, but I need something to get me over this programming hump! (Finding time to program would be a good start!)
One thing I did do, unrelated to programming, was put the Marc-Jano Knopp web site back online. Almost the entire site is there except all pages related to Sceners were removed. Also a few pictures are missing, but they are minor. It took some time to get this done as almost the entire site had to be gleaned by hand, one page at a time, from the WAYBACK archive site. Painful but ultimately worthwhile.
Dec 2 , 2005
Only one day left before "World Of Commodore" in Toronto, Dec 3. I've been asked to do a presentation on 64COPY there, but I don't know what areas do I focus on. Since 64COPY does so many things, I will need to present only those things which a C= oriented audience would need. A good demo of the disassembler would also be in order.
Nov 28 , 2005
My last update wasn't exactly true in that things have completely stalled. Once I looked over my DONE list, I realized that I had finished many of the smaller functions needed to better support D2M/DNP. I've also converted all of the main image directory reading code to work through a single subroutine. I also found that I was creating the GEOS file time stamp incorrectly so that was fixed.
I spent much of this last weekend working on FORMATS documentation and HELP file updates, two areas that were sorely neglected for many months. I also bought the 64copy.com domain, so now just surf over to http://www.64copy.com.
Nov 24 , 2005
Programming has pretty much stalled for now and I've made no progress since the last update. I've been considering long and hard how to support GEOS/VLIR better and came to the conclusion that I really need to write the generic read/write routines. This is not a simple endeavour as it means breaking up the Convert routine which is one of the most complex functions in 64COPY and splitting it into component parts, all able to talk to each other to get the job done. To start with this monumental task, I will need to break out the disk read/write components first so I can add in GEOS/VLIR and better REL support.
Oct 13, 2005
I've not been able to do much programming over the last few weeks. When I have had the time I've been focusing on finalizing the D2M/CMD conversion (especially writing the small subfunctions that need to be written) and things are progressing well here. I've also been working on GEOS features that need to be implemented before the major job of complete GEOS/VLIR support happens.
On the GEOS front, I now support time stamps to/from GEOS/DOS and across images. It is really cool to copy a file with a time stamp from a GEOS-formatted disk and see it pop up in a DOS directory with the same time stamp. I also support deleting files from the BORDER sector, getting a free entry on the BORDER sector, and now honor the GEOS interleave for both files and the directory.
The big jobs of full VLIR support and directory support in CMD/D2M partitions/images will be some time yet.
Oct 3, 2005
No programming happened this weekend. I had to dig out my main sewer line in the basement to remove a major sized root ball. To make matters worse, the roots were growing in a section that was just recently replaced with new PVC pipe. This is not a job for the weak stomached person.
After getting much of the D2M/CMD native support done, I came to the conclusion that I must get full GEOS support working before any new release. I said in my previous log entry that GEOS support does not depend on getting D2M/CMD done, but I realize now that this is wrong. I would suspect that the CMD devices (hard disks, FD2000) were used much more for GEOS than anything else so to not include support right away would be useless.
Therefore I am working on multiple projects simultaneously: finalize D2M support in as many places as practical (not BAM edit or CheckDisk for now) while working on GEOS support functionality. It is the GEOS support that is going slowly.
Sept 23, 2005
I've been plugging away at CMD (both D2M and DNP) support, and am making slow progress. It is a very complete & complex image format and thus takes a lot to support it, even partially. This may not seem like much, but what is done so far is:
- Can create & format D2M images and CMD (DNP) native partitions
- Can make and navigate subdirectories in CMD partitions, with GEOS border sectors
- GEOS formatted disks are getting better support (CMD, D2M and D81 now supported, with border sectors). It is this area which is causing the most problems as up till now I've only supported GEOS in a very limited way, and am finding that I need many internal changes to make it better.
- Full BAM support for CMD, except BAM editor (the map is too big!)
- Rewote the BAM and Error editors because of the internal BAM layout changes for D2M. Even though you can't view/edit the CMD BAM, these functions still got hit.
- Many other small fixes
Many of above changes required massive internal modifications, which I am finding are breaking many other previously-working functions. I also need to write many more subroutines to support the various requirements of CMD, which takes time. I will not release a beta until I have some Convert support into CMD and D2M native partitions. Full nested directory copying will still be sometime away if ever!
I do have plans for full GEOS support (copy, delete, CheckDisk, etc), but this will take longer than getting CMD support done, so the one does not depend on the other.
You many also notice from the opening paragraph that the extension chosen for CMD native partitions is DNP, which stands for Disk Native Partition. Any other better suggestions (and don't say CMD)?
Sept 6, 2005
After a summer of other projects (bathroom renovation, other web site work), I have finally returned to the world of coding. I've had one outstanding request to add D2M (FD2000), and a more recent request to add D80 (8050) and D82 (8250) image support. The D2M coding was started over two years ago but the v4.2 disassembler rewrite took priority. I have now continued doing this, but the changes required were massive. Adding in support for D80/D82 required extensive changes to every disk-related function, and planning for D2M meant implementing the concept of "image within an image", or as I call "container images". 64COPY had no concept of these, so I am in the middle of adding it. The first beta of v4.3 was released on Sept 3/05 to a very small audience that wanted to test the D80/D82 support. Beta 2 will be released to the general populace with D2M support as well, but there is no guesstimate for the release date.
July 19, 2005
Not much has happened since 4.2 was released back at the end of April. I've done a bit of code housekeeping, fixed one small bug in the Text Editor and always improve the HELP pages.
Once thing which did come up was C64 filename conversion. If you were converting a C64 file (say from D64) to a DOS binary, the filename would always pass through the PC64 name compaction algorithm which would remove many characters and make the destination name 8.3 (DOS) compatible. Well, the problem with this approach is that unless you were creating a PC64, this name compaction is unnecessary if you have long filename capability. I've reworked the code that generates the destination DOS filename so that going to a non-PC64 destination and you have LFN capability, destination names will always be LFN (including space characters).
Apr 26 , 2005:
It is now time to release 64Copy v4.2, full version. I've been testing, tweaking and adding new features and this is a very stable product. Get it from the downloads page.
Recent screen shots of the 6502 Disassembler:
Apr 14 , 2005:
I started testing the disassembler with a real project a few days ago (Wraptor 3.0b executable) and found some things that were a little screwy, so some more fixing was due. Wraptor is a good sample file to disassemble as it utilizes relocatable code and thus needs multiple regions. I've also been busy getting some of the Project Manager features available in the main disassembly window (add/edit/delete region). The auto-label feature was scaled back so it no longer creates source linking between variables and labels (i.e. linking $fe and $ff when an lda ($fe),y opcode is encountered). Other than some more testing, things are going well and I hope to have the full release of v4.2 out before the end of April.
Apr 4 , 2005:
I was very concerned about the very slow speed of the newly-finished Auto-label feature (think molasses in winter), so I traced the problem down to my quicksort algorithm. Like most people, I always thought that the quicksort was the fastest and best sort type to use, but after much investigation I found this is not always true. Strangely enough I have been using the same algorithm for years now, so I don't know why this speed issue just came up now.
My database is always kept in ascending linear order between each add/modify/delete operation and a quicksort is just about the most inefficient sort type to use under these conditions! I initially replaced the quicksort with a specific implimentation of a bubble-sort (which was quite good), but after more consideration that got replaced with a highly-tuned record insertion algorithm. The speed increase is phenominal! I've got more testing to do to make sure I didn't break too much in the process, but release is now even closer! (However, I keep finding little bugs and issues the more I play and test the changes.)
Mar 29, 2005:
The full 4.2 release is not quite ready yet, but here's the list of improvements so far:
- Code/data separation, for separating executable code from data tables.
- Auto-label function added back. Due to the addition of database integrity checks, auto-label is much slower than previous releases.
- Database filtering, to show only the entries you want to see.
- A "what is this code" function to show what an immediate mode value can represent (assembler, ASCII, screen pokes & ASCII character sets, etc).
- Many other smaller improvements and bug fixes.
Mar 22, 2005:
It's been about a month since the alpha release, and I've been busy coding and fixing. The full release of 4.2 (not beta) is just around the corner and it has many new features and bug fixes so keep an eye out for it!
Feb 19, 2005:
Well, the waiting is over. Version 4.20a1 (alpha) is finally released and is available from the Downloads page. This is the culmination of almost 2 years of planning and a year of re-writing. It appears stable, but it needs much stress testing before going to beta. It entails an almost complete rewrite of the Disassembler code, and a major updating of the HELP code, with only small fixes to 64COPY itself.
I am tracking 1 bug in the disassembler and 1 in 64COPY, so some extra debugging code is in place, and this version has Program Execution Logging enabled. These features will be left in until these bugs have been found. The final stats for this release are: 10000 database entries, 60Kb storage for label/variable names, 12Kb storage for variable/direct strings, 32Kb storage per file for comments, 100 files and 250 regions total per project.
Feb 18, 2005:
Over the last three days I revamped the entire HELP engine, reducing the memory footprint down by about 20Kb, changing the compression algorithm and gaining back some valuable memory. Thus I've been able to being the database count back up to 10000 (from 9000), and the string array back to 16Kb (from 12Kb). Now for some testing and it's release time!
Feb 15, 2005:
I'm still poking about the code, making improvements and streamlining functionality. I've also done some code restructuring to try to get some memory back. I've reduced down the specs a bit, so I've gained back about 30Kb of memory. This meant bringing the database entries down to 9000 (from 10000), reducing the string array for the label names and comments down a bit as well. Now when I run, I have about 113Kb free memory, up from 83Kb.
Feb 14, 2005:
Well, it's the start of the week of the 14'th and I said I would be releasing a new version this week. That plan is still on track! It's been a few days since I've updated this page, but I've been busy finalizing features and squishing bugs. Everytime I make a few changes I find some area that's incomplete or broken. I've added some few new features over the weekend, and completed the Delete File From Project function. HELP files had some more additions and updates, so now barring finding major problems while testing today, a release is imminent!
Feb 9, 2005:
I've been working on and off on various updates and fixes, and added two more tables (.shift and .rta), but most importantly the HELP files are now half done! At the rate I am finalizing the HELP files, I hope to have a new alpha out by the week of Feb 14. This is getting exciting!
(same day) Well, I pushed and got the HELP files done. Now I will do some testing and get a new alpha package together for release! Cool!
Feb 3, 2005:
I had two ideas driving into work today, one for another table type (.null) and another dealing with detecting default sizes when selecting table types. I have now implemented the .NULL type, and now when you fail to enter an ending address or a size for a table, default values for the size will be selected. This way you can select a FONT or a SPRITE table and you will get at least a single entry rather than an error message that the size or ending values are incorrect fot the table type.
I am also working on the HELP files after all. It turns out that it is aiding greatly in tweaking & fixing and allows me to put on the finishing touches on many of the dialog boxes.
Feb 2, 2005:
I decided that finishing the disassembly output routines was more important than I initially thought, so I did. It turned out to be a smaller job than I was planning for, and only took about 6 hours to complete. Outputting to a C64 SEQ or PRG file has checks for line# overruns (can't exceed 63999) and file size restrictions. Output filenames are based on SPLIT points being set and names being entered from the Project Manager Region window. If they don't exist, names will be auto-generated based on the source name currently being disassembled.
In order to verify how things function, I disassembled the source file of my game MazeMen. I lost the source long ago, so I've wanted to re-create it, and now I can. Disassembling this project allowed me to find many small bugs & inconsistencies, as well as hone the fine points. It was a real joy to finally see this program in operation, and not corrupting database entries, crashing, etc. I'm still tracking a few bugs, but they are not critical. The HELP files are not done, nor is the Delete File function in the Project Manager. I'm starting to think I should at least take a stab at the HELP files before releasing the next alpha.
I am still curious who else is reading these news items. Email me to let me know if you are waiting for this new version, and also what you're expecting out of the completed disassembler.
Jan 31, 2005:
Another weekend has gone by, and the disassembler keeps getting better. I finally implemented some usage checks, so that when you reach 90% and 95% usage of certain arrays you will be warned. None of these checks ever existed in any previous version. I also improved the variable support in the Dest Link To Variable window. Broken source and destination links will now be shown in both the main display and the Database Editor. In the main display it is shown as a highlighted line with a comment right after saying "*** Broken xxx LINK ***". In the Database Editor, any broken link says "*BROKEN" for the label name.
I'm now down to two features left to complete, and then the re-write of all the HELP topics (60 of them!). "Delete File from Project Manager" shouldn't take too long, but "Send Output To Disassembly" will be longer. I think neither one is critical to complete at this stage, and instead of completing HELP I will write a small TEXT file explaining some new features and how to do things.
Jan 25, 2005:
A few weeks ago I had an idea to include some form of database integrity verification, especially important during this development phase to catch when bad pointers or bad programming would overwrite a wrong part of memory and corrupt some important data. Up until now I had no way to verify if any data was still intact. I mulled it over last night and came up with a simple way to include this, so I have programmed it in. It is visible mainly from the Database Editor window (see above) as the last column called Stat. It doesn't verify that all user data is intact, but the majority is checked. When an integrity failure is detected, you will be warned only once. The only drawback to this feature is it took another 12K of memory, so I am starting to run low again (88K free).
Jan 24, 2005:
I had a few good programming sessions this weekend, and implemented some very nice changes. Re-arranged the comment bit layout in the database, so now you can have 6 line comments at a time, up from the previous 4. I also realized that with a slight change I can allow the entry of custom code (like pseudo-ops) along with comments at the same time. I also included an auto-save feature so that when enabled, every x minutes a temp project (OVV) file is created. This way if for some reason the program crashes, you still have a backup from only a few minutes previous. Features and menus in the Database Entry Editor are all finalized and confirmed working. A whole lot more bugs fixed as well. It seems that every time I use this thing, more problems jump out at me, but the critical jobs on the TODO list are disappearing fast.
Jan 21, 2005:
I'm heading into the weekend as I type, and am still finalizing the Database Editor features and menus (formerly the Label Editor). Also, I am once again changing the internal structure of the way comments are stored in the database to make them a little better, and thusly changing the OVV structure. Everytime I use the program I find lots of places to do small improvements, and it is easy to get caught up doing those changes and lose sight that I want to push out a new alpha. I'm still debating whether to release the alpha without any changed HELP files (which will be confusing to someone not used to the program) or take the time (a long time!) to write new topics.
Jan 18, 2005:
I tried to set a variable name the same as a label name, which should not have worked, but it did. Investigating this led me to find out that much of the code doing the label/var name verification and duplicate checking was so outdated and broken that I had to fix it. I keep on adding more and more small improvements in the Set Label and Set Destinations dialogs, making them a little more intelligent and logical. I've still got to tackle the integration of the Label Editor with the various Set & Delete functions to make sure they actually work.
Jan 14, 2005:
Sorted out the the popup and pulldown menus for the main disassembly window so they have all the needed functions, are consistent, and have all quick-keys and Fkeys assigned. Now on to the Project Manager and Label Editor. The screen shots are a little out-of-date but I won't change them for now.
Jan 13, 2005:
Alright, finding the "out of memory" bug was easy, so I completed the Set Destination to Direct String function. In completing that function I found out that I wasn't storing the variable strings, and doing a few other small things wrong. So now I want to look at the popup and pulldown menus, and the assigned shortcut keys. Things are coming to a close for the release of alpha 3.
Jan 12, 2005:
Got one more major feature working yesterday, where a 2-byte wide dbyte/word table can be linked to a destination, allowing labels in the table data. I also started on the dialog box for Set Destination to Direct String, the remaining destination feature. However, I ran into an interesting bug where simply changing the name of a variable crashed the entire program with an "out of memory" error and also hung the DOS box. This will require some investigation.
Jan 10, 2005:
This is too cool! I finally wrote two of the last three big functions (Set Destination to Label and Set Destination to Variable). Now I can actually work with the disassembler creating links on branches, to ROM & zero page addresses, etc. Suddenly the disassembler has become very usable and I'm finding all kinds of things to fix and make more streamlined. I am so glad that I have finally reached this stage! I've still got "Set Destination to Direct String" to complete, but it's just a formality. I've also added all of the 1541 zero page & ROM definitions, and now need to add to the existing C64 definitions to complete them. At this point I will release another alpha so others can start to shake this product down!
To finalize this release I've got to work on the HELP files (a big job!), the pull-down and pop-up menus (painful) and work on the assembly code output part to handle multiple files and variables (not too bad). Then it's debugging time!
Jan 5, 2005:
Well, I've had my holidays and managed to do some programming, but not as much as I wanted to. Updated most of the delete functions so they actually work, and more tweaks and fixes. I still have to finish 3 of the 4 destination link functions (link to var, label and string), and they will be the longest to complete. I'm so close to a new alpha release I can taste it, but...
Dec 28, 2004:
It's finally holiday time for me, but I'm not finding too much time to program. I've made some strides in getting Set Destinations working, but still have some work to do. I do have label and variable linking working, and they do display properly in the main code. I'm still working on Change Display Base and Set to Direct String, but they will come along. Happy holidays, folks!
Dec 13, 2004:
It was a frustrating few weeks trying to track down two unrelated bugs, one in the Search function and another one where label/variable data was getting corrupted. The Search bug turned out to be a side-effect of another problem where areas of memory were getting overwritten, and I finally found it yesterday morning. The second bug turned out to be a database Quicksort error, and that one was squished almost a week ago. I also added a new color so that the comments (now displayed in red) can now be shown in a different color from the main disassembly code. I have partially completed the Set Destination Links code, but there's still more work to do. I still have to finish the new Destination options (link to string, change base), and work on the disassembly output code. At the top of this page are some screen shots of what the layout looks like for both the main display, the new Project Manager and the Label Editor.
Nov 22, 2004:
Finally got around to working on the the core code for variable support, and now I have the basics working. I also had to re-work the Fkey menus for Set Label/Table/Comment as I needed to include Set Variable, and I didn't know where to put it. I amalgamated all the Set Source features into one Fkey (F5) and all the Set Destination into another (F6). I will do this to the Delete features as well, but not yet. Some more work still has to go into the variable code, but once this is done, Set Destinations is just around the corner.
Nov 17, 2004:
It's been an interesting weekend of programming (even though it is now Wednesday) in getting comments moved from the end of the disassembly line to the line preceeding it. Once I did, I decided to implement 4 lines per comment, making commenting much more usable. Then, I moved the comments out of the OVV (Project) file and now allow 64Kb of commenting per source file. This is a huge improvement as now multi-file projects can have copious amounts of commenting. Squished many bugs along the way. Now it's on to variables and destination links. Once they are working, the last major feature to complete will be the disassembly output before an extensive debugging phase. Look for a not-fully-functional alpha release soon, just to see the feature set and how things are going.
Nov 12, 2004:
I've gotten most of the normal Fkey functions to work again (Set Label, Set Table, Delete), and am now preparing to work on Variables and Set Destination Links (two new & very big features). I am also trying to move Comments from the end of the disassembly line to it's own line preceeding the disassembly line. This is proving to be very difficult. Once these are done, I've still got lots of work to do. Still no estimate on a new alpha.
Nov 3, 2004:
It's been a busy time from the last update and work on the Disassembler has gone slowly. I've finally completed the database changes for the new label/variable storage, and am starting the daunting task of rewriting all of the "Set" and "Delete" functions (Set Label, Set Table, Delete Label, Set Comment) to work with the new label structure. I've got a long road ahead of me, with much to complete. I now have no estimated time for the next alpha release.
Sept 27, 2004:
Work continues of the disassembler update. I've completed the Project Manager (controls the files and regions in the project), and the overall design of OVV (project file) version 4. I'm now into integrating the Project Manager into the disassembly engine, and converting the old database structure and code to handle the newer features (multiple files, variables, destination links). I'm well ahead of schedule, which is very surprising. I hope to have another alpha out by early November. It won't have all the new features, but it should be stable.
Email the author: Peter Schepers | Last updated: Mar 26, 2014