home *** CD-ROM | disk | FTP | other *** search
/ Transactor / Transactor_10_1986_Transactor_Publishing.d64 / header.pal (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  2KB  |  95 lines

  1. 100 rem  open1,8,1,"0:header.obj
  2. 110 [143]   save"@0:header.pal",8
  3. 120 [158]700 ;pal 64 assembler
  4. 130 ;blocks [184]e.
  5. 140 ;this program lives inside the 1541
  6. 150 ; [175] creates an extra header block
  7. 160 ;it should be used with its basic
  8. 170 ; counterpart in the c64
  9. 180 ;
  10. 190 .opt o1
  11. 200 [172][178]   $0800
  12. 210 jmp  $eaa0   ;reset disk drive
  13. 220 lda  $13fe   ;track #;rentry from basic
  14. 230 sta  $18
  15. 240 lda  $13ff   ;sec[164]r #
  16. 250 sta  $19
  17. 260 lda  #$00    ;checksum [129] header
  18. 270 e[176]  $16
  19. 280 e[176]  $17
  20. 290 e[176]  $18
  21. 300 e[176]  $19
  22. 310 sta  $1a
  23. 320 jsr  $f934   ;c[145]vert header [164] gcr
  24. 330 ldx  #$00
  25. 340 loop1    lda  $24,x   ;s[164]re our header
  26. 350 sta  $1000,x ;image in a safe place
  27. 360 inx
  28. 370 cpx  #$0a
  29. 380 bne  loop1
  30. 390 lda  $13fe   ;set up [129] [135]ing
  31. 400 sta  $06     ;last sec[164]r [145] this track
  32. 410 ldx  $13ff
  33. 420 dex
  34. 430 stx  $07
  35. 440 lda  #$00
  36. 450 sta  $3d
  37. 460 sta  $33
  38. 470 sta  $30
  39. 480 lda  #$06
  40. 490 sta  $32
  41. 500 lda  #$03
  42. 510 sta  $31
  43. 520 jsr  $f510   ;[135] in header block
  44. 530 jsr  $f556   ;[146] [129] sync
  45. 540 [146]1    bvc  [146]1   ;[135] in [131] block
  46. 550 clv
  47. 560 lda  $1c01
  48. 570 sta  ($30),y
  49. 580 iny
  50. 590 bne  [146]1
  51. 600 ldy  #$ba
  52. 610 [146]2    bvc  [146]2
  53. 620 clv
  54. 630 lda  $1c01
  55. 640 sta  $0100,y
  56. 650 iny
  57. 660 bne  [146]2
  58. 670 clv
  59. 680 hold     bvc  hold    ;see [139] tail gap is
  60. 690 clv          ;over
  61. 700 lda  $1c01
  62. 710 cmp  #$55
  63. 720 beq  hold
  64. 730 lda  $1c0c
  65. 740 [175]  #$1f
  66. 750 [176]a  #$c0
  67. 760 sta  $1c0c
  68. 770 lda  #$ff
  69. 780 sta  $1c03
  70. 790 lda  #$ff    ;write out 5 sync markers
  71. 800 sta  $1c01
  72. 810 ldx  #$05
  73. 820 [146]3    bvc  [146]3
  74. 830 clv
  75. 840 dex
  76. 850 bne  [146]3
  77. 860 ldx  #$00    ;write out extra header
  78. 870 [146]4    bvc  [146]4   ;block that was
  79. 880 clv          ;[148]d at $1000
  80. 890 lda  $1000,x
  81. 900 sta  $1c01
  82. 910 inx
  83. 920 cpx  #$0a
  84. 930 bne  [146]4
  85. 940 ldx  #$09    ;write out header gap
  86. 950 [146]5    bvc  [146]5
  87. 960 clv
  88. 970 lda  #$55
  89. 980 sta  $1c01
  90. 990 dex
  91. 1000 bne  [146]5
  92. 1010 jsr  $fe00   ;terminate write mode
  93. 1020 lda  #$01    ;jump [164] err[176] h[175]ler
  94. 1030 jmp  $f969   ;with a job all ok
  95.