Jump to content
IGNORED

Indus doubler - zip of atr file


rcgldr

Recommended Posts

The recovery BIOS area sounds promising, but how can that area be accessed?

 

No idea... In theory, the host Atari could just boot into it, whatever code is there... I CANNOT find a single trace of documentation for it, nor the "BOOT Diagnostic Cart" option on Incognito / Ultimate BIOS...

 

I believe that the Incognito / Ultimate SIDE-Loader screen (accessed with "L" from main BIOS screen) is probably the way to go.

 

IndusGT accepts code-upload, and all is needed to push existing 4-5 sectors worth of Indus-Loader bytes into IndusGT ram, via SIO upload code, which is natively supported in v1.20 rom. This could be done with a simple .EXE or .COM that runs in memory space not conflictive with SIDE-Loader space.

 

Once that is done, IndusGT would be ready for EVERYTHING (whether it is SDX, or Atari DOS, or ANY Dos, it would not matter!) The advantage here is that Indus-Doubler could be easily updated and easily-loaded into Atari (no re-flashing needed into Incognito / Ultimate). The disadvantage? You NEED to remember this step prior to booting into your desired application.

  • Like 2
Link to comment
Share on other sites

This would be the easiest way if the indus has a command to upload and trigger execution of the code via SIO. I don't know for sure, but I figured the INDUS.SYS with SDX does something like this. Maybe that should be checked out to see how it's doing it? Or analyse the SIO commands it's sending to the drive.

Indus does a command that loads code and executes it. it is X

here is the code that handles it

EXTERNALCMD: ; command X 41 bytes

CALL Lb42 ; 02D8 CD0F0A send Ack

LD A,($7821) ; 02DB 3A2178 daux2

AND $01 ; 02DE E601 aux 2 = 0?

JR Z,Lb53 ; 02E0 2817 go straight to external routine

LD HL,$7F00 ; 02E2 21007F buffer to put data

LD A,(CAUX12) ; 02E5 3A2078 number of bytes to load Daux1

LD B,A ; 02E8 47

CALL Lb39 ; 02E9 CD7C09 get bytes

JP NZ,Lb54 ; 02EC C2A00A

CALL Lb55 ; 02EF CD1B0A send Ack

LD A,$43 ; 02F2 3E43 'C'omplete

CALL SSIOBYTE ; 02F4 CD230A send byte sio

JR Lb56 ; 02F7 1806 jump relative always

Lb53: CALL Lb38 ; 02F9 CD007F call external command

CALL C,SSIOBYTE ; 02FC DC230A send byte sio

Lb56: XOR A ; 02FF AF zero A

RET ; 0300 C9 .

 

James

  • Like 2
Link to comment
Share on other sites

Here's how to make an INDUS.SYS for SDX:

 

You will, of course, need to replace all the db's with your own code.

 

Begin file below here...............................

 

 

 

$title (INDUS GT High Speed Code for Downloading into drive)
$include "kernal"


seg indus
;=======================================
; Program all indus drives
; ------------------------
pro_indus proc
lda #8
sta dunit
..top jsr happy
jsr get_serial ; get serial number from indus
bmi ..skip

ldx i_serial+1 ; high serial (always 1)
lda i_serial
cpx #1
bne ..skip ; too old or new a version
cmp #$10
beq ..v1.10
bcc ..skip ; too old
cmp #$21
bcs ..skip

..v1.20 jsr do_1.20
jmp ..cont

..v1.10 jsr do_1.10

..cont ldy #2 ; send loader to indus...
jsr send_block
bmi ..skip

ldy #0 ; send data block 1
jsr send_data
bmi ..skip
jsr intermission
bmi ..skip

$( -- skip CPM portion of INDUS code!! -- )
-------------------------------------------
ldy #2 ; send data block 2
jsr send_data
bmi ..skip
jsr intermission
bmi ..skip
$)

jsr statck ; allow switch of speeds...
..skip dec dunit
bne ..top
rts
endproc


; Do status check on drive
; ------------------------
statck proc
ldx #10-1
db $2C
happy ldx #20-1
ldy #10-1 ; Do status check on drive
..dcb lda dcbdat,x ; ------------------------
sta dcomnd,y ; this allows drive to bomb out early
dex
dey ; if no drive online (reduces the sputter
bpl ..dcb ; time)... Also, allows speed switch in HSIO
jmp sector_io
endproc


; status command data
; -------------------
dcbdat db 'S',$40
dw $2EA,1,4,0
db 'H',$00
dw $0,1,0,$20


; Get serial number from drive
; ----------------------------
get_serial proc
ldy #0
jsr send_block ; send gserial routine
bmi ..xit
lda #2 ; receive two bytes...
sta dbytlo
lda Aserial
ldx Aserial+1
jsr receive
..xit rts
endproc

Aserial dw i_serial


; Send a block with X command
; ---------------------------
; in:
; Y = index of block to send

send_block proc
lda #'X'
sta dcomnd
lda #$80
sta dstats
lda bufad,y
sta dbuflo
lda bufad+1,y
sta dbufhi

lda bufle,y
sta dbytlo
sta sector ; length of block (this is how indus
lda bufle+1,y ; knows the length)
sta dbythi

lda #5 ; timeout value for all these commands...
sta dtimlo
lda #$31
sta ddevic

lda #1
sta sector+1 ; this is the load and go flag...
jmp sector_io
endproc


; Send a block of data to indus
; -----------------------------
; in:
; Y = 0 if first block
; = 2 if second block

send_data proc
sty blok_idx

..top lda nbytes,y
bne ..some
lda #0 ; set # bytes to send
..some sta dbytlo

lda blok_adr,y
ldx blok_adr+1,y
jsr send
bmi ..xit

ldy blok_idx
lda nbytes,y
beq ..256

clc ; process a block less than 256 bytes
adc blok_adr,y
sta blok_adr,y
lda #0
sta nbytes,y
adc blok_adr+1,y
sta blok_adr+1,y
jmp ..top

..256 clc
lda blok_adr+1,y
adc #1
sta blok_adr+1,y

sec
lda nbytes+1,y
sbc #1
sta nbytes+1,y
bne ..top
..xit rts
endproc



; Send/receive a block of data on indus
; -------------------------------------
; in:
; XA = ptr to buffer

receive proc
ldy #$40
db $2C
send ldy #$80
db $2C
intermission
ldy #0
sty dstats
sta dbuflo
stx dbufhi

lda #0
sta dbythi
sta sector
sta sector+1

lda dbytlo
bne ..skip
inc dbythi

..skip lda #'X'
sta dcomnd
jmp sector_io ; do SIO
endproc



; Program with version 1.2 code
; -----------------------------
do_1.20 proc
ldy #22-1
..mov lda stg2_12,y
sta ibuffr,y
dey
bpl ..mov

ldy #8-1
..mov2 lda blok_12,y
sta blok_adr,y
dey
bpl ..mov2
rts
endproc


; Program with version 1.1 code
; -----------------------------
do_1.10 proc
ldy #22-1
..mov lda stg2_11,y ; get stage2 data
sta ibuffr,y
dey
bpl ..mov

ldy #8-1
..mov2 lda blok_11,y
sta blok_adr,y
dey
bpl ..mov2
rts
endproc


blok_idx
ds 1 ; temp for send_data


;===========================================================
; Holds buffer start/length data for send_data
; --------------------------------------------
blok_adr ds 4
nbytes ds 4

; Block length data for version 1.10
; ----------------------------------
blok_11 dw b1_v11, b2_v11
dw xb1_v11-b1_v11, xb2_v11-b2_v11

; Block length data for version 1.20
; ----------------------------------
blok_12 dw b1_v12, b2_v12
dw xb1_v12-b1_v12, xb2_v12-b2_v12



;============================================================
; Holds buffer start/length data for send_block
; ---------------------------------------------
bufad dw gserial, loader
bufle dw xgserial-gserial, xloader-loader


; Program to get serial number from indus
; ---------------------------------------
gserial db $0e, $00, $cd, $04, $00, $ed, $53, $17
db $7f, $11, $17, $7f, $06, $02, $0e, $08
db $3e, $43, $cd, $04, $00, $b7, $c9
i_serial
db $00, $00
xgserial


; Loader for indus
; ----------------
loader db $f3, $2a, $e3, $7f, $22, $04, $78
db $22, $07, $78, $22, $0a, $78, $2a, $d7
db $7f, $ed, $5b, $e1, $7f, $73, $23, $72
db $fb, $21, $cd, $7f, $7e, $34, $b7, $28
; db $64, $3d, $28, $33, $3d, $28, $5e, $f3
; no CPM replacement for above
db $64, $00, $00, $00, $00, $00, $00, $f3 ; no-op CPM stuff
db $2a, $d7, $7f, $ed, $5b, $d9, $7f, $73
db $23, $72, $3a, $ce, $7f, $b7, $28, $14
db $2a, $dd, $7f, $22, $07, $78, $2a, $df
db $7f, $22, $0a, $78, $2a, $db, $7f, $22
db $04, $78, $18, $06, $2a, $e1, $7f, $22
db $0a, $78, $fb, $3e, $43, $37, $c9, $2a
db $d5, $7f, $22, $d1, $7f, $2a, $d3, $7f
db $22, $cf, $7f, $3a, $00, $10, $3a, $01
db $10, $e6, $10, $20, $10, $21, $ff, $ff
db $46, $af, $77, $be, $20, $07, $3c, $20
db $f9, $70, $3d, $18, $01, $af, $32, $ce
db $7f, $3e, $43, $37, $c9, $ed, $5b, $d1
db $7f, $2a, $cf, $7f, $e5, $7b, $b7, $28
db $0b, $47, $1e, $00, $85, $6f, $7c, $ce
db $00, $67, $18, $04, $06, $00, $15, $24
db $e3, $d5, $eb, $0e, $07, $cd, $04, $00
db $c1, $e1, $28, $08, $3a, $ce, $7f, $b7
db $3e, $4e, $20, $18, $22, $cf, $7f, $ed
db $43, $d1, $7f, $78, $b1, $28, $04, $21
db $cd, $7f, $35, $3e, $41, $0e, $06, $cd
db $04, $00, $3e, $43, $37, $c9, $00, $00
ibuffr ds 22 ; buffer for 22 bytes of data
xloader


; Data for stage 2 (version 1.10)
; -------------------------------
stg2_11 dw $7b82, xb1_v11-b1_v11
dw $fbd9, xb2_v11-b2_v11
dw $783e, $7eeb, $fc31, $fbd9
dw $fc12, $7b82, $0c4e

; Data for stage 2 (version 1.20)
; -------------------------------
stg2_12 dw $7b84, xb1_v12-b1_v12
dw $fbd9, xb2_v12-b2_v12
dw $7840, $7eed, $fc31, $fbd9
dw $fc12, $7b84, $0ca0


;============================================
; Block 1 of version 1.10 code
; ----------------------------
b1_v11 db $21, $00
db $00, $22, $2a, $78, $79, $07, $d0, $e1
db $9f, $32, $14, $78, $cb, $b9, $06, $08
db $21, $b6, $7b, $7e, $23, $b9, $28, $06
db $23, $23, $10, $f7, $18, $08, $7e, $23
db $66, $6f, $cd, $b5, $7b, $c8, $01, $82
db $00, $cd, $46, $0c, $3e, $4e, $c3, $ca
db $7e, $e9, $4e, $75, $7c, $4f, $a7, $7c
db $50, $2c, $7c, $52, $18, $7c, $53, $ce
db $7b, $57, $33, $7c, $21, $d0, $7c, $23
db $d6, $7c, $cd, $b6, $7e, $cd, $23, $05
db $cd, $f8, $08

; buggy portion of STATUS command
; db $3a, $00, $60, $e6, $40
; db $c6, $ff, $9f, $e6, $08, $4f, $3a, $17
; db $78, $c6, $ff, $9f, $e6, $20, $47
; replacement code!!! 9-1-88
db $0e,$08,$3a,$17,$78,$b7,$28,$05,$c6,$fe
db $1f,$e6,$a0,$47,$00,$00,$00,$00,$00,$00

db $3a
db $1c, $78, $e6, $57, $b0, $b1, $21, $40
db $79, $77, $23, $cd, $9f, $0b, $3a, $1d
db $78, $2f, $77, $23, $3a, $1b, $78, $77
db $23, $3a, $24, $78, $cb, $3f, $77, $3e
db $43, $21, $40, $79, $06, $04, $cd, $98
db $7e, $c3, $2d, $02, $cd, $ee, $0b, $c2
db $5d, $0a, $cd, $b6, $7e, $cd, $23, $05
db $cd, $56, $04, $cd, $90, $7e, $af, $c9
db $cd, $26, $7e, $c0, $c3, $70, $7c, $cd
db $26, $7e, $c0, $fe, $45, $28, $35, $cd
db $4c, $0a, $cd, $69, $0a, $48, $06, $00
db $0d, $03, $2a, $22, $78, $11, $40, $79
db $ed, $b0, $cd, $56, $04, $fe, $45, $28
db $13, $cd, $69, $0a, $2a, $22, $78, $11
db $40, $79, $1a, $be, $20, $06, $10, $fa
db $3e, $43, $18, $08, $21, $98, $8c, $cd
db $d5, $0a, $3e, $45, $cd, $ca, $7e, $af
db $c9, $cd, $b6, $7e, $cd, $23, $05, $21
db $ff, $02, $11, $40, $79, $01, $0c, $00
db $ed, $b0, $21, $45, $79, $c6, $ff, $9f
db $e6, $04, $77, $23, $cd, $77, $0a, $05
db $48, $06, $00, $03, $70, $23, $71, $3e
db $43, $21, $40, $79, $06, $0c, $cd, $98
db $7e, $af, $c9, $cd, $b6, $7e, $06, $0c
db $21, $40, $79, $cd, $41, $7e, $c2, $63
db $0a, $cd, $c2, $7e, $cd, $23, $05, $3a
db $45, $79, $b7, $28, $01, $3c, $32, $17
db $78, $32, $16, $78, $cd, $9f, $0b, $3e
db $43, $c3, $70, $7c, $3e, $4e, $2e, $00
db $18, $0e, $2e, $02, $3a, $17, $78, $b7
db $3e, $04, $28, $04, $3e, $02, $18, $00
db $32, $84, $7d, $e5, $21, $17, $78, $7e
db $d6, $02, $20, $07, $77, $32, $16, $78
db $cd, $9f, $0b, $cd, $b6, $7e, $e1, $3a
db $17, $78, $f5, $85, $87, $6f, $26, $00
db $11, $86, $7d, $19, $7e, $23, $66, $6f
db $22, $2a, $78, $cd, $23, $05, $f1, $32
db $17, $78, $32, $16, $78, $cd, $9f, $0b
db $cd, $81, $08, $21, $ff, $ff, $22, $1e
db $78, $cd, $77, $0a, $af, $32, $20, $78
db $3d, $21, $40, $79, $77, $23, $10, $fc
db $cd, $b7, $07, $3e, $05, $32, $26, $78
db $cd, $07, $0b, $cd, $d6, $05, $32, $1d
db $78, $e6, $44, $28, $1b, $47, $e6, $40
db $78, $20, $06, $21, $26, $78, $35, $20
db $e7, $cd, $b9, $0a, $26, $8e, $cd, $c8
db $0a, $21, $1c, $78, $cb, $d6, $18, $19
db $3a, $84, $7d, $21, $20, $78, $be, $28
db $04, $34, $34, $18, $c3, $cd, $07, $0b
db $cd, $b4, $7d, $20, $04, $3e, $43, $18
db $02, $3e, $45, $cd, $86, $7e, $af, $c9
db $00, $00, $8e, $7d, $a1, $7d, $f9, $06
db $f9, $06

; skew table for single density
db 4, 8, 12, 16, 1, 5, 9, 13, 17
db 2, 6, 10, 14, 18, 3, 7, 11, 15, $80

; skew table for double density
db 1, 14, 9, 4, 17, 12, 7, 2, 15
db 10, 5, 18, 13, 8, 3, 16, 11, 6, $80

db $cd, $77, $0a, $78, $cb, $3f, $3d, $32
db $27, $78, $af, $32, $20, $78, $fd, $21
db $40, $79, $cd, $b7, $07, $cd, $7b, $07
db $dd, $2a, $2a, $78, $dd, $7e, $00, $32
db $02, $60, $3e, $05, $32, $26, $78, $2a
db $22, $78, $cd, $98, $05, $28, $05, $cd
db $2b, $09, $18, $05, $cd, $f8, $08, $f6
db $10, $e6, $1c, $28, $1f, $21, $26, $78
db $35, $20, $e4, $cd, $27, $0c, $fd, $75
db $00, $fd, $23, $fd, $74, $00, $fd, $23
db $21, $98, $8e, $cd, $c8, $0a, $21, $27
db $78, $35, $28, $13, $dd, $23, $dd, $7e
db $00, $07, $30, $b8, $21, $20, $78, $34
db $34, $3a, $84, $7d, $be, $30, $a3, $c3
db $4f, $04, $cd, $ee, $0b, $c2, $5d, $0a
db $cd, $b6, $7e, $cd, $3b, $7e, $c2, $63
db $0a, $cd, $c2, $7e, $c3, $78, $04, $cd
db $69, $0a, $2a, $22, $78, $c5, $e5, $eb
db $78, $d9, $4f, $0d, $06, $00, $03, $03
db $d9, $21, $00, $20, $7e, $e6, $fb, $f6
db $03, $47, $18, $04, $79, $12, $13, $78
db $be, $da, $5c, $7e, $08, $d9, $0b, $78
db $b1, $d9, $08, $0e, $7f, $ed, $47, $ed
db $47, $be, $be, $00, $00, $ed, $47, $be
db $cb, $19, $38, $f5, $08, $c2, $58, $7e
db $79, $e1, $c1, $f5, $cd, $44, $0a, $c1
db $b8, $c9, $f5, $cd, $69, $0a, $f1, $21
db $40, $79, $18, $08, $f5, $cd, $69, $0a
db $f1, $2a, $22, $78

; 9-12-88 - moved delay in TXD to occur between COMP and data frame
; overruns occurred easily before because could not turn off
; NMI and still allow timeout to occur
; db $48, $06, $5a, $cd
; db $4c, $0c, $41, $cd, $ca, $7e
db $cd,$ca,$7e,$48,$06,$5a,$cd,$4c,$0c,$41

db $c5, $e5
db $cd, $44, $0a, $e1, $c1, $f5, $7e, $cd
db $ca, $7e, $23, $10, $f9, $f1, $cd, $ca
db $7e, $c9, $3e, $41, $cd, $e6, $09, $3a
db $14, $78, $32, $15, $78, $c9, $01, $82
db $00, $cd, $46, $0c, $3e, $41, $d9, $2f
db $57, $1e, $02, $db, $05, $06, $08, $ed
db $44, $cb, $1a, $4b, $cb, $11, $ed, $78
db $ed, $47, $00, $10, $f4, $ed, $47, $ed
db $47, $ed, $44, $db, $04, $d9, $c9
xb1_v11


;============================================
; Block 2 of version 1.10 code
; ----------------------------
b2_v11
$(------ skip this stuff!!! -------)
db $2e
db $60, $3a, $01, $10, $a5, $bd, $20, $0f
db $3a, $34, $78, $b5, $32, $34, $78, $3e
db $ff, $32, $19, $78, $32, $1a, $78, $21
db $cd, $fe, $7e, $3c, $28, $10, $3d, $20
db $06, $3a, $19, $78, $b7, $28, $10, $36
db $ff, $3e, $00, $32, $35, $78, $21, $8e
db $83, $22, $38, $78, $cd, $d5, $0a, $c9
db $79, $e6, $7f, $fe, $4f, $28, $0c, $fe
db $24, $38, $08, $fe, $57, $20, $09, $3e
db $ff, $18, $06, $3e, $ff, $32, $cd, $fe
db $af, $32, $d0, $fe, $c3, $82, $7b, $e1
db $22, $ce, $fe, $f5, $3a, $cd, $fe, $b7
db $28, $4d, $cd, $23, $05, $cd, $77, $0a
db $68, $2d, $26, $00, $23, $22, $d1, $fe
db $29, $5d, $54, $29, $29, $29, $19, $22
db $d3, $fe, $3e, $12, $32, $d5, $fe, $af
db $32, $d6, $fe, $32, $69, $ff, $eb, $21
db $d9, $fb, $dd, $21, $d8, $fe, $01, $03
db $00, $ed, $52, $38, $13, $dd, $36, $00
db $ff, $dd, $23, $dd, $75, $00, $dd, $23
db $dd, $74, $00, $dd, $09, $3c, $18, $e9
db $32, $d7, $fe, $af, $32, $cd, $fe, $f1
db $b7, $20, $05, $cd, $96, $fc, $18, $03
db $cd, $ab, $fc, $c9, $3a, $d0, $fe, $b7
db $20, $0a, $cd, $c1, $fc, $20, $05, $ed
db $b0, $af, $18, $04, $af, $cd, $c9, $fe
db $c9, $cd, $c9, $fe, $20, $10, $cd, $c1
db $fc, $20, $0a, $1a, $2f, $77, $13, $23
db $0b, $78, $b1, $20, $f6, $af, $c9, $3a
db $20, $78, $b7, $20, $0d, $3a, $21, $78
db $3d, $20, $07, $3a, $69, $ff, $b7, $c2
db $d9, $fd, $cd, $ee, $fd, $28, $61, $21
db $d6, $fe, $7e, $b7, $20, $01, $34, $3a
db $d8, $fe, $3c, $28, $4b, $3a, $d7, $fe
db $4f, $06, $00, $69, $60, $29, $29, $09
db $4d, $44, $11, $d7, $fe, $19, $e5, $11
db $05, $00, $19, $eb, $e1, $e5, $f3, $ed
db $b8, $23, $36, $ff, $23, $eb, $e1, $23
db $23, $ed, $a0, $ed, $a0, $21, $d6, $fe
db $3a, $d7, $fe, $3d, $be, $38, $01, $34
db $2a, $de, $fe, $ed, $5b, $d9, $fe, $22
db $d9, $fe, $ed, $53, $de, $fe, $ed, $4b
db $d3, $fe, $d3, $0f, $ed, $b0, $d3, $0e
db $cd, $06, $fe, $c2, $ed, $fd, $18, $4c
db $e5, $cd, $ba, $fe, $e1, $3a, $d8, $fe
db $47, $3a, $20, $78, $b8, $28, $44, $5d
db $54, $1b, $23, $4e, $23, $46, $c5, $23
db $4e, $23, $46, $c5, $e5, $01, $dc, $fe
db $b7, $ed, $42, $4d, $44, $e1, $eb, $f3
db $ed, $b8, $e1, $22, $db, $fe, $e1, $e5
db $dd, $e1, $22, $de, $fe, $ed, $5b, $d9
db $fe, $ed, $4b, $d3, $fe, $d3, $0f, $1a
db $ed, $a0, $dd, $77, $00, $dd, $23, $ea
db $79, $fd, $d3, $0e, $3a, $20, $78, $32
db $d8, $fe, $fb, $3a, $d5, $fe, $47, $2a
db $db, $fe, $dd, $2a, $d9, $fe, $ed, $5b
db $d1, $fe, $3a, $21, $78, $4f, $7e, $b9
db $28, $19, $07, $38, $07, $dd, $19, $23
db $10, $f4, $18, $3f, $3a, $d5, $fe, $5f
db $16, $00, $b7, $ed, $52, $ed, $5b, $d1
db $fe, $18, $e3, $3a, $20, $78, $b7, $20
db $20, $3a, $21, $78, $3d, $20, $1a, $dd
db $e5, $e1, $01, $80, $00, $11, $6a, $ff
db $ed, $b0, $3e, $ff, $32, $69, $ff, $cd
db $ba, $fe, $dd, $21, $6a, $ff, $11, $80
db $00, $dd, $e5, $e1, $4b, $42, $ed, $5b
db $22, $78, $af, $c9, $11, $05, $00, $21
db $d8, $fe, $3a, $d6, $fe, $47, $c6, $ff
db $30, $09, $3a, $20, $78, $be, $28, $03
db $19, $10, $fa, $c9, $cd, $81, $08, $cd
db $b7, $07, $3e, $05, $32, $26, $78, $3a
db $0f, $78, $21, $ea, $ff, $cd, $9b, $05
db $20, $05, $cd, $f8, $08, $18, $78, $cd
db $2b, $09, $e6, $1c, $28, $08, $21, $26
db $78, $35, $20, $e3, $18, $69, $3a, $15
db $78, $2f, $e6, $04, $47, $3a, $17, $78
db $87, $b0, $6f, $26, $00, $11, $86, $7d
db $19, $5e, $23, $56, $eb, $3a, $ec, $ff
db $47, $7e, $23, $b8, $28, $05, $07, $30
db $f8, $18, $44, $22, $db, $fe, $e5, $cd
db $7b, $07, $dd, $e1, $2a, $d9, $fe, $dd
db $7e, $00, $cb, $7f, $28, $0c, $3a, $d5
db $fe, $2f, $5f, $16, $ff, $13, $dd, $19
db $18, $ed, $32, $02, $60, $3e, $05, $32
db $26, $78, $e5, $e1, $e5, $cd, $98, $05
db $28, $05, $cd, $2b, $09, $18, $05, $cd
db $f8, $08, $f6, $10, $e6, $1c, $28, $0b
db $21, $26, $78, $35, $20, $e5, $e1, $f6
db $ff, $18, $1c, $c1, $dd, $46, $00, $dd
db $23, $3a, $ec, $ff, $b8, $20, $b8, $ed
db $4b, $d3, $fe, $2a, $d9, $fe, $7e, $2f
db $77, $23, $0b, $78, $b1, $20, $f7, $c9
db $3a, $20, $78, $cb, $3f, $cd, $86, $0a
db $22, $38, $78, $cd, $d5, $0a, $c9, $2a
db $ce, $fe, $e9, $fe
$)
xb2_v11


;============================================
; Block 1 of version 1.20 code
; ----------------------------
b1_v12 db $21, $00, $00, $22, $2c, $78
db $79, $07, $d0, $e1, $9f, $32, $14, $78
db $cb, $b9, $06, $08, $21, $b8, $7b, $7e
db $23, $b9, $28, $06, $23, $23, $10, $f7
db $18, $08, $7e, $23, $66, $6f, $cd, $b7
db $7b, $c8, $01, $82, $00, $cd, $12, $00
db $3e, $4e, $c3, $cc, $7e, $e9, $4e, $77
db $7c, $4f, $a9, $7c, $50, $2e, $7c, $52
db $1a, $7c, $53, $d0, $7b, $57, $35, $7c
db $21, $d2, $7c, $23, $d8, $7c, $cd, $b8
db $7e, $cd, $60, $05, $cd, $35, $09
; buggy portion of STATUS command
; db $3a, $00, $60, $e6, $40
; db $c6, $ff, $9f, $e6, $08, $4f, $3a, $17
; db $78, $c6, $ff, $9f, $e6, $20, $47
; replacement code!!! 9-1-88
db $0e,$08,$3a,$17,$78,$b7,$28,$05,$c6,$fe
db $1f,$e6,$a0,$47,$00,$00,$00,$00,$00,$00

db $3a, $1e, $78, $e6, $57
db $b0, $b1, $21, $42, $79, $77, $23, $cd
db $f2, $0b, $3a, $1f, $78, $2f, $77, $23
db $3a, $1d, $78, $77, $23, $3a, $26, $78
db $cb, $3f, $77, $3e, $43, $21, $42, $79
db $06, $04, $cd, $9a, $7e, $c3, $6f, $02
db $cd, $3c, $0c, $c2, $9a, $0a, $cd, $b8
db $7e, $cd, $60, $05, $cd, $95, $04, $cd
db $92, $7e, $af, $c9, $cd, $28, $7e, $c0
db $c3, $72, $7c, $cd, $28, $7e, $c0, $fe
db $45, $28, $35, $cd, $89, $0a, $cd, $a6
db $0a, $48, $06, $00, $0d, $03, $2a, $24
db $78, $11, $42, $79, $ed, $b0, $cd, $95
db $04, $fe, $45, $28, $13, $cd, $a6, $0a
db $2a, $24, $78, $11, $42, $79, $1a, $be
db $20, $06, $10, $fa, $3e, $43, $18, $08
db $21, $98, $8c, $cd, $12, $0b, $3e, $45
db $cd, $cc, $7e, $af, $c9, $cd, $b8, $7e
db $cd, $60, $05, $21, $3e, $03, $11, $42
db $79, $01, $0c, $00, $ed, $b0, $21, $47
db $79, $c6, $ff, $9f, $e6, $04, $77, $23
db $cd, $b4, $0a, $05, $48, $06, $00, $03
db $70, $23, $71, $3e, $43, $21, $42, $79
db $06, $0c, $cd, $9a, $7e, $af, $c9, $cd
db $b8, $7e, $06, $0c, $21, $42, $79, $cd
db $43, $7e, $c2, $a0, $0a, $cd, $c4, $7e
db $cd, $60, $05, $3a, $47, $79, $b7, $28
db $01, $3c, $32, $17, $78, $32, $16, $78
db $cd, $f2, $0b, $3e, $43, $c3, $72, $7c
db $3e, $4e, $2e, $00, $18, $0e, $2e, $02
db $3a, $17, $78, $b7, $3e, $04, $28, $04
db $3e, $02, $18, $00, $32, $86, $7d, $e5
db $21, $17, $78, $7e, $d6, $02, $20, $07
db $77, $32, $16, $78, $cd, $f2, $0b, $cd
db $b8, $7e, $e1, $3a, $17, $78, $f5, $85
db $87, $6f, $26, $00, $11, $88, $7d, $19
db $7e, $23, $66, $6f, $22, $2c, $78, $cd
db $60, $05, $f1, $32, $17, $78, $32, $16
db $78, $cd, $f2, $0b, $cd, $be, $08, $21
db $ff, $ff, $22, $20, $78, $cd, $b4, $0a
db $af, $32, $22, $78, $3d, $21, $42, $79
db $77, $23, $10, $fc, $cd, $f4, $07, $3e
db $05, $32, $28, $78, $cd, $44, $0b, $cd
db $13, $06, $32, $1f, $78, $e6, $44, $28
db $1b, $47, $e6, $40, $78, $20, $06, $21
db $28, $78, $35, $20, $e7, $cd, $f6, $0a
db $26, $8e, $cd, $05, $0b, $21, $1e, $78
db $cb, $d6, $18, $19, $3a, $86, $7d, $21
db $22, $78, $be, $28, $04, $34, $34, $18
db $c3, $cd, $44, $0b, $cd, $b6, $7d, $20
db $04, $3e, $43, $18, $02, $3e, $45, $cd
db $88, $7e, $af, $c9, $00, $00, $90, $7d
db $a3, $7d, $36, $07, $36, $07

; skew table for single density
db 4, 8, 12, 16, 1, 5, 9, 13, 17
db 2, 6, 10, 14, 18, 3, 7, 11, 15, $80

; skew table for double density
db 1, 14, 9, 4, 17, 12, 7, 2, 15
db 10, 5, 18, 13, 8, 3, 16, 11, 6, $80

db $cd, $b4, $0a, $78
db $cb, $3f, $3d, $32, $29, $78, $af, $32
db $22, $78, $fd, $21, $42, $79, $cd, $f4
db $07, $cd, $b8, $07, $dd, $2a, $2c, $78
db $dd, $7e, $00, $32, $02, $60, $3e, $05
db $32, $28, $78, $2a, $24, $78, $cd, $d5
db $05, $28, $05, $cd, $68, $09, $18, $05
db $cd, $35, $09, $f6, $10, $e6, $1c, $28
db $1f, $21, $28, $78, $35, $20, $e4, $cd
db $7f, $0c, $fd, $75, $00, $fd, $23, $fd
db $74, $00, $fd, $23, $21, $98, $8e, $cd
db $05, $0b, $21, $29, $78, $35, $28, $13
db $dd, $23, $dd, $7e, $00, $07, $30, $b8
db $21, $22, $78, $34, $34, $3a, $86, $7d
db $be, $30, $a3, $c3, $8e, $04, $cd, $3c
db $0c, $c2, $9a, $0a, $cd, $b8, $7e, $cd
db $3d, $7e, $c2, $a0, $0a, $cd, $c4, $7e
db $c3, $b7, $04, $cd, $a6, $0a, $2a, $24
db $78, $c5, $e5, $eb, $78, $d9, $4f, $0d
db $06, $00, $03, $03, $d9, $21, $00, $20
db $7e, $e6, $fb, $f6, $03, $47, $18, $04
db $79, $12, $13, $78, $be, $da, $5e, $7e
db $08, $d9, $0b, $78, $b1, $d9, $08, $0e
db $7f, $ed, $47, $ed, $47, $be, $be, $00
db $00, $ed, $47, $be, $cb, $19, $38, $f5
db $08, $c2, $5a, $7e, $79, $e1, $c1, $f5
db $cd, $81, $0a, $c1, $b8, $c9, $f5, $cd
db $a6, $0a, $f1, $21, $42, $79, $18, $08
db $f5, $cd, $a6, $0a, $f1, $2a, $24, $78

; 9-12-88 - moved delay in TXD to occur between COMP and data frame
; overruns occurred easily before because could not turn off
; NMI and still allow timeout to occur
; db $48, $06, $5a, $cd, $9e, $0c, $41, $cd
; db $cc, $7e
db $cd,$cc,$7e,$48,$06,$5a,$cd,$9e,$0c,$41

db $c5, $e5, $cd, $81, $0a, $e1
db $c1, $f5, $7e, $cd, $cc, $7e, $23, $10
db $f9, $f1, $cd, $cc, $7e, $c9, $3e, $41
db $cd, $23, $0a, $3a, $14, $78, $32, $15
db $78, $c9, $01, $82, $00, $cd, $12, $00
db $3e, $41, $d9, $2f, $57, $1e, $02, $db
db $05, $06, $08, $ed, $44, $cb, $1a, $4b
db $cb, $11, $ed, $78, $ed, $47, $00, $10
db $f4, $ed, $47, $ed, $47, $ed, $44, $db
db $04, $d9, $c9
xb1_v12


;==========================================
; Block 2 of version 1.20 code
; ----------------------------
b2_v12
$(------ skip this stuff!!! -------)
db $2e, $60, $3a, $01, $10
db $a5, $bd, $20, $0f, $3a, $36, $78, $b5
db $32, $36, $78, $3e, $ff, $32, $19, $78
db $32, $1a, $78, $21, $cd, $fe, $7e, $3c
db $28, $10, $3d, $20, $06, $3a, $19, $78
db $b7, $28, $10, $36, $ff, $3e, $00, $32
db $37, $78, $21, $8e, $83, $22, $3a, $78
db $cd, $12, $0b, $c9, $79, $e6, $7f, $fe
db $4f, $28, $0c, $fe, $24, $38, $08, $fe
db $57, $20, $09, $3e, $ff, $18, $06, $3e
db $ff, $32, $cd, $fe, $af, $32, $d0, $fe
db $c3, $84, $7b, $e1, $22, $ce, $fe, $f5
db $3a, $cd, $fe, $b7, $28, $4d, $cd, $60
db $05, $cd, $b4, $0a, $68, $2d, $26, $00
db $23, $22, $d1, $fe, $29, $5d, $54, $29
db $29, $29, $19, $22, $d3, $fe, $3e, $12
db $32, $d5, $fe, $af, $32, $d6, $fe, $32
db $69, $ff, $eb, $21, $d9, $fb, $dd, $21
db $d8, $fe, $01, $03, $00, $ed, $52, $38
db $13, $dd, $36, $00, $ff, $dd, $23, $dd
db $75, $00, $dd, $23, $dd, $74, $00, $dd
db $09, $3c, $18, $e9, $32, $d7, $fe, $af
db $32, $cd, $fe, $f1, $b7, $20, $05, $cd
db $96, $fc, $18, $03, $cd, $ab, $fc, $c9
db $3a, $d0, $fe, $b7, $20, $0a, $cd, $c1
db $fc, $20, $05, $ed, $b0, $af, $18, $04
db $af, $cd, $c9, $fe, $c9, $cd, $c9, $fe
db $20, $10, $cd, $c1, $fc, $20, $0a, $1a
db $2f, $77, $13, $23, $0b, $78, $b1, $20
db $f6, $af, $c9, $3a, $22, $78, $b7, $20
db $0d, $3a, $23, $78, $3d, $20, $07, $3a
db $69, $ff, $b7, $c2, $d9, $fd, $cd, $ee
db $fd, $28, $61, $21, $d6, $fe, $7e, $b7
db $20, $01, $34, $3a, $d8, $fe, $3c, $28
db $4b, $3a, $d7, $fe, $4f, $06, $00, $69
db $60, $29, $29, $09, $4d, $44, $11, $d7
db $fe, $19, $e5, $11, $05, $00, $19, $eb
db $e1, $e5, $f3, $ed, $b8, $23, $36, $ff
db $23, $eb, $e1, $23, $23, $ed, $a0, $ed
db $a0, $21, $d6, $fe, $3a, $d7, $fe, $3d
db $be, $38, $01, $34, $2a, $de, $fe, $ed
db $5b, $d9, $fe, $22, $d9, $fe, $ed, $53
db $de, $fe, $ed, $4b, $d3, $fe, $d3, $0f
db $ed, $b0, $d3, $0e, $cd, $06, $fe, $c2
db $ed, $fd, $18, $4c, $e5, $cd, $ba, $fe
db $e1, $3a, $d8, $fe, $47, $3a, $22, $78
db $b8, $28, $44, $5d, $54, $1b, $23, $4e
db $23, $46, $c5, $23, $4e, $23, $46, $c5
db $e5, $01, $dc, $fe, $b7, $ed, $42, $4d
db $44, $e1, $eb, $f3, $ed, $b8, $e1, $22
db $db, $fe, $e1, $e5, $dd, $e1, $22, $de
db $fe, $ed, $5b, $d9, $fe, $ed, $4b, $d3
db $fe, $d3, $0f, $1a, $ed, $a0, $dd, $77
db $00, $dd, $23, $ea, $79, $fd, $d3, $0e
db $3a, $22, $78, $32, $d8, $fe, $fb, $3a
db $d5, $fe, $47, $2a, $db, $fe, $dd, $2a
db $d9, $fe, $ed, $5b, $d1, $fe, $3a, $23
db $78, $4f, $7e, $b9, $28, $19, $07, $38
db $07, $dd, $19, $23, $10, $f4, $18, $3f
db $3a, $d5, $fe, $5f, $16, $00, $b7, $ed
db $52, $ed, $5b, $d1, $fe, $18, $e3, $3a
db $22, $78, $b7, $20, $20, $3a, $23, $78
db $3d, $20, $1a, $dd, $e5, $e1, $01, $80
db $00, $11, $6a, $ff, $ed, $b0, $3e, $ff
db $32, $69, $ff, $cd, $ba, $fe, $dd, $21
db $6a, $ff, $11, $80, $00, $dd, $e5, $e1
db $4b, $42, $ed, $5b, $24, $78, $af, $c9
db $11, $05, $00, $21, $d8, $fe, $3a, $d6
db $fe, $47, $c6, $ff, $30, $09, $3a, $22
db $78, $be, $28, $03, $19, $10, $fa, $c9
db $cd, $be, $08, $cd, $f4, $07, $3e, $05
db $32, $28, $78, $3a, $0f, $78, $21, $ea
db $ff, $cd, $d8, $05, $20, $05, $cd, $35
db $09, $18, $78, $cd, $68, $09, $e6, $1c
db $28, $08, $21, $28, $78, $35, $20, $e3
db $18, $69, $3a, $15, $78, $2f, $e6, $04
db $47, $3a, $17, $78, $87, $b0, $6f, $26
db $00, $11, $88, $7d, $19, $5e, $23, $56
db $eb, $3a, $ec, $ff, $47, $7e, $23, $b8
db $28, $05, $07, $30, $f8, $18, $44, $22
db $db, $fe, $e5, $cd, $b8, $07, $dd, $e1
db $2a, $d9, $fe, $dd, $7e, $00, $cb, $7f
db $28, $0c, $3a, $d5, $fe, $2f, $5f, $16
db $ff, $13, $dd, $19, $18, $ed, $32, $02
db $60, $3e, $05, $32, $28, $78, $e5, $e1
db $e5, $cd, $d5, $05, $28, $05, $cd, $68
db $09, $18, $05, $cd, $35, $09, $f6, $10
db $e6, $1c, $28, $0b, $21, $28, $78, $35
db $20, $e5, $e1, $f6, $ff, $18, $1c, $c1
db $dd, $46, $00, $dd, $23, $3a, $ec, $ff
db $b8, $20, $b8, $ed, $4b, $d3, $fe, $2a
db $d9, $fe, $7e, $2f, $77, $23, $0b, $78
db $b1, $20, $f7, $c9, $3a, $22, $78, $cb
db $3f, $cd, $c3, $0a, $22, $3a, $78, $cd
db $12, $0b, $c9, $2a, $ce, $fe, $e9, $fe
$)
xb2_v12
end

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...