SD Card

User avatar
epaell
Posts: 150
Joined: Mon Jan 08, 2024 10:06 pm
Location: Sydney

Re: SD Card

Post by epaell »

OK, here is a really terrible (and long - showing almost everything in real time) video highlighting FLEX and OS-9 on the Digicool MECB 6309 … multiuser and multiprocessing capabilities … BASIC, C and Assembly.

https://youtu.be/fxQuwFjXhA4?feature=shared
User avatar
Editor
Posts: 225
Joined: Fri Nov 17, 2023 10:36 pm
Contact:

Re: SD Card

Post by Editor »

epaell wrote: Fri Sep 13, 2024 7:28 am OK, here is a really terrible (and long - showing almost everything in real time) video highlighting FLEX and OS-9 on the Digicool MECB 6309 … multiuser and multiprocessing capabilities … BASIC, C and Assembly.
WOW! I'm totally blown away by what you've achieved. This is so awesome to see!

Thanks so much for making this video and posting it, so we can all see it in action.

What you've done really shows-off what's actually possible to achieve. Also awesome how you configure and just drop-in another I/O Card for a second serial terminal. NitrOS9 really extracts has some impressive capability from our favourite little retro 8-bit CPU!
User avatar
epaell
Posts: 150
Joined: Mon Jan 08, 2024 10:06 pm
Location: Sydney

Re: SD Card

Post by epaell »

Thanks Greg :-)

I'm still blown away by what you can run in just 60 KB of memory ... and the more I played with NitrOS9 (OS-9) the more I realised what a beautifully written piece of software it was for its day. As far as I'm aware there isn't anything that comes even close to this for any of the 8-bit processors. Also BASIC09 is surprisingly advanced as well - lots of really nice features! Unfortunately C was a bit limited - it's lacking some basic libraries (e.g. no trigonometric functions) and I had to make sure absolutely nothing else was running while compiling with it otherwise I'd get out-of-memory errors. I'd also have to admit that I had trouble getting my head around line editors again and out of frustration went back to my Mac for basic editing and testing before trying it under OS-9 - which slowed my progress quite a bit. There are some features in NitrOS9 which might help with that (drivewire) which would probably allow easier transfer between my systems (rather than popping out the SD card and then connecting it to the laptop to transfer each new attempt) but I couldn't work out if it was available for anything other than a COCO. The documentation for some of these features is still a bit lacking and even adding the extra serial card took quite a bit of trial and error to work out how it is supposed to be done. I should probably also look into how the process priorities work too so that more time-dependent tasks don't pause so long when other processes are doing things e.g. when playing music for example (which was a hacked version of the code from the Chirstmas demo that you posted without the interrupt handling ... because that is another bit of OS-9 that I hadn't quite worked out :-) ). Nonetheless, I'm quite happy that I got it to this stage.
User avatar
epaell
Posts: 150
Joined: Mon Jan 08, 2024 10:06 pm
Location: Sydney

Re: SD Card

Post by epaell »

Oh, that reminds me, I also had trouble getting NitrOS9 to work with a 6309 (which should provide some additional speed improvements apparently) ... it does recognise the CPU as a 6309 but if I compile the code for 6309 use then it doesn't start up at all - again, I suspect something to do with the interrupts (because those are handled subtly different) but I'm not sure.
User avatar
Editor
Posts: 225
Joined: Fri Nov 17, 2023 10:36 pm
Contact:

Re: SD Card

Post by Editor »

epaell wrote: Sat Sep 14, 2024 4:34 am I'm still blown away by what you can run in just 60 KB of memory ... and the more I played with NitrOS9 (OS-9) the more I realised what a beautifully written piece of software it was for its day.
Yes, NitrOS9 really looks impressive, compared to my distant (and now quite faint) memories of using Flex9.

I would imagine a lot of work has gone into optimising NitrOS9 over the years, especially with the ongoing popularity of the CoCo in the USA retro community.
epaell wrote: Sat Sep 14, 2024 4:34 am There are some features in NitrOS9 which might help with that (drivewire) which would probably allow easier transfer between my systems (rather than popping out the SD card and then connecting it to the laptop to transfer each new attempt) but I couldn't work out if it was available for anything other than a COCO.
I do recall Boisy Pitre talking about using DriveWire with his F256K porting of NitrOS9. But I really can't offer any views myself, as I have no knowledge or experience with it.

I see Boisy hosts the official github home of DriveWire: https://github.com/boisy/DriveWire
epaell wrote: Sat Sep 14, 2024 4:34 am The documentation for some of these features is still a bit lacking and even adding the extra serial card took quite a bit of trial and error to work out how it is supposed to be done. I should probably also look into how the process priorities work too so that more time-dependent tasks don't pause so long when other processes are doing things.
Well, on a positive note, it's always good to have more challenges ahead! What you've achieved so far is already mind blowing! :shock: :geek:
User avatar
Editor
Posts: 225
Joined: Fri Nov 17, 2023 10:36 pm
Contact:

Re: SD Card

Post by Editor »

epaell wrote: Sat Sep 14, 2024 4:36 am Oh, that reminds me, I also had trouble getting NitrOS9 to work with a 6309 (which should provide some additional speed improvements apparently) ... it does recognise the CPU as a 6309 but if I compile the code for 6309 use then it doesn't start up at all - again, I suspect something to do with the interrupts (because those are handled subtly different) but I'm not sure.
Interesting. Although I have no experience to offer any thoughts on this, I was first wondering if 6309 enhancements are supported in Level 1 NitrOS9, or if they were just developed for Level 2 with it's expanded memory support.

I have no idea, just thought I'd share the first thought my mind went to. :thinking:
User avatar
epaell
Posts: 150
Joined: Mon Jan 08, 2024 10:06 pm
Location: Sydney

Re: SD Card

Post by epaell »

The COCO version of Level 1 is available in both 6309 and 6809 variants - when I get a chance I might see what the difference is between the two. The trouble is that there is also a lot of COCO-related stuff that often comes up and confuses matters (it has a screen and keyboard to deal with). Most of the level 1 systems use the same codebase so the majority of OS-9 should be fine. There are only small chunks in the modules that are in ROM and/or in the boot loader that are typically system dependent (although there are also lots if preprocessor conditions spread throughout that need to be considered - these are the worst because they are easy to miss).
User avatar
Editor
Posts: 225
Joined: Fri Nov 17, 2023 10:36 pm
Contact:

Re: SD Card

Post by Editor »

epaell wrote: Sat Sep 14, 2024 9:34 pm The COCO version of Level 1 is available in both 6309 and 6809 variants - when I get a chance I might see what the difference is between the two. ...
Yes, that would be an interesting thing to understand. I imagine the 6309 enhancements would add a bit more performance and would be a rewarding outcome to achieve!

Just a thought, but have you considered entering what you are working on, into RetroChallenge 2024/10? What you are doing is right on topic for RetroChallenge, and timely for an October project.

I only mention this as I've just entered RetroChallenge myself. Note though, that I've entered, not from the perspective of a competition, but specifically as a case of: "Tell someone else about your plans, to put more pressure on you actually carrying-through with those plans!". LOL

Anyway, you can find more about it here:
https://www.retrochallenge.org
User avatar
epaell
Posts: 150
Joined: Mon Jan 08, 2024 10:06 pm
Location: Sydney

Re: SD Card

Post by epaell »

LOL, I didn't even know such a thing existed - when I get a chance I'll read up a bit more about it to see what is involved (time is always a barrier for me) - thanks for pointing it out. Good luck with your entry - it's a great way to increase awareness of the Digicool MECB platform for sure!
User avatar
epaell
Posts: 150
Joined: Mon Jan 08, 2024 10:06 pm
Location: Sydney

Re: SD Card

Post by epaell »

So a quick diff between the two folders reveals no differences in the level 1 NitrOS9 source code for the 6809 and 6309 versions of NitrOS9 for the COCO. The 6309 version simply refers to the 6809 makefiles but defines H6309=1 as well. So now I need to check how that define is used (at least I know I only need to check the 6809 COCO version for this).

It got me thinking as well ... the last time I tested this was with the original 6809 board where I had the traditional 40-pin version of the 6309. It might be worth trying to test it with the PLCC version in case I was sent a re-badged/dodgy 6309.

Oh, something else I noticed, I could push most of the system to work up to 4 MHz (16 MHz clock) but I found that the VDP was starting to behave weirdly (and that's with lots of extra NOPs thrown in to slow access) - so I suspect it probably just hit some limit there. It works fine at 3 MHz (12 MHz clock).
Post Reply