home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 183 / 183.d81 / a.rad < prev    next >
Text File  |  2022-08-26  |  2KB  |  258 lines

  1.  dsk @:rad
  2.  nol
  3.  
  4. device = 9
  5.  
  6. ! = $0801
  7.  
  8.  {CBM-A}{SHIFT-*}{CBM-S}
  9.  wrd p,1
  10.  byt $9e,"2061",0
  11. p
  12.  wrd
  13.  ldy #breakEnd-break-1
  14. a2
  15.  lda breakBlock,y
  16.  sta break,y
  17.  dey
  18.  cpy #$ff
  19.  bne a2
  20.  lda #<endBlock
  21.  sta $fe
  22.  lda #>endBlock
  23.  sta $ff
  24.  ldx #<bootBlock
  25.  ldy #>bootBlock
  26.  jsr save
  27.  lda $d0bc
  28.  bmi noSuper
  29.  sta 53370
  30. noSuper
  31.  jmp break
  32.  
  33. save
  34.  stx $fc
  35.  sty $fd
  36.  lda #name0-name
  37.  ldx #<name
  38.  ldy #>name
  39.  jsr $ffbd
  40.  lda #3
  41.  ldx #device
  42.  tay
  43.  jsr $ffba
  44.  jsr $ffc0
  45.  ldx #3
  46.  jsr $ffc9
  47.  lda #<boot
  48.  jsr $ffd2
  49.  lda #>boot
  50.  jsr $ffd2
  51.  ldy #0
  52. a1
  53.  lda ($fc),y
  54.  jsr $ffd2
  55.  inc $fc
  56.  bne a0
  57.  inc $fd
  58. a0
  59.  lda $fc
  60.  cmp $fe
  61.  bne a1
  62.  lda $fd
  63.  cmp $ff
  64.  bne a1
  65.  lda #3
  66.  jsr $ffc3
  67.  jmp $ffcc
  68.  
  69. name
  70.  byt "@:rad warrior,p,w"
  71. name0
  72.  {CBM-Z}{SHIFT-*}{CBM-X}
  73.  
  74. breakBlock
  75. ! = $0334
  76.  
  77. break
  78.  {CBM-A}{SHIFT-*}{CBM-S}
  79.  lda #0
  80.  jsr $ff90
  81.  jsr load
  82.  
  83. first
  84.  jsr $05fd
  85.  ldx #<$4000
  86.  ldy #>$4000
  87.  jsr save
  88.  jsr load
  89.  lda #>second-1
  90.  sta $686d
  91.  lda #<second-1
  92.  sta $6870
  93.  jmp $67e9
  94.  
  95. second
  96.  ldx #0
  97.  stx $fe
  98.  stx $ff
  99.  ldy #>$d000
  100.  jsr save
  101.  lda #<$d000
  102.  sta $fe
  103.  lda #>$d000
  104.  sta $ff
  105.  ldx #<$06a0
  106.  ldy #>$06a0
  107.  jsr save
  108.  jmp $8009
  109.  
  110. {$de}{$de}{$de} save
  111.  stx $fc
  112.  sty $fd
  113.  lda #name0-name
  114.  ldx #<name
  115.  ldy #>name
  116.  jsr $ffbd
  117.  lda #3
  118.  ldx #device
  119.  tay
  120.  jsr $ffba
  121.  jsr $ffc0
  122.  ldx #3
  123.  jsr $ffc9
  124.  lda $fc
  125.  jsr $ffd2
  126.  lda $fd
  127.  jsr $ffd2
  128.  ldy #0
  129. a1
  130.  sei
  131.  sty 1
  132.  lda ($fc),y
  133.  ldx #$36
  134.  stx 1
  135.  cli
  136.  jsr $ffd2
  137.  inc $fc
  138.  bne a0
  139.  inc $fd
  140. a0
  141.  lda $fc
  142.  cmp $fe
  143.  bne a1
  144.  lda $fd
  145.  cmp $ff
  146.  bne a1
  147.  lda #3
  148.  jsr $ffc3
  149.  inc name+13
  150.  rts
  151.  
  152. load
  153.  lda #2
  154.  ldx #<boot
  155.  ldy #>boot
  156.  jsr $ffbd
  157.  lda #1
  158.  ldx #8
  159.  tay
  160.  jsr $ffba
  161.  lda #0
  162.  jsr $ffd5
  163.  lda #$4c
  164.  sta $061b
  165.  jmp $0600
  166.  
  167. name
  168.  byt "@:rad warrior0,p,w"
  169. name0
  170.  
  171. boot
  172.  byt "(*"
  173.  {CBM-Z}{SHIFT-*}{CBM-X}
  174. breakEnd
  175.  
  176. bootBlock = breakBlock - break + breakEnd
  177. ! = $010a
  178.  
  179. boot
  180.  {CBM-A}{SHIFT-*}{CBM-S}
  181.  lda #6
  182.  sta $d020
  183.  lda #0
  184.  sta $d011
  185.  sta $d015
  186.  jsr $ff90
  187.  lda #1
  188.  ldx $ba
  189.  tay
  190.  jsr $ffba
  191.  lda #name0-name
  192.  ldx #<name
  193.  ldy #>name
  194.  jsr $ffbd
  195.  lda #0
  196.  jsr $ffd5
  197.  lda #$60
  198.  sta $685b
  199.  jsr $68cd
  200.  jsr $680b
  201.  inc name+11
  202.  lda #0
  203.  sta $d011
  204.  lda #1
  205.  ldx $ba
  206.  ldy #0
  207.  jsr $ffba
  208.  lda #0
  209.  ldx #<$3000
  210.  ldy #>$3000
  211.  jsr $ffd5
  212.  ldy #0
  213.  lda #>$3000
  214.  ldx #>$d000
  215.  sei
  216.  sty 1
  217.  sty 2
  218.  sta 3
  219.  sty 4
  220.  stx 5
  221. a1
  222.  lda (2),y
  223.  sta (4),y
  224.  iny
  225.  bne a1
  226.  inc 3
  227.  inc 5
  228.  bne a1
  229.  lda #$26
  230.  sta 1
  231.  cli
  232.  inc name+11
  233.  lda #1
  234.  ldx $ba
  235.  tay
  236.  jsr $ffba
  237.  lda #0
  238.  jsr $ffd5
  239.  inc $8005
  240.  lda $d0bc
  241.  bmi noSuper
  242.  sta 53370
  243. noSuper
  244.  jmp $8009
  245.  
  246. name
  247.  byt "rad warrior0"
  248. name0
  249.  
  250.  rpt $f9-name0+boot,2
  251.  
  252.  jmp boot
  253.  {CBM-Z}{SHIFT-*}{CBM-X}
  254. bootEnd
  255.  
  256. endBlock = bootBlock - boot + bootEnd
  257.  
  258.