Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

CONIN and CONOUT ready, how make a BIOS?

56 views
Skip to first unread message

Telespalla Bob

unread,
Jan 31, 2012, 7:08:18 PM1/31/12
to
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.

Sergey

unread,
Jan 31, 2012, 11:58:04 PM1/31/12
to
Paolo,

I suggest you to take a look at N8VEM project, specifically at RomWBW
here: http://n8vem-sbc.pbworks.com/w/browse/#view=ViewFolder&param=RomWBW

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.

Also take a look at this technical note:
http://www.smsc.com/media/Downloads_Archive/Application_Notes/tn66.pdf

Best regards,
Sergey

On Jan 31, 4:08 pm, Telespalla Bob <leditapaolo...@dalnasoalice.it>
wrote:

Telespalla Bob

unread,
Feb 1, 2012, 6:41:20 PM2/1/12
to
Il 01/02/2012 5:58, Sergey ha scritto:
> Paolo,
>
> I suggest you to take a look at N8VEM project, specifically at RomWBW
> here: http://n8vem-sbc.pbworks.com/w/browse/#view=ViewFolder&param=RomWBW
>
> 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.
>
> Also take a look at this technical note:
> http://www.smsc.com/media/Downloads_Archive/Application_Notes/tn66.pdf
>
> Best regards,
> Sergey
>
>


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.

Roger Ivie

unread,
Feb 1, 2012, 11:07:56 PM2/1/12
to
On 2012-02-01, Telespalla Bob <leditap...@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

Sergey

unread,
Feb 2, 2012, 4:21:38 AM2/2/12
to
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:

jgharston

unread,
Feb 9, 2012, 8:21:39 PM2/9/12
to
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.

JGH

John Crane

unread,
Feb 10, 2012, 2:03:14 AM2/10/12
to
On 01/31/2012 04:08 PM, Telespalla Bob wrote:

> 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!

Good Luck!


--
-John
email: john_crane_Z@yahoodotcom
where: Z=12*5-1
0 new messages