6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Mon Jul 08, 2024 8:24 pm

All times are UTC




Post new topic Reply to topic  [ 5 posts ] 
Author Message
 Post subject: DOS/65 Version 3.03
PostPosted: Tue Apr 13, 2021 3:52 am 
Offline
User avatar

Joined: Tue Mar 05, 2013 4:31 am
Posts: 1378
I've decided to create a new post instead of appending to the initial post (viewtopic.php?f=2&t=6525).

I've managed to further integrate DOS/65 into my C02 Pocket SBC and I'm quite happy with the results so far. The entire ROM image size is now 6.5KB. The version Richard sent me was setup for Daryl's SBC 2.5 and supported 4- 8MB drives containes on an SD-Card, interfaced through a VIA port, and required about 10KB of ROM space. The changes I've made are outlined below:

1- CCM has been modified a fair amount to take advantage of CMOS instructions and addressing modes. The original version had 2304 bytes of reserved ROM and was 2124 bytes in size. The CMOS version has 2048 bytes of reserved ROM and is 2046 bytes in size. This eliminates a page of ROM space and moves the PEM module start address by a page (256 bytes).

2- PEM has (also) been modified a fair amount to take advantage of CMOS instructions and addressing modes. The original version had 2944 bytes of reserved ROM and was 2874 bytes in size. The CMOS version has 2816 bytes of reserved ROM and is 2776 bytes in size. This eliminates a second page ROM space and moves the SIM module start address by two pages (512 bytes) overall.

3- SIM has been changed quite a bit. CMOS instructions and addressing modes, but also the inclusion of code required to access the C02 BIOS and Monitor routines directly. This eliminates the separate Hardware Monitor module. This results in a larger SIM module, but it's size is smaller than the earlier SIM and Monitor modules together. It also eliminates some additional JMP table entries. It currently has 1280 bytes of allocated ROM space and is 1085 bytes in size.

4- The RAM usage required was condensed previously to two pages (512 bytes) which are moved from ROM to RAM during a cold start. Not all of this space is used, but it's unlikely attempting to reduce the ROM foot print would be that beneficial. I'll likely take a closer look at that in future.

The configuration provides for 7- 8MB drives on the CF-Card adapter attached to the C02 Pocket SBC. I've opted to update the version number from 3.02 to 3.03. There are a few routines in the C02Monitor code that are required for a Cold and Warm start, along with several routines in the C02BIOS to provide access to the UART Console and CF-Card. The total allocated ROM space for DOS/65 is from: $C000 - $D9FF, or 6656 bytes (6.5KB). The C02Monitor has reserved ROM space from $E000 - $F7FF and the C02BIOS has reserved ROM space from $F800 - $FFFF, with 5-I/O selects that are 32-bytes wide starting at $FE00. Despite having 16KB allocated, there's just over 2.5KB of free space within that range.

In any case, the only change to the C02BIOS/Monitor was the calling address to coldstart DOS/65. I'm attaching a ZIP file that has the updated BIOS and Monitor along with the updated files required to assemble and link the DOS/65 code. Note that WDC Tools are used for all of the code. Modifying it to run elsewhere is likely possible, but I have no intention or plans to do so going forward.

Attachment:
DOS65C02V303.zip [352.9 KiB]
Downloaded 84 times

_________________
Regards, KM
https://github.com/floobydust


Top
 Profile  
Reply with quote  
 Post subject: Re: DOS/65 Version 3.03
PostPosted: Fri May 21, 2021 3:17 pm 
Offline
User avatar

Joined: Tue Mar 05, 2013 4:31 am
Posts: 1378
I started looking at my own GitHub repositories and noticed a few issues with the RTC/CF Card adapter and the DOS/65 software. I've also made some updates to the BIOS and Monitor code and have updated both of these repositories.

For the RTC/CF Card Adapter:
- The schematic image was incorrect. A new one has been uploaded to replace it.
- I've placed new BIOS and Monitor directories with Version 3.04 (latest and greatest versions). Some fixes are in there.

For the DOS/65 ROM:
- Renamed to version 3.03
- All code has been replaced with the new 3.03 code

The above DOS/65 release is complete (the SIM module was missing from the ZIP file loaded in this thread). For anyone looking to run Richard's DOS/65, I would recommend using my Version 3.03 code. It's smaller, faster and supports 7 drives by default. The SIM module links directly to my C02BIOS but those can easily be changed to support any other BIOS with similar functions.

_________________
Regards, KM
https://github.com/floobydust


Top
 Profile  
Reply with quote  
 Post subject: Re: DOS/65 Version 3.03
PostPosted: Fri May 21, 2021 3:55 pm 
Offline
User avatar

Joined: Sat Sep 29, 2012 10:15 pm
Posts: 899
Great! Many thanks.

_________________
In theory, there is no difference between theory and practice. In practice, there is. ...Jan van de Snepscheut


Top
 Profile  
Reply with quote  
 Post subject: Re: DOS/65 Version 3.03
PostPosted: Thu Nov 25, 2021 2:10 am 
Offline

Joined: Fri Dec 21, 2018 1:05 am
Posts: 1086
Location: Albuquerque NM USA
floobydust,
Andrew Lynch of retrobrewcomputers.org has asked about latest version of DOS/65. I directed him to your GitHub page, but he has additional question I'm not able to answer. Are you a member of retrobrewcomputers? If not, I can relay your answer to him.
Bill

Quote:
Hi Bill,
Yes, I saw the floobydust DOS/65 V3 ROM site https://github.com/floobydust/DOS-65-V3.03-ROM but is that the complete DOS/65 distribution? I remember from the S-100 6502 project with Rich it was a lot bigger with more transient programs or am I misremembering/confusing with something else? If that is the complete distribution then its OK

Thanks, Andrew Lynch


Top
 Profile  
Reply with quote  
 Post subject: Re: DOS/65 Version 3.03
PostPosted: Thu Nov 25, 2021 3:35 am 
Offline
User avatar

Joined: Tue Mar 05, 2013 4:31 am
Posts: 1378
Hi Bill,

Yes, I'm on retrobrew as well... but don't check in there that often.

So, the 3.xx version was done initially by Richard for a ROM based version.... and only a few of the utilities were brought over. I have Richard's latest (non 3.xx) versions as well, which has all of the other applications and utilities. I just haven't gotten around to moving them over.

One of the differences with the 3.xx release was moving to WDC Tools for the assembler/linker. This was mainly done as Richard was also working with one of the WDC SXB boards and defaulted to their toolset as a result. The earlier DOS/65 releases used TASM (IIRC). The bits I've worked have also been moved over to WDC Tools.

One last note: I eventually modified both CCM and PEM to take advantage of the CMOS instructions and addressing modes. This does result is a somewhat smaller code base and perhaps a tad bit faster in some routines. I also integrated the SIM and Monitor code pieces to one module that interfaces to my C02BIOS. That also saved some space.

I'm happy to work with Andrew on any of this... and happy to send him the code I have, as Richard said he was fine with me sharing it to others interested in using it. It does run very well... solid code. I'll look at the post you linked... and I'll try to get some time over the next couple days to reply.... I'm cooking tomorrow... a dozen people over!

_________________
Regards, KM
https://github.com/floobydust


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 5 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 13 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: