Jump to content
IGNORED

Working Title "CHAOS DOS"


Captain Cozmos

Recommended Posts

21971079_Screenshot(13).thumb.png.bf28146e0511ae4a5a54fe899619cc9d.png

 

For what I have completed you can read on my home page.
Works on real equipment, MAME, COLEM, COOLCV.
For now, until emulators are updated for expansion ram, it is limited to the 64k memory space except for MAME which will only allow for an extra 64k.
Real equipment should be able to bank in whatever amount you have laying around.

Edited by Captain Cozmos
  • Like 2
Link to comment
Share on other sites

I realize that you would rather have a working demonstration other than a picture but then what fun would that be.

 

Here is a picture of my latest compile.

With CoolCV my backspace resets instead of backspace.  I have also noticed that it no longer runs the same way after the reset despite initializing pointers, ram and such.

 

As far as COLEM, DDP's are not drag and drop like disks and roms.  If they are I have not been able to get it to work.
Then I had issues with the DDP size so I end up having to interleave it into a disk.
But, when it works in COLEM then I test on real equipment which tends to work.

But, at the end of the day it's just a picture and I do not want to release a buggy binary.

 

605491498_Screenshot(15).thumb.png.2b9d69e3db047812293ca982d2e31fff.png

Edited by Captain Cozmos
  • Like 1
Link to comment
Share on other sites

Updated again because I have nothing better to do before Christmas.
Updated Lowercase Fonts

Backspace implemented with perfection

Linefeed implemented lovingly

127 character line buffer maximum.

Personally I would love to have a 255 character LB but the reality is I am working with the Coleco ADAM and 40 columns at the moment.

I also have to take into consideration about filename lengths, Directory Depth and things of that nature.  So for now, 127 characters is plenty.

This OS Replacement is not CP/M.  I am implementing minimum specs and then incorporate as much as I can within the abilities of the system.
 

The end goal is a version of DOS on the ADAM that you can program applications with ease.
I have already created a flow chart that you will have a choice to boot from this ROM or set a value that will send it back to stock in order to run original software.
The Hard Drive card I am working on includes a battery backed RTC in order to maintain the date and time.

Now, can you run roms from it?  Maybe through some kind of wrapper that creates an .exe file and maybe even possible for Super Games but my thinking is that you can already do that without the need for this DOS.
So why not develop new applications never done on the ADAM.  You will have a hard drive with directories, an RTC, access to Disks, ADE, DDP, Probably the FujiNet so one of you can write a stack and use it for a minimalist online connection.  How about drivers for the Fujinet Blutooth?

 

If I can get the ADAM core working on the Phoenix then who knows how far this can go.

CC

 

1199530144_Screenshot(17).thumb.png.8961b91f51b073fa72e0fb9bf91aff71.png

 

959007375_Screenshot(18).thumb.png.dac2cf1f2dd00eeed214e544dd8ba2e1.png

 

 

Edited by Captain Cozmos
  • Like 1
Link to comment
Share on other sites

Implemented scroll up one row when you reach the bottom of the screen and I did not have to use up 959 bytes for a screen buffer because this is DOS and not a program like basic.

The sole use of this program is to access the disk drive and all the peripheral's attached to the ADAM so there is no reason to have a screen buffer.

This means that you get the extra memory for whatever transient program the end user writes.

 

Now, I would suspect that one of you hardcore programmers out there will make an IDE based off C or Assembly or even C++.

The difference is that you can program it on an ADAM, compile it on an ADAM and execute on an ADAM directly off a disk or hard drive (flash drive)

Or, program on a PC, transfer it to your ADAM easily for testing.  ADAM EXE or COM files.

 

As I have stated the ultimate goal is to replace EOS with optimized routines.  There will be a jump table.
RST'S and NMI have already been set up and still no need for OS7

 

Anyway, this will probably be the last update before Christmas so everyone happy holidays.
Lets hope the world doesn't blow up anytime soon.

 

CC

 

  • Like 2
Link to comment
Share on other sites

I could not help myself.

My wife did the cooking today so I work just a bit more.

 

So here are live shots of working on a real ADAM

 

20221224_185618.thumb.jpg.0d004a0bfed02fb3152662d45ad3199f.jpg20221224_185741.thumb.jpg.1391803c3387cac98a79567fde147888.jpg

 

Upper and Lower Case look pretty good as far as using a monitor.

These are not the built in ACSII Fonts.  I wanted to make them custom.  Not only because I think the stock has flaws but I may end up having the ability to load in other fonts from an outside source for those who prefer using ADAM in their home language.

 

Screen scrolling is 100%.
You reach the bottom and it scrolls all text up.

Backspace works perfectly and I worked out all the bugs.

Coming in at less than 2k I think I am doing well.

 

White on Blue is my working colors but you will ultimately have the ability to change this to fit whatever environment you want to include something suitable for monochrome monitors.  I suspect only those over 50 know what I am talking about.

 

Edited by Captain Cozmos
  • Like 1
Link to comment
Share on other sites

Analog Kid gave me a cool idea.
Being that this is designed to boot from an expansion rom.  The only way to demonstrate this is to post a video of it running.
So, I will put something together and upload it later.

I now have a couple of commands working from the prompt.

 

I also am using EOS7 until I get my own version of BIOS running.  It loads in the updated EOS from Smartbasic 2 and the Disk Manager instead of stock.
Now that I look at everything under a microscope you have to ask the question as to why CPM3 hasn't shown up for the ADAM yet.

Edited by Captain Cozmos
Link to comment
Share on other sites

A couple people have discussed porting CP/M 3 to the ADAM, but that is as far as anything has gotten.

 

BITD, most migrated to T-DOS from CP/M especially considering all the available hardware was supported by it and could run most CP/M 2.2 software. By the mid-90s, people had migrated to other PCs and only the hardcore ADAMites remained to carry the torch and use what was already available with no further dev until the CV Homebrew scene spilled over in people taking a look at the ADAM.

 

Link to comment
Share on other sites

1 hour ago, NIAD said:

A couple people have discussed porting CP/M 3 to the ADAM, but that is as far as anything has gotten.

 

BITD, most migrated to T-DOS from CP/M especially considering all the available hardware was supported by it and could run most CP/M 2.2 software. By the mid-90s, people had migrated to other PCs and only the hardcore ADAMites remained to carry the torch and use what was already available with no further dev until the CV Homebrew scene spilled over in people taking a look at the ADAM.

 

If I weren't working on my own version of DOS I would do it.  I have the source to CP/M 3 in Z80 but I intend to make sure that my version is 40/80 column native on an FPGA or 40 native on stock along with being able to use as many peripherals and languages available within reason.  Whereas CP/M remained compatible with paper tape and older hardware no longer used.
Plus this gives me the opportunity to introduce a directory structure, hard disks and what not natively.

The further I go down this rabbit hole I am discovering that there will be two ADAM's.  One that boots stock for compatibility and one that boots my card with all it's goodies.
Will it sell?  Probably not enough to recover but this project is for me and not someone else's legacy like Dino Eggs.
So if I work on it, then I take the heat.  But at least I won't owe anyone anything other than the people who use the system.

 

Edited by Captain Cozmos
Link to comment
Share on other sites

Working on this most of the day.

Revamped the parser to now incorporate a prompt with drive letters.  A:> B:> C:> and R:> for Ram, I can use M:> or I can make some Icons instead.  But the letters are for now.

Added into my parser for multiple commands.  At first it was just the one CLS.

It converts everything to lower case to reduce overhead then parses the command table.  I must admit that it is pretty quick.
The first mismatch will cause it to search the rest of the table.

now I am working on the Directory command, should not be difficult.

Then add switches like (p)ause, (w)ide ect.....
I have to get creative being I only have 40 columns with 3 going to the prompt columns and then worse when I get to directories.  I really need to work on the 80 column issue.

Until I do get to 80 columns I may have to reduce to maybe the aforementioned custom prompt icons or 2 columns and limited directory naming.  10 character max?

 

So far works flawlessly on real ADAM while a few bugs in COLEM pertaining to the keyboard, media size and no drag and drop for DDP, only disk.

Media size I have to inject my binary into a 160k disk then interleave it or inside a 256k ddp file.
CoolCV just doesn't care.  It runs anything

I don't know who wrote the interleave/deinterleave programs but they crash if you do not have exact size.  So, it's been fun and a chore.

 

However, put it on an ADE it runs and quick.
Once I get to the point where it goes on EPROM I is screwed because it is only hardware after that.  No emulators support Hard Drives without a hassle.

 

CC

 

Edited by Captain Cozmos
Link to comment
Share on other sites

Completely removed EOS and replaced with EOS7

 

New Boot block until set into EPROM

 

Debugged, perfected and optimized the command section to use a smaller size table.

Bumped to v7 for EOS 7

 

Created a new boot file that leaves open a directory starting on block 1.

Working on a new directory setup to add folders.  So, this means that stock ADAM's will not be able to read COZMOS DOS disks without some kind of patch.

 

If COLEM or CoolCV used an IDE setup I would create an IDE/Folder setup  I know EmuTwo last release was supposed to include IDE with it's ADAM but neither the ADAM or the IDE ever worked.
I am not sure if he is even working on it anymore being I think 3 or 4 years now.  Gear Coleco is now over a year and no ADAM
So, IDE access will be slow to work on because I have to use real hardware and I'm not even sure the Microfox IDE I have even works.

 

Next video demo should be directory listing on a real disk.

 

CC

 

Edited by Captain Cozmos
Link to comment
Share on other sites

19 minutes ago, alekmaul said:

don't worry, new version of EmulTwo is on the way  ;) 

You are a lifesaver.  if it has full hard drive and debug, memory viewer like the last version.
I know this is not a request channel but what "I" need is the ability to add expansion ram to ADAM above 64k so I can test bank switching and the Yamaha 9938 VDP so I can work on the 80's columns natively.
The intent is to get all of this working on the Phoenix at some point because my next project is to get this ADAM core working but I have has some issues that I set it to the side for a bit.

You get those few things running and I will definitely donate to your cause especially the 9938.


This is a part of my vision that I would hope you agree with.
An 80 column ADAM, at least 256k of ram, a full IDE and a C compiler using your C libraries.  Sort of like Borland Turbo C.

I am going to do everything I can to maintain the same Jump Tables but optimize and fix any outstanding EOS bugs as well as add a few commands.
Also the console will be natively 40/80 columns with proper graphics modes.

 

CC


 

 

Edited by Captain Cozmos
  • Thanks 2
Link to comment
Share on other sites

17 hours ago, alekmaul said:

Yamaha 9938 VDP o_O ?

hum, Adam computer uses the same VDP as the Colecovision.

Is not the Yamaha 9938 the F18a based on?

The future of ADAM is going to be the next gen VDP with more than a single 64k expansion and a hard drive like device.
Maybe even WIFI and bluetooth with some type of fujinet device.


But, I have everything except an F18a because they are on severe back order.
Until I get my hands on one by either purchase or build one myself I can still develop for it as long as it is emulated.

What concerns me at the moment is that only MAME and COLEM can actually use the expansion port as far as I have been able to test.

When I attempted to use my DOS in every other emulator it failed so I have to continue development in normal ram for speed.

My DOS is coming along in several flavors.
One a is a chip version to plug into the MIB 238 expansion socket.
Two is a version that will be built into my Hard Drive card
Three is part of the Phoenix/ADAM Core project
And Four I may have it load into a standard, unexpanded ADAM.

 

But the 9938 is default unless it is not found then it will automatically scale down to 40 columns stock.

I also have to put in software switches in case the end user just wants 40 columns.  Maybe it doesn't look good on their TV for example.
 

Edited by Captain Cozmos
Link to comment
Share on other sites

4 hours ago, Captain Cozmos said:

Is not the Yamaha 9938 the F18a based on?

No, the F18A is based on the 9918A. It has some expanded modes but the only one that is 9938 compatible is the 80 column mode.

I believe there's an active list for getting one right now, if you aren't already on it. Shift838 has done several builds over the last year.

 

Link to comment
Share on other sites

1 hour ago, Tursi said:

No, the F18A is based on the 9918A. It has some expanded modes but the only one that is 9938 compatible is the 80 column mode.

I believe there's an active list for getting one right now, if you aren't already on it. Shift838 has done several builds over the last year.

 

Thank you for that update.
I guess I'm going to have to make my own version then.
My thinking with the 9938 is because of the MSX 2.

So the F18a is some kind of made up hybrid that will only work in the land of FPGA.

Edited by Captain Cozmos
Link to comment
Share on other sites

7 hours ago, Captain Cozmos said:

Thank you for that update.
I guess I'm going to have to make my own version then.
My thinking with the 9938 is because of the MSX 2.

So the F18a is some kind of made up hybrid that will only work in the land of FPGA.

The F18A is a 9918A, it's doing it a disservice to call it "made up". Yes, there's no contemporary equivalent for its extended features, but you'll never see those unless you run specifically targeted code. Unlike the 9938 and 9958, those functions are locked away behind an unlock sequence in order to ensure compatibility is prioritized.

 

Link to comment
Share on other sites

Can the F18A exist in the real world or does it?  If not then it is a made up hybrid that only works in FPGA.

This would be no different than allow more sprites and no flickering in emulation but still maintaining compatibility with the 9928.

It's all good, If a particular package does not fit my needs I'll make my own with extended commands to work with my DOS.
Every device attached to the Z80 is nothing but an in/out port with data so in reality you could have the thing attach to any 8 bit GPU if you tried.

Link to comment
Share on other sites

6 hours ago, Captain Cozmos said:

Can the F18A exist in the real world or does it?  If not then it is a made up hybrid that only works in FPGA.

This would be no different than allow more sprites and no flickering in emulation but still maintaining compatibility with the 9928.

It's all good, If a particular package does not fit my needs I'll make my own with extended commands to work with my DOS.
Every device attached to the Z80 is nothing but an in/out port with data so in reality you could have the thing attach to any 8 bit GPU if you tried.

Perhaps I'm misunderstanding this conversation, but the F18A is real. It replaces the video chip in the ADAM. I had a friend of mine put mine in because I'm not good at such things. He removed my video chip, soldered a socket in place and the F18A chip and board are inserted where the original video chip went.

Link to comment
Share on other sites

17 hours ago, Captain Cozmos said:

Can the F18A exist in the real world or does it?  If not then it is a made up hybrid that only works in FPGA.

This would be no different than allow more sprites and no flickering in emulation but still maintaining compatibility with the 9928.

It's all good, If a particular package does not fit my needs I'll make my own with extended commands to work with my DOS.
Every device attached to the Z80 is nothing but an in/out port with data so in reality you could have the thing attach to any 8 bit GPU if you tried.

It is and fpga based product, there is not an F18A chip.
https://www.eetimes.com/creating-the-f18a-an-fpga-based-tms9918a-vdp/

Link to comment
Share on other sites

There seems to be a miscommunication.
I had originally thought that the F18A was a full 9938 on an FPGA but what I am reading is no, it is 9918 with some extra features.
I am fully aware that it is FPGA and not an actual developed chip released by Yamaha, Texas Instruments or Motorola.

If I am going to move the ADAM forward in it's evolution I would follow the MSX model which would be a 9938 to maintain compatibility and give it some extra graphics modes.


 

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...