Hi, I am Paolo from Italy and I have written the CONIN and CONOUT routines for my Z80 hardware.
Now I start to develop Floppy disk routines (for uPD765 by NEC), and then I need to make a complete BIOS for CP/M 2 (I have planned to switch to CP/M 3 in future)
I would need *step-by-step* help to do this, I have poor experience with assemblers.
Where I can put my routines? How i can assemble all together?
Please explain me as if I totally were stupid, please :-)
Next step: I will try to make my disk controller compatible with PC 720K floppy disks (or 360K 5''1/4 if necessary). How I can make a boot floppy for CP/M starting from PC?
Thanks in advance, above all for the patience. :-)
Best regards.
p.s.: please remove "ledita" and "dalnaso" from email for direct reply.
It contains complete BIOS implementation with build scripts, including
floppy support using uPD765 or FDC9266. BTW, I suggest you to use
FDC9266 or FDC9268 instead of uPD765. They are completely software
compatible with uPD765, but include a data separator.
> Hi, I am Paolo from Italy and I have written the CONIN and CONOUT
> routines for my Z80 hardware.
> Now I start to develop Floppy disk routines (for uPD765 by NEC), and
> then I need to make a complete BIOS for CP/M 2 (I have planned to switch
> to CP/M 3 in future)
> I would need *step-by-step* help to do this, I have poor experience with
> assemblers.
> Where I can put my routines? How i can assemble all together?
> Please explain me as if I totally were stupid, please :-)
> Next step: I will try to make my disk controller compatible with PC 720K
> floppy disks (or 360K 5''1/4 if necessary). How I can make a boot floppy
> for CP/M starting from PC?
> Thanks in advance, above all for the patience. :-)
> Best regards.
> p.s.: please remove "ledita" and "dalnaso" from email for direct reply.
> It contains complete BIOS implementation with build scripts, including
> floppy support using uPD765 or FDC9266. BTW, I suggest you to use
> FDC9266 or FDC9268 instead of uPD765. They are completely software
> compatible with uPD765, but include a data separator.
Thank you for informations.
One question: is not clear how I must program FDC for use the standard 720K format in my cp/m system. I see that cp/m is designed for old 8'' drives that have 77 track and 26 sectors/track.
The 720K IBM standard have 80 tracks with 9 sectors/track.
How I can do?.
Last question: what good assembler with graphical user interface I can choose for work with Z80 under Windows XP?
Thanks again.
On 2012-02-01, Telespalla Bob <leditapaolo...@dalnasoalice.it> wrote:
> One question: is not clear how I must program FDC for use the standard > 720K format in my cp/m system. I see that cp/m is designed for old 8'' > drives that have 77 track and 26 sectors/track.
> The 720K IBM standard have 80 tracks with 9 sectors/track.
CP/M 2 and higher are table-driven. The BIOS describes the disk layout
to the operating system using a table that specifies things like sectors
per track, size of the allocation unit, etc. It's certainly possible to
use 9 sector/track diskettes with CP/M.
-- roger ivie
ri...@ridgenet.net
I confirm that Roger said. And if you look at N8VEM link, you'll find
a working implementation of BIOS that supports 720 KB and 1.44 MB
floppies, and even does autodetection of 1.44 MB vs. 720 KB.
Regarding assembler: N8VEM project uses TASM (Telemark Assembler). I
think it is a 16-bit DOS application, but it runs just fine on Windows
XP. No graphic interface though - use your favorite text editor.
Regards,
Sergey
On Feb 1, 8:07 pm, Roger Ivie <ri...@ridgenet.net> wrote:
> On 2012-02-01, Telespalla Bob <leditapaolo...@dalnasoalice.it> wrote:
> > One question: is not clear how I must program FDC for use the standard
> > 720K format in my cp/m system. I see that cp/m is designed for old 8''
> > drives that have 77 track and 26 sectors/track.
> > The 720K IBM standard have 80 tracks with 9 sectors/track.
> CP/M 2 and higher are table-driven. The BIOS describes the disk layout
> to the operating system using a table that specifies things like sectors
> per track, size of the allocation unit, etc. It's certainly possible to
> use 9 sector/track diskettes with CP/M.
> --
> roger ivie
> ri...@ridgenet.net
Telespalla Bob wrote:
> Now I start to develop Floppy disk routines (for uPD765 by NEC), and
> then I need to make a complete BIOS for CP/M 2
You might want to look at http://mdfs.net/Software/CPM/SmallSys which is an utterly tiny stripped-down CBIOS thank might give
you some insight into what your CBIOS needs to be doing.
> I would need *step-by-step* help to do this, I have poor experience with
> assemblers.
> Where I can put my routines? How i can assemble all together?
> Please explain me as if I totally were stupid, please :-)
Sounds like it may be worthwhile to gain a little experience with assembly before tackling such a project.
Once you're in a non-trivial assembly project, you must be organized. Just keep the BIOS calls in mind and code those according to the known inputs and outputs. Access them via a jump table.
I'd suggest the old book "The Soul of CP/M". It's very simple to follow and it gets to the heart of CP/M BIOS calls. This will take time, but it's time well spent. You will learn a lot!