CP/M 2 BIOS, BOOT, and Utilities for Tarbell MDL 1011D and Altair 88-2SIO www.virtualaltair.com March 23, 2009 ASM Code by: ; ================ ; MICHAEL J. KARAS ; MICRO RESOURCES ; These days Mike can be reached at mkaras@carousel-design.com” (March 23, 2009) ; ============== ----------------------------------------------------------------------------------------------------------------------------------- BIOS248 48K CP/M BIOS256 56K CP/M BIOS260 60K CP/M ; THIS MODULE CONTAINS ALL THE INPUT/OUTPUT ; ROUTINES FOR THE CP/M SYSTEM, INCLUDING ; THE DISK ROUTINES. ----------------------------------------------------------------------------------------------------------------------------------- BOOT248 48K CP/M BOOT256 56K CP/M BOOT260 60K CP/M ; TRACK ZERO SECTOR 1 COLD BOOT LOADER PROGRAM. THIS PROGRAM IS ; PLACED INTO RAM AT ADDRESS 0000H BY THE INITIAL MONITOR CP/M ; THIS PROGRAM IS LOADED AT LOCATION ZERO ; BY THE BOOTSTRAP PROGRAM, AND EXECUTED. ; ITS PURPOSE IS TO LOAD AND EXECUTE THE ; CP/M DISK OPERATING SYSTEM AT THE TOP ; OF THE MEMORY IN USE. ----------------------------------------------------------------------------------------------------------------------------------- COPY ;********************************************************************** ; SINGLE DENSITY DISK COPY PROGRAM FOR TARBELL DD CONTROLLER ;********************************************************************** ; ; THIS PROGRAM IS USED TO COPY SINGLE DENSITY DISKS FROM ; DRIVE A: TO DRIVE B:. THE BIOS PRIMITIVES ARE ACCESSED ; DIRECTLY FOR SPEED. COMMANDS ACCEPTED BY THIS PROGRAM ; AND THE TRACKS CORRESPONDINGLY COPIED ARE AS FOLLOWS: ; ; COPY ALL TRACKS 00 TO 76 ; COPY SYSTEM TRACKS 00 TO 01 ; COPY DATA TRACKS 02 TO 76 ----------------------------------------------------------------------------------------------------------------------------------- FORMAT ;********************************************************************** ; SINGLE DENSITY DISKETTE FORMATTER FOR TARBELL DD CONTROLLER ;********************************************************************** ; ; THIS PROGRAM FORMATS SINGLE DENSITY DISKETTES IN DRIVE B: ; WITH THE DOUBLE DENSITY TARBELL DISKETTE CONTROLLER. ; IBM STANDARD FORMAT IS UTILIZED THROUGH OUT THE FORMAT ; PROCESS. FORMATTING IS FOR 26 SECTORS OF 128 BYTES OF ; 0E5H DATA ON EACH OF THE 77 TRACKS. ----------------------------------------------------------------------------------------------------------------------------------- MOVBOOT - Prom boot ; THIS PROGRAM IS DESIGNED TO BOOT SECTOR 1 OF TRACK 0 ; ON A TARBELL DISK USING THE TARBELL SINGLE DENSITY ; DISK CONTROLLER BOARD. TRACK 0 IS FORMATTED SINGLE ; DENSITY SO THE CPU CAN DO THE DATA TRANSFER. THE BOOT ; ROUTINE LOADS A PROGRAM FROM DISK INTO MEMORY AND THEN ; JUMPS TO THAT ROUTINE. THE PROGRAM LOADED STARTS AT ; MEMORY ADDRESS 0000H. ; THE PART OF THIS PROGRAM THAT ACTUALLY DOES THE ; THE BOOT OPERATION IS MOVED FROM A DATA AREA IN THE 1702A ; TURNKEY PROMS AT ADDRESS 0FE00H TO BE EXECUTED FROM WITHIN ; CPU RAM AT ADDRESS 01000H. THIS IS NECESSARY DUE TO THE ; EXTENDED WAITSTATE TIME AFFORDED BY THE TURNKEY MODULE ; WHICH COULD RESULT IN DATA LOST ERRORS AT THE DISK CONTROLLER ; BOARD. THE FIRST PROM ONLY CONTAINS A BLOCK MOVE ROUTINE ; TO TRANSFER THE DATA TO THE EXECUTION AREA AT 01000H. ----------------------------------------------------------------------------------------------------------------------------------- Tom Sanderson www.virtualaltair.com