Hi all
Hoping this will be a simple answer, but maybe not..!
I am finalising a new ROM which completely replaces the Oric ROM with a whole new language and all the basic input output and machine management stuff. This includes provision to load to and from tape.
So I have a way to get programs off RAM in to permanent storage - but of course tape is rather clunky.
I have had an Oric-1 since 1983, but never had a disk, always used tape hence I do not know the following - are the various Oric DOS tied to the BASIC ROM (1.0 or 1.1)? Is there an easy documented way for custom ROM like mine to integrate with DOS and vice-versa?
Thanks in advance!
Are disk operating systems independent of BASIC?
Re: Are disk operating systems independent of BASIC?
I don't think so, as they mostly load code into overlay RAM and were designed to work on both Oric-1 and Atmos, which do not share entry points, etc.
That being said, nothing prevents a DOS program to call ROM routines, use ROM tables or whatever, so I cannot be 100% sure.
That being said, nothing prevents a DOS program to call ROM routines, use ROM tables or whatever, so I cannot be 100% sure.
Re: Are disk operating systems independent of BASIC?
I'm not an expert at all on these, I guess Fabrice France and André Cheramy are the most knowledgeable persons on that, but they are not on the forum.
As far as I remember, when you boot on Sedoric (or the previous versions), the entire system runs from the Overlay Ram, BUT there's also a 256 bytes block of code in page 4, which basically contains a dispatcher to detect if what is typed (or executed if it's a BASIC program) is a DOS command or a BASIC instruction, in which case it switches off the overlay and run the BASIC command.
I maybe be wrong, so don't take that as a true statement
As far as I remember, when you boot on Sedoric (or the previous versions), the entire system runs from the Overlay Ram, BUT there's also a 256 bytes block of code in page 4, which basically contains a dispatcher to detect if what is typed (or executed if it's a BASIC program) is a DOS command or a BASIC instruction, in which case it switches off the overlay and run the BASIC command.
I maybe be wrong, so don't take that as a true statement
- 6502Nerd
- Pilot Officer
- Posts: 111
- Joined: Thu Oct 08, 2020 9:48 pm
- Location: Leicestershire, UK
- Contact:
Re: Are disk operating systems independent of BASIC?
Thanks chema and dbug for your thoughts. Ok so basically the DOS ROM is like my ROM, a replacement (running on the overlay RAM) - so you mean it has all the functions like keyboard scanning, interrupt handling also? Or the DOS only runs when the dispatcher picks up a command needing the overlay?
Sounds fascinating I will just try and try it and see what happens (on emulator).
Sounds fascinating I will just try and try it and see what happens (on emulator).
Re: Are disk operating systems independent of BASIC?
I'm pretty sure (but I never checked) it has its own interrupt handler: The cost of switching back to ROM every time would be extremely costly!
Basically when you boot a Microdisc/Cumana, it boots on an internal 8 kb eprom which sits on top of the memory range (over both the overlay and rom).
This "eprom boot loader" is a mini version of the DOS that only has enough code to load stuff from disk, and if it's a bootable disk, it loads the kernel to from disk to overlay memory, and when it's done switch to the overlay memory.
Basically when you boot a Microdisc/Cumana, it boots on an internal 8 kb eprom which sits on top of the memory range (over both the overlay and rom).
This "eprom boot loader" is a mini version of the DOS that only has enough code to load stuff from disk, and if it's a bootable disk, it loads the kernel to from disk to overlay memory, and when it's done switch to the overlay memory.
- ibisum
- Wing Commander
- Posts: 1652
- Joined: Fri Apr 03, 2009 8:56 am
- Location: Vienna, Austria
- Contact:
Re: Are disk operating systems independent of BASIC?
I'm very much interested in your new ROM, 6502Nerd - will you not be releasing it in .DSK form, so it could be used from a DOS, and thus support access to the DOS packed into the .DSK?
I could imagine this would allow switching back and forth from DOS and dflat also?
I could imagine this would allow switching back and forth from DOS and dflat also?
- 6502Nerd
- Pilot Officer
- Posts: 111
- Joined: Thu Oct 08, 2020 9:48 pm
- Location: Leicestershire, UK
- Contact:
Re: Are disk operating systems independent of BASIC?
Thanks for your interest! Yes this would be a good idea, to allow it to work from a DSK file. Presently I have it working as a ROM BIN file which can be loaded in to Oricutron, and I am creating the GitHub repository for it too (focusing on documentation to help people understand dflat).ibisum wrote: ↑Sat Nov 14, 2020 9:10 pm I'm very much interested in your new ROM, 6502Nerd - will you not be releasing it in .DSK form, so it could be used from a DOS, and thus support access to the DOS packed into the .DSK?
I could imagine this would allow switching back and forth from DOS and dflat also?
I will work on a DSK version, although I am very unfamiliar with any of the Oric DOS so an tips on how to go from BIN to DSK would be appreciated!
Cheers, 6502Nerd
Re: Are disk operating systems independent of BASIC?
All you need really is to have a 16KB file on your DSK, then a small loader that loads it in normal RAM, disable interrupts, enable the overlay ram, memcpy to c000-ffff.
- 6502Nerd
- Pilot Officer
- Posts: 111
- Joined: Thu Oct 08, 2020 9:48 pm
- Location: Leicestershire, UK
- Contact:
Re: Are disk operating systems independent of BASIC?
Thanks for the tip Dbug! I will certainly try this. Some more touches on the ROM need doing - finding a few bugs and making some usability changes too.