The following are entry points into the Morrow DJ ROM software for the DJ2B disc controller located at E000. Jump Table: E000 DBOOT ; Frigid boot entry point. E003 TERMIN ; UART input port on board E006 TRMOUT ; UART outpt port on board E009 TKZERO ; Track 0 (HOME) routine E00C TRKSET ; Set track number routine E00F SETSEC ; Set sector number routine E012 SETDMA ; Set DMA address routine E015 DREAD ; Disk read routine E018 DWRITE ; Disk write routine E01B SELDRV ; Select drive E01E TPANIC ; UART panic character E021 TSTAT ; UART status routine E024 DMAST ; DMA status routine E027 STATUS ; Disk status routine E02A DSKERR ; Error light routine E02D SETDEN ; Set density routine E030 SETSID ; Set the side routine E069 BOOT Very cold boot routine: does the intial runup on POC. E093 LDHEAD Thió  elementaì  tesô routinå checkó foò  dooò  closed¬ drivå ready¬  anä sucè necessities® (Shoulä thaô bå twï c's?) ((and maybe one s?)) E0A5 DOOROK Called by LDHEAD, does all sorts of error checking. E0DA COUT Outpuô  á characteò froí à tï UARÔ port®  Standarä polì routine. E0E9 CIN Inpuô  á characteò tï A®  Loð ofæ  MSB®  Standarä  polì routine. ŠE0F8 CPAN Tesô foò paniã character® Enteò witè paniã characteò iî à register¬  returî  witè  Ú seô  iæ  paniã  characteò encountered® Thió routinå letó yoõ comâ ouô anù desireä character from the input stream. E103 TMSTAT UART status routine. E109 DISKAT This routine returns the following information: B register has most recent sector. C register has most recent track. D is as follows: 7 - Current density 6 - Most recent side select 5 - Most recent double sided status 4 - not used 3 - Sector length code bits 2 - in these two positions 1 - Current disk no. in 0 - these two positions. E134 DMSTAT Load the DMA address into BC and return. E13C DRIVE Enteò  witè drivå numbeò iî C®  Storeó iô iî DISË  areá (E7EB) for future use, as binary between 00-03. E143 DMA Tesô foò conflictó witè RAM¬ IO¬ DJ² controller® Iæ thå specifieä  (iî Bà oî entry© ió legal¬  jumpó tï DMASET® Else returns with 10h in A. E154 DMASET Oî  entrù  witè legaì DMÁ iî BC¬  storeó iô  iî  DMAADÒ (E7E6) and returns. Uses HL and leaves dirty. E15A HOME Homå  thå  headó tï tracë 0®  Savå thå  statuó  return¬ thå  tracë register¬  seô not-verifieä flaç anä  unloaä the head. Jumps direct to LEAVE+1. Š E170 HENTRY Seô thå forced-verifù flag¬ dï á timeout¬ movå thå heaä track 0, test for track 0 and return. E181 SECSET Makå surå startó witè 1¬  noô 0®  Savå iî SECTOÒ (E7F8© legal and return. Carry set on return is error flag. E18B SEEK Tesô foò tracë £ toï largå routine® Iæ greateò thaî 76¬ seô carrù anä return®  Iæ legal¬ storå iî TRACË (E7F))® usual number is in C on entry. E194 ISSUE Thió  routinå  findó thå sectoò numbeò oî  disk®  Enteò witè SECTOÒ holdinç thå desireä sectoò number¬ finä thå index¬ anä theî counô uð tï thå onå yoõ want® Exiô witè desireä  sectoò  numbeò seô iî SECREÇ (E3FE©  readù  tï use. E1B1 COMNDP Enteò witè thå commanä desireä iî A¬  blocë counô iî B® Movå  thå blocë counô tï C¬  loaä DATAREÇ (E3FF© iî DE® Load DMA address in HL and return. E1BC WRITE Thió  routinå calló COMDÐ anä writeó datá  directlù  tï thå  disë  viá DATREG®  Iô writeó iî blockó oæ ´  byteó each¬  witè thå blocë counô iî C®  Thió allowó á  totaì writå  peò  calì  oæ  4*128¬  thuó  handlinç  all  fouò densities: 128, 256, 512 and 1k b/sector. E1DD READ This is the inverse of the WRITE routine above. E1FB CBUSY Thió  routinå  calló  BUSÙ anä testó foò alì  sortó  oæ returns® Returnó witè Ú clear¬ wheî busù flaç down¬ anä with access to the data register enabled. E233 PREP Thió  ió thå maiî preð routine¬  calleä bù  jusô  abouô everything®  Iô  setó  uð thå disë foò  operations»  iô anä  readó  thå headeò information®  Thió  ió  á  majoò bottleneck, speedwise. Š Thå  firsô calì PREÐ makeó ió tï HDLOAD®  Oncå thå heaä ió  loaded¬  PREР checkó thå tracë  entrieó  foò  heaä motion¬  iæ needed® Iô setó thå propeò densitù etc® foò thå disë beinç used® Iô wilì forcå singlå densitù iæ oî track 0, etc. E2E3 HDLOAD Thió  ió thå maiî load-heaä controller®  Iô setó  drivå pointers¬  densitù flags¬  anä sï forth® Returnó witè Ú cleareä  iæ nï problems¬  unloadó anä setó carrù iæ thå drive is not ready. E35D COMAND Geô  thå indeø counô froí TIMEÒ (E7E4© anä x´ it®  Falì through to CENTRY. E362 CENTRY Savå  thå  x´ valuå iî DE¬  anä loaä pointeò  tï  CSTAÔ (E3FC©  iî  HL®  Enteò witè commanä iî A¬  dumð  iô  iî CSTAT. Fall through to NBUSY. E367 NBUSY Tesô  thå statuó froí CSTAÔ foò busù flag®  Looð  untiì flag comes up. Fall through to BUSY when it does. E36C BUSY Iæ busù flaç down¬  returî immediately®  Iæ  not¬  theî looð  untiì  iô  is®  Iæ  iô ió noô dowî  iî  twï  disë revolutions¬  theî savå alì thå parameters¬  reseô thå 1791¬ cleaî up¬ seô erroò codå tï A¬ seô carrù flaç anä return. E396 MEASUR Cleaò  DE¬  poinô HÌ tï DSTAÔ (E3FA)¬  loaä à witè  thå index bit flag (10h) and fall through to E39E INDXLO Geô  thå statuó byte¬  masë foò indeø  hole¬  anä  looð until index pulse goes high. Then fall through to E3A3 INDXHI Looð  untiì  thå indeø pulså goeó awaù - enä  oæ  indeø has been reached. Fall through to ŠE3A8 INDXCT Incremenô  thå counô iî DE¬  dï fouò dummù opó (XTHL's© kilì  time¬  theî geô statuó anä tesô foò  indeø  pulså high® Looð througè thió entirå routinå untiì iô doeó gï high, then return to calling routine. E3B3 DENFIX Seô  densitù routine¬  cleaî uð alì pointeró  involved¬ etc. Enter with density in A (0=single, 1=double). E3D2 TIMOUT Time-ouô  delaù  routine®  Useó HÌ  registers¬  Á  reg¬ leaves with all empty. E3DE SBEGIN Begiî stalì routine®  Pusè H¬  theî loaä DSTALÌ (E3E2)® Fall through to E3E2 DSTALL Set PC to DSTALL, clean stack and return. E3E5 SIDEFIX Generatå anä savå sidå bit¬  storå iî SIDÅ (E7F7)¬  anä return. Enter with side in C. E3F0 PWRJMP Space for power-on-sequence, normally padded with NOPs. Ends with JMP DBOOT instruction. Stack is at E7C9.