• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

GEMDOS on the Lisa can be built again!

cheesestraws

Well-known member
Please don't do what Lisa Office System and Xenix did - they hard coded the expected drive size inside the driver :facepalm: - as a result, if you attach a 30MB or 40MB SunRem MFM drive you could only use the first 10MB. 
Yeah, GEMDOS already does this.  It's one of the things I was planning to fix.  It also hardcodes the hard disc to use FAT12 which is perhaps also not ideal.

I was slightly afraid this was going to be the answer.  Oh well, time to learn! :)

 

sunder

Well-known member
Yeah, GEMDOS already does this.  It's one of the things I was planning to fix.  It also hardcodes the hard disc to use FAT12 which is perhaps also not ideal.

I was slightly afraid this was going to be the answer.  Oh well, time to learn! :)
Might be interesting to replace that FAT12 with something that supports more than 8.3, not just larger volumes - but yeah, that's going to be insanely hard and you'll have to change a lot of the underlying CP/M code, etc. as well as the GEMDOS side and certainly the apps too. FAT32 is likely going to be an insane effort because it's a hack where a file takes up as many 8.3 file entries on top of the original as it would take to store the name.

Oh well.  But yeah, you'll likely want to create a for-loop that passes VIA addresses one by one for each of the 7 possible locations, trap on segfaults, and if you successfully read block 0xffffff and get proper block sizes from the drive instead of an error, you can make use of that drive. This probably can happen during the boot loader if you can grow it by a bit, or possibly as part of the BIOS when it is initialized.

 

cheesestraws

Well-known member
FAT32 is likely going to be an insane effort because it's a hack where a file takes up as many 8.3 file entries on top of the original as it would take to store the name. 
Yup.  But now that I'm using a newer GEMDOS than the initial demo, there is FAT16 support, allegedly, controlled by a flag on the BPB of the drive.  So I might try setting that flag and seeing if it works.  That will at least get me to a reasonable volume size, certainly more than reasonable by '80s GEM standards...

This probably can happen during the boot loader if you can grow it by a bit, or possibly as part of the BIOS when it is initialized. 
It's probably going to be easier to do it in the BIOS—I already have @stepleton's lisa_profile_io library (stylistically massacred to assemble with the ancient assembler, but programmatically intact) linked into the BIOS, so it would make sense to use that as a basis for this, too.  I think squeezing anything else into the bootloader would mean sacrificing the fish, and I like the fish.

For your reference: 
This was going to be my first stop, definitely

 

cheesestraws

Well-known member
@blusnowkitty Do you still have the GEMDOS installation available?  If so, could I send you a small GEMDOS program to run (in a disc image, of course) and you send me back the results?

 

gingerbeardman

Active member
Just wanted to chime in and say awesome work! Very cool - and quite surreal - to see Atari 1st Word on Lisa.
 

Keep up the good hacking!

 

cheesestraws

Well-known member
Very cool - and quite surreal - to see Atari 1st Word on Lisa.
The first time that worked, I laughed considerably.  It's very weird.  I'd like to get a more modern AES running so I can run more Atari stuff, but I'm not sure how feasible that is.  I have a couple of fixes to make to the base GEMDOS and then I'll see how I feel. 

 

cheesestraws

Well-known member
I know that somewhere I had documentation for the format of profile block 0xFFFFFF, the identification block, but I can't find it now.  Does anyone remember where this is?

 

stepleton

Well-known member
Beware that it's a little bit different between ProFile and Widget hard drives. ProFile describes the bad blocks and spares on $FFFFFF (the layout is described on Dr. Patrick Schaefer's IDEfile page, if anyone else is curious), while the Widget drive puts the spare table on $FFFFFE. (The Widget ERS document has the identify block format on PDF page 88 and the spare table format on PDF page 111.)

 

cheesestraws

Well-known member
Mostly I was looking for the capacity, so I can actually make the OS use the whole drive (at the moment it just uses a random made-up hardcoded number).  Let's see if I can get this to work without breaking the ability to boot on machines that don't have a hard drive...

 

cheesestraws

Well-known member
Just so people know, I haven't forgotten this!  Just been having issues with concentration and executive function of late.

There's now only one GEMDOS.SYS file for both hard drive and floppy usage, I'm about halfway through using all of RAM, and I think I know how to use the whole hard disc rather than only a hardcoded chunk of it.  How long it will take to turn that into actual code remains to be seen...

 

stepleton

Well-known member
I hear you! Just trying to keep my own projects from getting stalled at 60% lately. In fact I'd written this comment days ago and hadn't pressed Submit yet. Good luck!

 

guibrush

Member
Hi, I wanted to try Gemdos on my lisa, but looks like the link to the discs are broken. Is there any other place where I can download them, or did anybody saved them?

Thanks in advance

 

cheesestraws

Well-known member
Hi, I wanted to try Gemdos on my lisa, but looks like the link to the discs are broken. Is there any other place where I can download them, or did anybody saved them?


You tried the links in this post:





and they didn't work?  Weird, they're forum attachments.  Try them again and if you can't get it to work, let me know and I'll upload them somewhere else.  I'd prefer not to long-term host them myself, is all, the forum is more reliable than my own machines :)  

(Also, if you have an X/Profile, I can upload a CF card image for you, which it just occurred to me I never did)

 
Last edited by a moderator:

guibrush

Member
ha, now it's good. I thinks that I did a mistake somehow with my registration on the forum, sorry for that. I give a try!

Thanks :)

 
Top