Prince-of-Persia-Apple-II

A running-jumping-swordfighting game Jordan Mechner made on the Apple II from 1985-89
Log | Files | Refs | README | LICENSE

FORMAT18.S (965B)


      1  lst off
      2 org = $300
      3 *
      4 * Format an 18 sector disk
      5 *
      6 * Call from applesoft:
      7 *
      8 * CALL FO,<slot>,<drive>,<BbundID>,
      9 *         <start track>,<end track>
     10 *
     11 * (Writes out whatever happens to be sitting
     12 *  at $2000.31FF, so do HGR for better results)
     13 *
     14 err_code = 0
     15 
     16 get8bit = $E74C
     17 
     18 buffer = $2000
     19 rw18 = $6900
     20 slot = $FD
     21 track = $FE
     22 lastrack = $FF
     23 
     24 *-------------------------------
     25  org org
     26 *-------------------------------
     27 
     28  jsr get8bit
     29  txa
     30  asl
     31  asl
     32  asl
     33  asl
     34  sta slot
     35 
     36  jsr get8bit
     37  stx drive
     38 
     39  jsr get8bit
     40  stx BbundID
     41 
     42  jsr get8bit
     43  txa
     44  pha
     45 
     46  jsr get8bit
     47  inx
     48  stx end_track
     49 
     50  jsr rw18
     51  db 7
     52 BbundID db $11
     53 
     54  jsr rw18
     55  db 0 ;drive on
     56 drive db 1,5
     57 
     58  lda #$80
     59  sta lastrack
     60  jsr rw18
     61  db 2,0,0 ;recal!
     62 
     63  pla
     64  sta track
     65 
     66 loop jsr rw18
     67  db $05,>buffer ;write
     68  bcs wp_error
     69 
     70  jsr rw18
     71  db $44 ;verify
     72  ds 18,0
     73  bcs vr_error
     74 
     75  lda track
     76  eor #$11
     77 end_track = *-1
     78  bne loop
     79 
     80  hex 2C
     81 wp_error lda #1
     82  hex 2C
     83 vr_error lda #2
     84  sta err_code
     85 
     86  jsr rw18
     87  db 1 ;drive off
     88  rts