Image Map Image Map
Page 2 of 2 FirstFirst 12
Results 11 to 17 of 17

Thread: Imsai 8080 CP/M install problems..

  1. #11

    Default

    I use 'zmac' for cross-assembly. http://48k.ca/zmac.html. It has a CP/M compatibility option "--dri" that should allow you to assemble DRI source code. My favorite options for assembling CP/M source code are "zmac --dri -i -8 -c -s -n file.asm", but you may have different preferences.

    I've found CP/M 2.2 source code here: http://www.cpm.z80.de/source.html, although I'm not certain if that has all the patches - you may need to get the patches bundle and apply them. "os2ccp.asm" and "os3bdos.asm" are probably the main ones you'll need.

    I would suggest trying to assemble each component (CCP, BDOS, BIOS, BOOT) separately and then combine them into your boot image/disk after. Otherwise you have to deal with symbol conflicts, etc. zmac will produce a ".cim" file which is the binary image, starting at the first ORG address (so, using ORG 3400h does not result in 3300h bytes of zeros at the beginning, as CP/M LOAD.COM would produce). Although you could also use the .hex files - but then you need to write code to interpret the HEX format.

    As an alternative to assembling CCP and BDOS from source, you could try to extract that from an existing MOVCPM.COM image. But that is tricky and not something to attempt unless you are intimately familiar with the process and format of those images.

    The logical to physical sector translation is optional, unless you are exchanging media with others. For example, the standard CP/M 8" floppy disks used a sector skew (translation) and you must use the same in order to read other's diskettes or produce diskettes for others to read. Beyond that, it is just done for performance reasons, and for non-8" media you might consider formatting the media with the sector skew built-in and just use sequential sector numbering from CP/M. The main lesson is that, changing sector skew tables is a disruptive operation (you can't read diskettes with a different skew) so you should settle on that early and stick with it. Building the skew into the diskette format eliminates those problems.
    - Doug

  2. #12
    Join Date
    Jan 2007
    Location
    Pacific Northwest, USA
    Posts
    33,364
    Blog Entries
    18

    Default

    The sector translation tables arose in CP/M because 3740 diskettes were purchased pre-formatted, so there was no option to format them. This even extended into some of the DEC formats--I don't think the original Rainbow 100 shipped with a formatting program--you purchased RX50 floppies pre-formatted.

    My recommendation is that you do things the way the original OEMs did--use the standard distribution as your basis and use MOVCPM to move the BDOS and CCP and relocate your BIOS and boot code to what you desire after you get the OEM version running. It's what I and countless other programmers did for our employers back in the 1970s.

  3. #13

    Default

    Jan, there is nothing wrong with doing your sysgen on a modern PC. If fact, that is the model Digital Research used - they produced their distribution image on a minicomputer. If you are eventually going to share this with others, you might need to create a MOVCPM. But for your own purposes, and especially for initial bringup, using cross compilers and doing sysgen most/all on a modern PC is perfectly fine. In fact, that's generally a lot easier.
    - Doug

  4. #14
    Join Date
    Jan 2007
    Location
    Pacific Northwest, USA
    Posts
    33,364
    Blog Entries
    18

    Default

    If you use an emulator, you can even use a stock MOVCPM (with the serial number check patched out) to create the correctly-sized BODS+CCP.

  5. #15

    Default

    I loaded this zmac assembler ! That is exactly i was looking for ! Great ! I wrote a new Bios, i assembled the distribution CP/M code, i learned to work with macros library and now, i am not able to write to disk anymore. I tried 2 floppy drives with different disks. I think my versafloppy controller is damaged.. I can format disks, but it cannot read or write. Always seek error. Now, i have to fix this problem first...

    Jan

  6. #16

    Default

    Hi, I have an IMSAI running a versafloppy 1 disk controller. I can send you some .HFE CP/M 8" disk images if that helps.
    I presently have the system hooked up to a Gotek drive accessing all my disk images. Still have the Shugart 8" drives, just don't use them much any more.

    Philip
    retro computing at: www.neoncluster.com ....is dead

  7. #17

    Default

    Quote Originally Posted by Jan1980 View Post
    Thank you very much !

    So, first i changed from sta 1 to shld 1. Then, i cleared memory, wrote CP/M to memory, saved on disk and then i wrote my bootstrap. I started the system and iīve got an "A>" prompt. But i was not able to read directory or anything else. I wasnīt able to type in anything correctly. After restart the imsai, there was written the signon message, but the prompt wonīt come anymore...

    Basically:

    1. I need a good crossassembler which can be used to write my assembler programs on my main pc (win10). This should be a macro assembler which also can be used for if..then...endif in the source. I am able to pay for a good crossassembler, but th only i found costs over 400 $. And of course, thatīs to much money.
    My assembler is a small learning simulator which can be used for small programs for simply procedures. it does not support branches like if..then..else in the code. it has only the basic instruction set. And, for example, definition bytes intruction (db) suports only 8 bytes. So, to write a text with 64 letters i have to write 8 db lines. So, when i load the standard distribution source to my assembler, i īll get nearly 200 errors !
    My assembler does not support labels with more than 6 letters. Thatīs also a big problem.
    So, i decided me to got with this online "pretty 8080 assembler". But i donīt know if i can trust it ?!
    Can you recommend a good assembler ? Like i said, i am able to pay. But in fairly range of course.

    2. After assembler program problems. I was looking for CP/M binary. I found from different systems, but they did not work in cause of different orginate and branches. For example, i had one from xerox. This one jumps to 0000h for bios. Of course, i need a jmp to 4a00.

    3. After binary problem i felt back to assemble by myself with this pretty 8080 online thing.


    So, what i need:

    1. Good macro crossassembler
    2. CP/M standard distribution sources or binary. ccp at 3400h,bdos at 3c00,jmp to bios located on 4a00h
    3. Perhaps you can telle me anything about these floppy drive translate library. How to setup to my system ?!


    THANKS

    Jan
    Try the IMSAI boot images from Udo's Z80Pack emulator - he has been doing a lot of work with a CP/M emulator for IMSAI. https://www.autometer.de/unix4fun/z80pack/#download

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •