home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol054 / ttboot.asm < prev    next >
Assembly Source File  |  1984-04-29  |  2KB  |  120 lines

  1. ER.LOG  although  it  may  be 
  2.                 ; physically appended to it)...Note: You must type I/O-CAP<cr> 
  3.                 size to fit ok for cp/m 2.2
  4. ;    by: Jack Burge
  5. ;        518A Fifth Street
  6. ;        East Northport, LI NY   11731
  7. ;
  8. ;           (516) 261-7219
  9. ;
  10. ;    Patching to automatically determine `START` equate value
  11. ;       inserted by:
  12. ;            Henry B. Rothberg
  13. ;            1 Laticrete Park North
  14. ;            Bethany,  CT 06525
  15. ;
  16. ;            From excellent coding done by:
  17. ;
  18. ;            TKI (The Kendall Institute)
  19. ;                
  20. ;                Bruce Kendall
  21. ;                334-A  Camille Court
  22. ;                Mountain View,  CA  94040
  23. ;
  24. ;
  25. ;    To use this and ttcbios.asm see TTSDDJ.HLP
  26. ;
  27. ;    To use, change ONLY the values at MSIZE & DELTA for
  28. ;    your system size
  29. ;
  30. ;*************************************************************
  31. ;                                                          ***
  32. MSIZE    EQU    20    ; Insert system size in KB here    ***
  33. ;                                                          ***
  34. ;*************************************************************
  35. ;
  36. DELTA    EQU    0000H    ; Offset from standard CP/M
  37. ;
  38. ;*************************************************************
  39. ;
  40. BIAS    EQU    (MSIZE-20)*1024-DELTA    ; Offset from 20K CP/M system
  41. ;
  42. CCP    EQU    3400H+BIAS        ; Base of CP/M
  43. ;
  44. START    EQU    CCP       ; All worked out for ANY system
  45. ;
  46. ORIGIN    EQU    0E000H            ; Location of BOOT Prom on SD DJ Board
  47. STACK    EQU    ORIGIN+26EH
  48. DMAADR    EQU    ORIGIN+274H
  49. SECTOR    EQU    ORIGIN+0FH
  50. READ    EQU    ORIGIN+15H
  51. WRITE    EQU    ORIGIN+18H
  52. SEEK    EQU    ORIGIN+0CH
  53. HOME    EQU    ORIGIN+9H
  54. BOOTS    EQU    ORIGIN
  55. ;
  56.     ORG    80H
  57. ;
  58. LOAD    CALL    SETUP
  59. RLOOP    NOP
  60.     PUSH    B
  61.     CALL    SECTOR
  62.     CALL    READ
  63.     ANA    A
  64.     JNZ    BOOTS
  65.     POP    B
  66.     DCR    B
  67.     JZ    START+1600H
  68.     CALL    NSDMA
  69.     JMP    RLOOP
  70. ;
  71. SAVE    LXI    SP,STACK
  72.     CALL    HOME
  73.     CALL    SETUP
  74. WLOOP    NOP
  75.     PUSH    B
  76.     CALL    SECTOR
  77.     CALL    WRITE
  78.     ANA    A
  79.     JNZ    STALL
  80.     POP    B
  81.     DCR    B
  82. STALL    JZ    STALL
  83.     CALL    NSDMA
  84.     JMP    WLOOP
  85. ;
  86. INTLZ    LXI    SP,STACK
  87.     CALL    HOME
  88.     LXI    H,80H
  89.     SHLD    DMAADR
  90.     CALL    WRITE
  91.     NOP
  92. DONE    JMP    DONE
  93. ;
  94. SETUP    LXI    B,3206H
  95.     LXI    H,START+200H
  96.     SHLD    DMAADR
  97.     RET
  98. ;
  99. NSDMA    MVI    A,5
  100.     ADD    C
  101.     MOV    C,A
  102.     SBI    27
  103.     JM    OK
  104.     INR    A
  105.     MOV    C,A
  106.     LXI    D,0F580H
  107.     CPI    1
  108.     JNZ    OK+3
  109.     PUSH    B
  110.     CALL    SEEK
  111.     POP    B
  112. OK    LXI    D,280H
  113.     LHLD    DMAADR
  114.     DAD    D
  115.     SHLD    DMAADR
  116.     MVI    A,(START+1800H)/100H
  117.     SUB    H
  118.     JM    NSDMA
  119.     RET
  120.