64.ASM
FILE INFORMATION
FILENAME(S): 64.ASM
FILE TYPE(S): PRG
FILE SIZE: 5.4K
FIRST SEEN: 2025-12-01 19:06:23
APPEARS ON: 1 disk(s)
FILE HASH
3c18abbc57287857b9bd29a268ec8c20803fdb97dd1106bbca078050b51dc380
FOUND ON DISKS (1 DISKS)
| DISK TITLE | FILENAME | FILE TYPE | COLLECTION | TRACK | SECTOR | ACTIONS |
|---|---|---|---|---|---|---|
| DA ALTERNET DEMO | 64.ASM | PRG | Icebreaker | 30 | 0 | DOWNLOAD FILE |
FILE CONTENT & ANALYSIS
00000000: 09 3B 6A 6B 2D 6E 65 74 20 76 30 2E 36 0A 09 3B |.;jk-net v0.6..;| 00000010: 63 6F 70 79 72 69 67 68 74 20 62 79 20 69 6E 66 |copyright by inf| 00000020: 69 6E 69 74 79 20 31 39 39 33 2C 39 34 0A 0A 0A |inity 1993,94...| 00000030: 46 4E 4C 45 4E 09 65 71 75 09 24 62 37 09 09 3B |FNLEN.equ.$b7..;| 00000040: 66 69 6C 65 20 6E 61 6D 65 20 6C 65 6E 67 68 74 |file name lenght| 00000050: 0A 46 41 09 65 71 75 09 24 62 61 09 09 3B 64 65 |.FA.equ.$ba..;de| 00000060: 76 69 63 65 20 6E 75 6D 62 65 72 0A 46 4E 41 44 |vice number.FNAD| 00000070: 52 09 65 71 75 09 24 62 62 09 09 3B 6E 61 6D 65 |R.equ.$bb..;name| 00000080: 20 61 64 64 72 65 73 73 0A 0A 49 45 52 52 4F 52 | address..IERROR| 00000090: 09 65 71 75 09 24 30 33 30 30 09 09 3B 65 72 72 |.equ.$0300..;err| 000000A0: 6F 72 0A 49 4C 4F 41 44 09 65 71 75 09 24 30 33 |or.ILOAD.equ.$03| 000000B0: 33 30 09 09 3B 6C 6F 61 64 0A 49 53 41 56 45 09 |30..;load.ISAVE.| 000000C0: 65 71 75 09 24 30 33 33 32 09 09 3B 73 61 76 65 |equ.$0332..;save| 000000D0: 0A 0A 43 48 4B 49 4E 09 65 71 75 09 24 66 66 63 |..CHKIN.equ.$ffc| 000000E0: 36 09 09 3B 6F 70 65 6E 20 66 6F 72 20 69 6E 70 |6..;open for inp| 000000F0: 75 74 0A 43 48 4B 4F 55 54 09 65 71 75 09 24 66 |ut.CHKOUT.equ.$f| 00000100: 66 63 39 09 09 3B 6F 70 65 6E 20 66 6F 72 20 6F |fc9..;open for o| 00000110: 75 74 70 75 74 20 0A 43 48 52 49 4E 09 65 71 75 |utput .CHRIN.equ| 00000120: 09 24 66 66 63 66 09 09 3B 67 65 74 20 63 68 61 |.$ffcf..;get cha| 00000130: 72 20 66 72 6F 6D 20 69 6E 70 75 74 0A 43 48 52 |r from input.CHR| 00000140: 4F 55 54 09 65 71 75 09 24 66 66 64 32 09 09 3B |OUT.equ.$ffd2..;| 00000150: 70 75 74 20 63 68 61 72 20 74 6F 20 6F 75 74 70 |put char to outp| 00000160: 75 74 0A 0A 6F 72 67 5F 49 4C 4F 41 44 09 65 71 |ut..org_ILOAD.eq| 00000170: 75 09 24 66 34 61 35 09 09 3B 6F 72 67 69 6E 61 |u.$f4a5..;orgina| 00000180: 6C 20 6C 6F 61 64 0A 6F 72 67 5F 49 53 41 56 45 |l load.org_ISAVE| 00000190: 09 65 71 75 09 24 66 35 65 64 09 09 3B 6F 72 67 |.equ.$f5ed..;org| 000001A0: 69 6E 61 6C 20 73 61 76 65 0A 0A 73 65 61 72 63 |inal save..searc| 000001B0: 5F 6D 09 65 71 75 09 24 66 35 61 66 09 09 3B 70 |_m.equ.$f5af..;p| 000001C0: 72 69 6E 74 20 73 65 61 72 63 68 69 6E 67 20 66 |rint searching f| 000001D0: 6F 72 20 27 6E 61 6D 65 27 20 6D 65 73 73 61 67 |or 'name' messag| 000001E0: 65 0A 6C 6F 61 64 5F 6D 09 65 71 75 09 24 66 35 |e.load_m.equ.$f5| 000001F0: 64 32 09 09 3B 70 72 69 6E 74 20 6C 6F 61 64 69 |d2..;print loadi| 00000200: 6E 67 20 6D 65 73 73 61 67 65 0A 73 61 76 65 5F |ng message.save_| 00000210: 6D 09 65 71 75 09 24 66 36 38 66 09 09 3B 70 72 |m.equ.$f68f..;pr| 00000220: 69 6E 74 20 73 61 76 69 6E 67 20 27 6E 61 6D 65 |int saving 'name| 00000230: 27 20 6D 65 73 73 61 67 65 0A 70 72 69 6E 74 5F |' message.print_| 00000240: 73 74 72 09 65 71 75 09 24 61 62 31 65 09 09 3B |str.equ.$ab1e..;| 00000250: 70 72 69 6E 74 20 73 74 72 69 6E 67 20 65 6E 64 |print string end| 00000260: 69 6E 67 20 6E 75 6C 6C 0A 0A 65 5F 66 6E 66 09 |ing null..e_fnf.| 00000270: 65 71 75 09 24 30 34 09 09 3B 46 49 4C 45 20 4E |equ.$04..;FILE N| 00000280: 4F 54 20 46 4F 55 4E 44 0A 65 5F 6D 66 6E 09 65 |OT FOUND.e_mfn.e| 00000290: 71 75 09 24 30 38 09 09 3B 4D 49 53 53 49 4E 47 |qu.$08..;MISSING| 000002A0: 20 46 49 4C 45 20 4E 41 4D 45 0A 0A 61 64 64 72 | FILE NAME..addr| 000002B0: 09 65 71 75 09 24 66 63 09 09 3B 73 74 61 72 74 |.equ.$fc..;start| 000002C0: 20 61 64 64 72 65 73 73 0A 6C 65 6E 09 65 71 75 | address.len.equ| 000002D0: 09 24 66 65 09 09 3B 6C 65 6E 67 68 74 20 61 6E |.$fe..;lenght an| 000002E0: 64 20 65 6E 64 20 61 64 64 72 65 73 73 0A 0A 4C |d end address..L| 000002F0: 4F 41 44 5F 63 6F 64 65 09 65 71 75 09 24 30 31 |OAD_code.equ.$01| 00000300: 0A 53 41 56 45 5F 63 6F 64 65 09 65 71 75 09 24 |.SAVE_code.equ.$| 00000310: 30 32 0A 44 49 52 5F 63 6F 64 65 09 65 71 75 09 |02.DIR_code.equ.| 00000320: 24 30 33 0A 51 55 49 54 5F 63 6F 64 65 09 65 71 |$03.QUIT_code.eq| 00000330: 75 09 24 30 34 0A 0A 0A 0A 2A 09 65 71 75 09 35 |u.$04....*.equ.5| 00000340: 32 37 38 30 0A 0A 3B 20 6D 61 69 6E 20 2D 2D 2D |2780..; main ---| 00000350: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------| 00000360: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0A 0A 09 |-------------...| 00000370: 6C 64 61 20 23 3C 6C 6F 61 64 5F 6D 61 69 6E 09 |lda #<load_main.| 00000380: 09 3B 69 6E 73 74 61 6C 6C 20 6A 6B 2D 6E 65 74 |.;install jk-net| 00000390: 0A 09 73 74 61 20 49 4C 4F 41 44 0A 09 6C 64 61 |..sta ILOAD..lda| 000003A0: 20 23 3E 6C 6F 61 64 5F 6D 61 69 6E 0A 09 73 74 | #>load_main..st| 000003B0: 61 20 49 4C 4F 41 44 2B 31 0A 09 6C 64 61 20 23 |a ILOAD+1..lda #| 000003C0: 3C 73 61 76 65 5F 6D 61 69 6E 0A 09 73 74 61 20 |<save_main..sta | 000003D0: 49 53 41 56 45 0A 09 6C 64 61 20 23 3E 73 61 76 |ISAVE..lda #>sav| 000003E0: 65 5F 6D 61 69 6E 0A 09 73 74 61 20 49 53 41 56 |e_main..sta ISAV| 000003F0: 45 2B 31 0A 0A 09 6A 73 72 20 69 6E 69 74 5F 70 |E+1...jsr init_p| 00000400: 6F 72 74 09 09 3B 69 6E 69 74 5F 70 6F 72 74 0A |ort..;init_port.| 00000410: 0A 09 6C 64 61 20 23 3C 6D 5F 63 72 0A 09 6C 64 |..lda #<m_cr..ld| 00000420: 79 20 23 3E 6D 5F 63 72 0A 09 6A 6D 70 20 70 72 |y #>m_cr..jmp pr| 00000430: 69 6E 74 5F 73 74 72 09 09 3B 70 72 69 6E 74 20 |int_str..;print | 00000440: 63 6F 70 79 72 69 67 68 74 0A 0A 3B 20 63 68 6B |copyright..; chk| 00000450: 20 6E 61 6D 65 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D | name ----------| 00000460: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------| 00000470: 2D 2D 0A 0A 63 68 6B 5F 6E 61 6D 65 09 6C 64 61 |--..chk_name.lda| 00000480: 20 46 4E 4C 45 4E 09 09 09 3B 63 68 65 63 6B 20 | FNLEN...;check | 00000490: 66 69 6C 65 20 6E 61 6D 65 20 6C 65 6E 67 68 74 |file name lenght| 000004A0: 0A 09 62 6E 65 20 6E 6F 74 5F 30 09 09 09 3B 6E |..bne not_0...;n| 000004B0: 75 6C 6C 20 3F 2C 6E 6F 20 2D 3E 20 6E 6F 74 5F |ull ?,no -> not_| 000004C0: 30 0A 09 70 6C 61 0A 09 70 6C 61 0A 09 6C 64 78 |0..pla..pla..ldx| 000004D0: 20 23 65 5F 6D 66 6E 09 09 3B 6D 69 73 73 69 67 | #e_mfn..;missig| 000004E0: 6E 20 66 69 6C 65 20 6E 61 6D 65 0A 09 6A 6D 70 |n file name..jmp| 000004F0: 20 28 49 45 52 52 4F 52 29 09 09 3B 65 72 72 6F | (IERROR)..;erro| 00000500: 72 0A 6E 6F 74 5F 30 09 63 6D 70 20 23 31 37 0A |r.not_0.cmp #17.| 00000510: 09 62 63 63 20 6E 6F 74 5F 31 36 09 09 3B 6F 76 |.bcc not_16..;ov| 00000520: 65 72 20 31 36 20 3F 2C 20 6E 6F 20 2D 3E 20 6E |er 16 ?, no -> n| 00000530: 6F 74 5F 31 36 0A 09 6C 64 61 20 23 31 36 0A 09 |ot_16..lda #16..| 00000540: 73 74 61 20 46 4E 4C 45 4E 0A 6E 6F 74 5F 31 36 |sta FNLEN.not_16| 00000550: 0A 09 72 74 73 0A 0A 3B 20 73 65 6E 64 20 6E 61 |..rts..; send na| 00000560: 6D 65 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |me -------------| 00000570: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0A 0A |--------------..| 00000580: 73 65 6E 64 5F 6E 61 6D 65 09 6C 64 79 20 23 30 |send_name.ldy #0| 00000590: 09 09 09 3B 73 65 6E 64 20 6E 61 6D 65 20 74 6F |...;send name to| 000005A0: 20 61 6D 69 67 61 0A 73 65 6E 64 5F 6C 6F 6F 70 | amiga.send_loop| 000005B0: 09 6C 64 61 20 28 46 4E 41 44 52 29 2C 79 0A 09 |.lda (FNADR),y..| 000005C0: 6A 73 72 20 70 75 74 5F 63 68 61 72 0A 09 69 6E |jsr put_char..in| 000005D0: 79 0A 09 63 70 79 20 46 4E 4C 45 4E 0A 09 62 6E |y..cpy FNLEN..bn| 000005E0: 65 20 73 65 6E 64 5F 6C 6F 6F 70 0A 09 6C 64 61 |e send_loop..lda| 000005F0: 20 23 33 32 0A 63 5F 73 5F 6E 61 6D 65 0A 09 63 | #32.c_s_name..c| 00000600: 70 79 20 23 31 36 0A 09 62 65 71 20 6E 61 6D 65 |py #16..beq name| 00000610: 5F 73 65 6E 74 0A 09 6A 73 72 20 70 75 74 5F 63 |_sent..jsr put_c| 00000620: 68 61 72 0A 09 69 6E 79 0A 09 6A 6D 70 20 63 5F |har..iny..jmp c_| 00000630: 73 5F 6E 61 6D 65 0A 6E 61 6D 65 5F 73 65 6E 74 |s_name.name_sent| 00000640: 0A 09 72 74 73 0A 0A 3B 20 73 61 76 65 20 6D 61 |..rts..; save ma| 00000650: 69 6E 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |in -------------| 00000660: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0A 0A |--------------..| 00000670: 73 61 76 65 5F 6D 61 69 6E 09 70 68 61 09 09 09 |save_main.pha...| 00000680: 3B 70 75 73 68 20 61 63 63 75 0A 09 6C 64 61 20 |;push accu..lda | 00000690: 46 41 09 09 09 3B 64 65 76 69 63 65 20 6E 75 6D |FA...;device num| 000006A0: 62 65 72 0A 09 63 6D 70 20 23 37 0A 09 62 65 71 |ber..cmp #7..beq| 000006B0: 20 73 5F 79 65 73 5F 37 09 09 3B 37 20 3F 2C 79 | s_yes_7..;7 ?,y| 000006C0: 65 73 20 2D 3E 20 73 5F 79 65 73 5F 37 0A 09 70 |es -> s_yes_7..p| 000006D0: 6C 61 0A 09 6A 6D 70 20 6F 72 67 5F 49 53 41 56 |la..jmp org_ISAV| 000006E0: 45 09 09 3B 6F 72 67 69 6E 61 6C 20 73 61 76 65 |E..;orginal save| 000006F0: 0A 0A 73 5F 79 65 73 5F 37 09 73 65 69 09 09 09 |..s_yes_7.sei...| 00000700: 3B 6E 6F 20 69 6E 74 65 72 72 75 70 74 73 0A 09 |;no interrupts..| 00000710: 6A 73 72 20 63 68 6B 5F 6E 61 6D 65 09 09 3B 63 |jsr chk_name..;c| 00000720: 68 65 63 6B 20 6E 61 6D 65 20 6C 65 6E 67 68 74 |heck name lenght| 00000730: 0A 09 6A 73 72 20 73 61 76 65 5F 6D 09 09 3B 70 |..jsr save_m..;p| 00000740: 72 69 6E 74 20 73 61 76 69 6E 67 20 27 6E 61 6D |rint saving 'nam| 00000750: 65 27 20 6D 65 73 73 61 67 65 0A 09 6A 73 72 20 |e' message..jsr | 00000760: 70 6F 72 74 5F 70 75 74 09 09 3B 70 6F 72 74 20 |port_put..;port | 00000770: 6F 75 74 70 75 74 0A 09 6C 64 61 20 23 53 41 56 |output..lda #SAV| 00000780: 45 5F 63 6F 64 65 09 09 3B 53 41 56 45 5F 63 6F |E_code..;SAVE_co| 00000790: 64 65 20 74 6F 20 61 6D 69 67 61 0A 09 6A 73 72 |de to amiga..jsr| 000007A0: 20 70 75 74 5F 63 68 61 72 0A 09 6A 73 72 20 73 | put_char..jsr s| 000007B0: 65 6E 64 5F 6E 61 6D 65 09 09 3B 73 65 6E 64 20 |end_name..;send | 000007C0: 6E 61 6D 65 20 74 6F 20 61 6D 69 67 61 0A 0A 09 |name to amiga...| 000007D0: 6C 64 61 20 34 33 09 09 09 3B 73 74 61 72 74 20 |lda 43...;start | 000007E0: 61 64 64 72 65 73 73 0A 09 73 74 61 20 61 64 64 |address..sta add| 000007F0: 72 0A 09 6C 64 61 20 34 34 0A 09 73 74 61 20 61 |r..lda 44..sta a| 00000800: 64 64 72 2B 31 0A 0A 09 73 65 63 09 09 09 3B 63 |ddr+1...sec...;c| 00000810: 61 6C 63 75 6C 61 74 65 20 6C 65 6E 67 68 74 0A |alculate lenght.| 00000820: 09 6C 64 61 20 34 35 0A 09 73 62 63 20 61 64 64 |.lda 45..sbc add| 00000830: 72 0A 09 73 74 61 20 6C 65 6E 0A 09 6C 64 61 20 |r..sta len..lda | 00000840: 34 36 0A 09 73 62 63 20 61 64 64 72 2B 31 0A 09 |46..sbc addr+1..| 00000850: 73 74 61 20 6C 65 6E 2B 31 0A 0A 09 6C 64 61 20 |sta len+1...lda | 00000860: 6C 65 6E 2B 31 09 09 09 3B 73 65 6E 64 20 6C 65 |len+1...;send le| 00000870: 6E 67 68 74 20 21 55 50 50 45 52 21 20 62 79 74 |nght !UPPER! byt| 00000880: 65 20 0A 09 6A 73 72 20 70 75 74 5F 63 68 61 72 |e ..jsr put_char| 00000890: 0A 09 6C 64 61 20 6C 65 6E 09 09 09 3B 73 65 6E |..lda len...;sen| 000008A0: 64 20 6C 65 6E 67 68 74 20 21 4C 4F 57 45 52 21 |d lenght !LOWER!| 000008B0: 20 62 79 74 65 0A 09 6A 73 72 20 70 75 74 5F 63 | byte..jsr put_c| 000008C0: 68 61 72 0A 0A 09 6C 64 61 20 61 64 64 72 09 09 |har...lda addr..| 000008D0: 09 3B 73 65 6E 64 20 61 64 64 72 65 73 73 0A 09 |.;send address..| 000008E0: 6A 73 72 20 70 75 74 5F 63 68 61 72 0A 09 6C 64 |jsr put_char..ld| 000008F0: 61 20 61 64 64 72 2B 31 0A 09 6A 73 72 20 70 75 |a addr+1..jsr pu| 00000900: 74 5F 63 68 61 72 0A 0A 09 6C 64 61 20 23 31 31 |t_char...lda #11| 00000910: 09 09 09 3B 62 6C 61 6E 63 6B 20 73 63 72 65 65 |...;blanck scree| 00000920: 6E 0A 09 73 74 61 20 35 33 32 36 35 0A 09 6C 64 |n..sta 53265..ld| 00000930: 61 20 23 24 33 36 09 09 09 3B 62 61 73 69 63 20 |a #$36...;basic | 00000940: 52 4F 4D 20 6F 66 66 0A 09 73 74 61 20 24 30 31 |ROM off..sta $01| 00000950: 0A 0A 09 6C 64 79 20 23 24 30 30 0A 73 61 76 65 |...ldy #$00.save| 00000960: 5F 6C 6F 6F 70 0A 09 6C 64 61 20 28 61 64 64 72 |_loop..lda (addr| 00000970: 29 2C 79 09 09 3B 67 65 74 20 63 68 61 72 20 66 |),y..;get char f| 00000980: 72 6F 6D 20 6D 65 6D 6F 72 79 0A 09 6A 73 72 20 |rom memory..jsr | 00000990: 70 75 74 5F 63 68 61 72 09 09 3B 73 65 6E 64 20 |put_char..;send | 000009A0: 69 74 20 74 6F 20 61 6D 69 67 61 0A 0A 09 69 6E |it to amiga...in| 000009B0: 63 20 24 64 30 32 30 0A 09 64 65 63 20 24 64 30 |c $d020..dec $d0| 000009C0: 32 30 0A 0A 09 69 6E 63 20 61 64 64 72 09 09 09 |20...inc addr...| 000009D0: 3B 69 6E 63 72 65 6D 65 6E 74 20 70 6F 69 6E 74 |;increment point| 000009E0: 65 72 20 6C 6F 77 65 72 20 62 79 74 65 0A 09 62 |er lower byte..b| 000009F0: 6E 65 20 73 5F 63 68 6B 5F 6C 65 6E 09 09 3B 6E |ne s_chk_len..;n| 00000A00: 75 6C 6C 20 3F 2C 20 6E 6F 20 2D 3E 20 73 5F 63 |ull ?, no -> s_c| 00000A10: 68 6B 5F 6C 65 6E 0A 09 69 6E 63 20 61 64 64 72 |hk_len..inc addr| 00000A20: 2B 31 09 09 3B 61 6E 64 20 75 70 70 65 72 20 62 |+1..;and upper b| 00000A30: 79 74 65 0A 73 5F 63 68 6B 5F 6C 65 6E 0A 09 6C |yte.s_chk_len..l| 00000A40: 64 61 20 61 64 64 72 2B 31 0A 09 63 6D 70 20 34 |da addr+1..cmp 4| 00000A50: 36 0A 09 62 6E 65 20 73 61 76 65 5F 6C 6F 6F 70 |6..bne save_loop| 00000A60: 0A 09 6C 64 61 20 61 64 64 72 0A 09 63 6D 70 20 |..lda addr..cmp | 00000A70: 34 35 0A 09 62 6E 65 20 73 61 76 65 5F 6C 6F 6F |45..bne save_loo| 00000A80: 70 0A 0A 09 6C 64 61 20 23 24 33 37 09 09 09 3B |p...lda #$37...;| 00000A90: 62 61 73 69 63 20 52 4F 4D 20 6F 6E 0A 09 73 74 |basic ROM on..st| 00000AA0: 61 20 24 30 31 0A 09 6C 64 61 20 23 32 37 09 09 |a $01..lda #27..| 00000AB0: 09 3B 73 63 72 65 65 6E 20 74 6F 20 6E 6F 72 6D |.;screen to norm| 00000AC0: 61 6C 0A 09 73 74 61 20 35 33 32 36 35 0A 0A 09 |al..sta 53265...| 00000AD0: 63 6C 69 0A 09 6A 6D 70 20 24 61 34 37 34 09 09 |cli..jmp $a474..| 00000AE0: 09 3B 62 61 63 6B 20 74 6F 20 62 61 73 69 63 0A |.;back to basic.| 00000AF0: 0A 3B 20 6C 6F 61 64 20 6D 61 69 6E 20 2D 2D 2D |.; load main ---| 00000B00: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------| 00000B10: 2D 2D 2D 2D 2D 2D 2D 2D 0A 0A 6C 6F 61 64 5F 6D |--------..load_m| 00000B20: 61 69 6E 09 70 68 61 09 09 09 3B 70 75 73 68 20 |ain.pha...;push | 00000B30: 61 63 63 75 0A 09 6C 64 61 20 46 41 09 09 09 3B |accu..lda FA...;| 00000B40: 67 65 74 20 64 65 76 69 63 65 20 6E 75 6D 62 65 |get device numbe| 00000B50: 72 0A 09 63 6D 70 20 23 37 0A 09 62 65 71 20 79 |r..cmp #7..beq y| 00000B60: 65 73 5F 37 09 09 09 3B 37 20 3F 2C 79 65 73 20 |es_7...;7 ?,yes | 00000B70: 2D 3E 20 79 65 73 5F 37 0A 09 70 6C 61 09 09 09 |-> yes_7..pla...| 00000B80: 3B 70 75 6C 6C 20 61 63 63 75 0A 09 6A 6D 70 20 |;pull accu..jmp | 00000B90: 6F 72 67 5F 49 4C 4F 41 44 09 09 3B 6E 6F 74 20 |org_ILOAD..;not | 00000BA0: 37 20 2D 3E 20 6F 72 67 69 6E 61 6C 20 6C 6F 61 |7 -> orginal loa| 00000BB0: 64 0A 0A 79 65 73 5F 37 09 6A 73 72 20 63 68 6B |d..yes_7.jsr chk| 00000BC0: 5F 6E 61 6D 65 09 09 3B 63 68 65 63 6B 20 6E 61 |_name..;check na| 00000BD0: 6D 65 20 6C 65 6E 67 68 74 0A 09 6C 64 79 20 23 |me lenght..ldy #| 00000BE0: 30 0A 09 6C 64 61 20 28 46 4E 41 44 52 29 2C 79 |0..lda (FNADR),y| 00000BF0: 09 09 3B 67 65 74 20 66 69 72 73 74 20 63 68 61 |..;get first cha| 00000C00: 72 20 6F 66 20 6E 61 6D 65 0A 09 63 6D 70 20 23 |r of name..cmp #| 00000C10: 33 36 09 09 09 3B 69 66 20 69 74 20 27 24 27 0A |36...;if it '$'.| 00000C20: 09 62 6E 65 20 6C 6F 61 64 09 09 09 3B 6E 6F 20 |.bne load...;no | 00000C30: 2D 3E 20 6C 6F 61 64 0A 09 6A 6D 70 20 6C 6F 61 |-> load..jmp loa| 00000C40: 64 5F 64 69 72 09 09 3B 79 65 73 20 2D 3E 20 6C |d_dir..;yes -> l| 00000C50: 6F 61 64 5F 64 69 72 0A 0A 3B 20 6C 6F 61 64 20 |oad_dir..; load | 00000C60: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------| 00000C70: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------| 00000C80: 0A 0A 6C 6F 61 64 09 73 65 69 09 09 09 3B 6E 6F |..load.sei...;no| 00000C90: 20 69 6E 74 65 72 72 75 70 74 73 0A 09 6A 73 72 | interrupts..jsr| 00000CA0: 20 70 6F 72 74 5F 70 75 74 09 09 3B 70 6F 72 74 | port_put..;port| 00000CB0: 20 6F 75 74 70 75 74 0A 09 6C 64 61 20 23 4C 4F | output..lda #LO| 00000CC0: 41 44 5F 63 6F 64 65 0A 09 6A 73 72 20 70 75 74 |AD_code..jsr put| 00000CD0: 5F 63 68 61 72 09 09 3B 73 65 6E 64 20 4C 4F 41 |_char..;send LOA| 00000CE0: 44 5F 63 6F 64 65 20 74 6F 20 61 6D 69 67 61 0A |D_code to amiga.| 00000CF0: 09 6A 73 72 20 73 65 6E 64 5F 6E 61 6D 65 09 09 |.jsr send_name..| 00000D00: 3B 73 65 6E 64 20 6E 61 6D 65 20 74 6F 20 61 6D |;send name to am| 00000D10: 69 67 61 0A 09 6A 73 72 20 73 65 61 72 63 5F 6D |iga..jsr searc_m| 00000D20: 09 09 3B 70 72 69 6E 74 20 73 65 61 72 63 68 69 |..;print searchi| 00000D30: 6E 67 20 66 6F 72 20 27 6E 61 6D 65 27 20 6D 65 |ng for 'name' me| 00000D40: 73 73 61 67 65 0A 09 6A 73 72 20 70 6F 72 74 5F |ssage..jsr port_| 00000D50: 67 65 74 09 09 3B 70 6F 72 74 20 69 6E 70 75 74 |get..;port input| 00000D60: 0A 09 6A 73 72 20 67 65 74 5F 63 68 61 72 09 09 |..jsr get_char..| 00000D70: 3B 67 65 74 20 6C 6F 77 65 72 20 6C 65 6E 67 68 |;get lower lengh| 00000D80: 74 0A 09 73 74 61 20 6C 65 6E 09 09 09 3B 73 74 |t..sta len...;st| 00000D90: 6F 72 65 20 69 74 0A 09 6A 73 72 20 67 65 74 5F |ore it..jsr get_| 00000DA0: 63 68 61 72 09 09 3B 67 65 74 20 75 70 70 65 72 |char..;get upper| 00000DB0: 20 6C 65 6E 67 68 74 0A 09 73 74 61 20 6C 65 6E | lenght..sta len| 00000DC0: 2B 31 09 09 09 3B 73 74 6F 72 65 20 69 74 0A 0A |+1...;store it..| 00000DD0: 09 6C 64 61 20 6C 65 6E 09 09 09 3B 63 68 65 63 |.lda len...;chec| 00000DE0: 6B 20 6C 65 6E 67 68 74 0A 09 62 6E 65 20 6C 65 |k lenght..bne le| 00000DF0: 6E 5F 6E 6F 74 5F 30 0A 09 6C 64 61 20 6C 65 6E |n_not_0..lda len| 00000E00: 2B 31 0A 09 62 6E 65 20 6C 65 6E 5F 6E 6F 74 5F |+1..bne len_not_| 00000E10: 30 09 09 3B 69 66 20 6E 6F 74 20 6E 75 6C 6C 20 |0..;if not null | 00000E20: 2D 3E 20 6C 65 6E 5F 6E 6F 74 5F 30 0A 0A 09 6C |-> len_not_0...l| 00000E30: 64 78 20 23 65 5F 66 6E 66 09 09 3B 65 72 72 6F |dx #e_fnf..;erro| 00000E40: 72 20 66 69 6C 65 20 6E 6F 74 20 66 6F 75 6E 64 |r file not found| 00000E50: 0A 09 63 6C 69 0A 09 6A 6D 70 20 28 49 45 52 52 |..cli..jmp (IERR| 00000E60: 4F 52 29 09 09 3B 70 72 69 6E 74 20 69 74 0A 6C |OR)..;print it.l| 00000E70: 65 6E 5F 6E 6F 74 5F 30 0A 09 6A 73 72 20 6C 6F |en_not_0..jsr lo| 00000E80: 61 64 5F 6D 09 09 3B 70 72 69 6E 74 20 6C 6F 61 |ad_m..;print loa| 00000E90: 64 69 6E 67 20 6D 65 73 73 61 67 65 0A 09 6A 73 |ding message..js| 00000EA0: 72 20 67 65 74 5F 63 68 61 72 09 09 3B 67 65 74 |r get_char..;get| 00000EB0: 20 6C 6F 77 65 72 20 61 64 64 72 65 73 73 0A 09 | lower address..| 00000EC0: 73 74 61 20 61 64 64 72 09 09 09 3B 73 74 6F 72 |sta addr...;stor| 00000ED0: 65 20 69 74 0A 09 6A 73 72 20 67 65 74 5F 63 68 |e it..jsr get_ch| 00000EE0: 61 72 09 09 3B 67 65 74 20 75 70 70 65 72 20 61 |ar..;get upper a| 00000EF0: 64 64 72 65 73 73 0A 09 73 74 61 20 61 64 64 72 |ddress..sta addr| 00000F00: 2B 31 09 09 3B 73 74 6F 72 65 20 69 74 0A 0A 09 |+1..;store it...| 00000F10: 63 6C 63 0A 09 6C 64 61 20 61 64 64 72 09 09 09 |clc..lda addr...| 00000F20: 3B 63 61 6C 63 75 6C 61 74 65 20 65 6E 64 20 61 |;calculate end a| 00000F30: 64 64 72 65 73 73 0A 09 61 64 63 20 6C 65 6E 0A |ddress..adc len.| 00000F40: 09 73 74 61 20 6C 65 6E 0A 09 6C 64 61 20 61 64 |.sta len..lda ad| 00000F50: 64 72 2B 31 0A 09 61 64 63 20 6C 65 6E 2B 31 0A |dr+1..adc len+1.| 00000F60: 09 73 74 61 20 6C 65 6E 2B 31 0A 0A 09 6C 64 61 |.sta len+1...lda| 00000F70: 20 23 31 31 09 09 09 3B 62 6C 61 6E 63 6B 20 73 | #11...;blanck s| 00000F80: 63 72 65 65 6E 0A 09 73 74 61 20 35 33 32 36 35 |creen..sta 53265| 00000F90: 0A 09 6C 64 79 20 23 24 30 30 0A 6C 6F 61 64 5F |..ldy #$00.load_| 00000FA0: 6C 6F 6F 70 0A 09 6A 73 72 20 67 65 74 5F 63 68 |loop..jsr get_ch| 00000FB0: 61 72 09 09 3B 67 65 74 20 63 68 61 72 20 66 72 |ar..;get char fr| 00000FC0: 6F 6D 20 61 6D 69 67 61 0A 09 73 74 61 20 28 61 |om amiga..sta (a| 00000FD0: 64 64 72 29 2C 79 09 09 3B 73 74 6F 72 65 20 69 |ddr),y..;store i| 00000FE0: 74 20 74 6F 20 6D 65 6D 6F 72 79 0A 0A 09 69 6E |t to memory...in| 00000FF0: 63 20 24 64 30 32 30 0A 09 64 65 63 20 24 64 30 |c $d020..dec $d0| 00001000: 32 30 0A 0A 09 69 6E 63 20 61 64 64 72 09 09 09 |20...inc addr...| 00001010: 3B 69 6E 63 72 65 6D 65 6E 74 20 6C 6F 77 65 72 |;increment lower| 00001020: 20 62 79 74 65 0A 09 62 6E 65 20 63 68 6B 5F 6C | byte..bne chk_l| 00001030: 65 6E 09 09 3B 6E 75 6C 6C 20 3F 2C 20 6E 6F 20 |en..;null ?, no | 00001040: 2D 3E 20 63 68 6B 5F 6C 65 6E 0A 09 69 6E 63 20 |-> chk_len..inc | 00001050: 61 64 64 72 2B 31 0A 63 68 6B 5F 6C 65 6E 0A 09 |addr+1.chk_len..| 00001060: 6C 64 61 20 61 64 64 72 2B 31 0A 09 63 6D 70 20 |lda addr+1..cmp | 00001070: 6C 65 6E 2B 31 0A 09 62 6E 65 20 6C 6F 61 64 5F |len+1..bne load_| 00001080: 6C 6F 6F 70 0A 09 6C 64 61 20 61 64 64 72 0A 09 |loop..lda addr..| 00001090: 63 6D 70 20 6C 65 6E 0A 09 62 6E 65 20 6C 6F 61 |cmp len..bne loa| 000010A0: 64 5F 6C 6F 6F 70 0A 0A 09 6C 64 61 20 23 32 37 |d_loop...lda #27| 000010B0: 09 09 09 3B 73 63 72 65 65 6E 20 74 6F 20 6E 6F |...;screen to no| 000010C0: 72 6D 61 6C 0A 09 73 74 61 20 35 33 32 36 35 0A |rmal..sta 53265.| 000010D0: 0A 09 6C 64 61 20 6C 65 6E 09 09 09 3B 65 6E 64 |..lda len...;end| 000010E0: 20 61 64 64 72 65 73 73 0A 09 73 74 61 20 34 35 | address..sta 45| 000010F0: 0A 09 6C 64 61 20 6C 65 6E 2B 31 0A 09 73 74 61 |..lda len+1..sta| 00001100: 20 34 36 0A 09 6A 73 72 20 34 32 32 39 31 0A 0A | 46..jsr 42291..| 00001110: 09 63 6C 69 0A 09 6A 6D 70 20 24 61 34 37 34 09 |.cli..jmp $a474.| 00001120: 09 09 3B 62 61 63 6B 20 74 6F 20 62 61 73 69 63 |..;back to basic| 00001130: 0A 0A 3B 20 70 6F 72 74 20 70 75 74 20 2D 2D 2D |..; port put ---| 00001140: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------| 00001150: 2D 2D 2D 2D 2D 2D 2D 2D 2D 0A 0A 70 6F 72 74 5F |---------..port_| 00001160: 70 75 74 09 6C 64 61 20 23 24 66 66 09 09 09 3B |put.lda #$ff...;| 00001170: 70 6F 72 74 20 6F 75 74 70 75 74 0A 09 73 74 61 |port output..sta| 00001180: 20 24 64 64 30 33 0A 09 6C 64 61 20 24 64 64 30 | $dd03..lda $dd0| 00001190: 64 0A 09 72 74 73 0A 0A 3B 20 70 6F 72 74 20 67 |d..rts..; port g| 000011A0: 65 74 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |et -------------| 000011B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0A |---------------.| 000011C0: 0A 70 6F 72 74 5F 67 65 74 09 6C 64 61 20 23 24 |.port_get.lda #$| 000011D0: 30 30 09 09 09 3B 70 6F 72 74 20 69 6E 70 75 74 |00...;port input| 000011E0: 0A 09 73 74 61 20 24 64 64 30 33 0A 09 72 74 73 |..sta $dd03..rts| 000011F0: 0A 0A 3B 20 69 6E 69 74 20 70 6F 72 74 20 2D 2D |..; init port --| 00001200: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------| 00001210: 2D 2D 2D 2D 2D 2D 2D 2D 2D 0A 0A 69 6E 69 74 5F |---------..init_| 00001220: 70 6F 72 74 09 6C 64 61 20 24 64 64 30 32 09 09 |port.lda $dd02..| 00001230: 09 3B 69 6E 69 74 20 70 6F 72 74 0A 09 6F 72 61 |.;init port..ora| 00001240: 20 23 24 30 34 0A 09 73 74 61 20 24 64 64 30 32 | #$04..sta $dd02| 00001250: 0A 09 6C 64 61 20 24 64 64 30 30 0A 09 61 6E 64 |..lda $dd00..and| 00001260: 20 23 24 66 62 0A 09 73 74 61 20 24 64 64 30 30 | #$fb..sta $dd00| 00001270: 0A 09 72 74 73 0A 0A 3B 70 75 74 20 63 68 61 72 |..rts..;put char| 00001280: 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D | ---------------| 00001290: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0A 0A |--------------..| 000012A0: 70 75 74 5F 63 68 61 72 09 73 74 61 20 24 64 64 |put_char.sta $dd| 000012B0: 30 31 09 09 09 3B 73 65 6E 64 20 63 68 61 72 0A |01...;send char.| 000012C0: 70 75 74 5F 77 61 69 74 09 6C 64 61 20 23 24 31 |put_wait.lda #$1| 000012D0: 30 0A 09 62 69 74 20 24 64 64 30 64 09 09 09 3B |0..bit $dd0d...;| 000012E0: 63 6C 65 61 72 20 74 6F 20 73 65 6E 64 20 6E 65 |clear to send ne| 000012F0: 78 74 20 63 68 61 72 20 3F 0A 09 62 65 71 20 70 |xt char ?..beq p| 00001300: 75 74 5F 77 61 69 74 0A 09 72 74 73 0A 0A 3B 20 |ut_wait..rts..; | 00001310: 67 65 74 20 63 68 61 72 20 2D 2D 2D 2D 2D 2D 2D |get char -------| 00001320: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------| 00001330: 2D 2D 2D 2D 2D 0A 0A 67 65 74 5F 63 68 61 72 09 |-----..get_char.| 00001340: 6C 64 61 20 23 24 31 30 0A 09 62 69 74 20 24 64 |lda #$10..bit $d| 00001350: 64 30 64 09 09 09 3B 77 61 69 74 20 66 6F 72 20 |d0d...;wait for | 00001360: 63 68 61 72 0A 09 62 65 71 20 67 65 74 5F 63 68 |char..beq get_ch| 00001370: 61 72 0A 09 6C 64 61 20 24 64 64 30 31 09 09 09 |ar..lda $dd01...| 00001380: 3B 67 65 74 20 69 74 0A 09 72 74 73 0A 0A 3B 20 |;get it..rts..; | 00001390: 6C 6F 61 64 20 64 69 72 20 2D 2D 2D 2D 2D 2D 2D |load dir -------| 000013A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------| 000013B0: 2D 2D 2D 2D 2D 0A 0A 6C 6F 61 64 5F 64 69 72 09 |-----..load_dir.| 000013C0: 6A 73 72 20 70 6F 72 74 5F 70 75 74 09 09 3B 70 |jsr port_put..;p| 000013D0: 6F 72 74 20 6F 75 74 70 75 74 0A 09 6C 64 61 20 |ort output..lda | 000013E0: 23 44 49 52 5F 63 6F 64 65 09 09 3B 64 69 72 65 |#DIR_code..;dire| 000013F0: 63 74 6F 72 79 20 63 6F 64 65 0A 09 6A 73 72 20 |ctory code..jsr | 00001400: 70 75 74 5F 63 68 61 72 0A 09 6A 73 72 20 70 6F |put_char..jsr po| 00001410: 72 74 5F 67 65 74 09 09 3B 70 6F 72 74 20 69 6E |rt_get..;port in| 00001420: 70 75 74 0A 64 69 72 5F 6C 6F 6F 70 09 6A 73 72 |put.dir_loop.jsr| 00001430: 20 67 65 74 5F 63 68 61 72 09 09 3B 67 65 74 20 | get_char..;get | 00001440: 63 68 61 72 0A 09 62 65 71 20 64 69 72 5F 65 6E |char..beq dir_en| 00001450: 64 09 09 3B 65 6E 64 20 3F 2C 20 79 65 73 20 2D |d..;end ?, yes -| 00001460: 3E 20 64 69 72 5F 65 6E 64 0A 09 6A 73 72 20 43 |> dir_end..jsr C| 00001470: 48 52 4F 55 54 09 09 3B 70 72 69 6E 74 20 69 74 |HROUT..;print it| 00001480: 0A 09 6A 6D 70 20 64 69 72 5F 6C 6F 6F 70 0A 64 |..jmp dir_loop.d| 00001490: 69 72 5F 65 6E 64 09 63 6C 69 0A 09 6A 6D 70 20 |ir_end.cli..jmp | 000014A0: 24 61 34 37 34 09 09 09 3B 62 61 63 6B 20 74 6F |$a474...;back to| 000014B0: 20 62 61 73 69 63 0A 0A 3B 20 64 61 74 61 20 2D | basic..; data -| 000014C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------| 000014D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0A |---------------.| 000014E0: 0A 6D 5F 63 72 09 64 62 09 27 4A 4B 2D 4E 45 54 |.m_cr.db.'JK-NET| 000014F0: 20 56 30 2E 36 20 28 43 29 20 49 4E 46 49 4E 49 | V0.6 (C) INFINI| 00001500: 54 59 20 31 39 39 33 2C 39 34 27 2C 31 33 2C 30 |TY 1993,94',13,0| 00001510: 0A 09 64 62 09 30 0A 1A 1A 1A 1A 1A 1A 1A 1A 1A |..db.0..........| 00001520: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A |................| 00001530: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A |................| 00001540: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A |................| 00001550: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A |................| 00001560: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A |................| 00001570: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A |................|
.;JK-NET V0.6..;COPYRIGHT BY INFINITY 19 93,94...FNLEN.EQU.$B7..;FILE NAME LENGHT .FA.EQU.$BA..;DEVICE NUMBER.FNADR.EQU.$B B..;NAME ADDRESS..IERROR.EQU.$0300..;ERR OR.ILOAD.EQU.$0330..;LOAD.ISAVE.EQU.$033 2..;SAVE..CHKIN.EQU.$FFC6..;OPEN FOR INP UT.CHKOUT.EQU.$FFC9..;OPEN FOR OUTPUT .C HRIN.EQU.$FFCF..;GET CHAR FROM INPUT.CHR OUT.EQU.$FFD2..;PUT CHAR TO OUTPUT..ORG_ ILOAD.EQU.$F4A5..;ORGINAL LOAD.ORG_ISAVE .EQU.$F5ED..;ORGINAL SAVE..SEARC_M.EQU.$ F5AF..;PRINT SEARCHING FOR 'NAME' MESSAG E.LOAD_M.EQU.$F5D2..;PRINT LOADING MESSA GE.SAVE_M.EQU.$F68F..;PRINT SAVING 'NAME ' MESSAGE.PRINT_STR.EQU.$AB1E..;PRINT ST RING ENDING NULL..E_FNF.EQU.$04..;FILE N OT FOUND.E_MFN.EQU.$08..;MISSING FILE NA ME..ADDR.EQU.$FC..;START ADDRESS.LEN.EQU .$FE..;LENGHT AND END ADDRESS..LOAD_CODE .EQU.$01.SAVE_CODE.EQU.$02.DIR_CODE.EQU. $03.QUIT_CODE.EQU.$04....*.EQU.52780..; MAIN --------------------------------... LDA #<LOAD_MAIN..;INSTALL JK-NET..STA IL OAD..LDA #>LOAD_MAIN..STA ILOAD+1..LDA # <SAVE_MAIN..STA ISAVE..LDA #>SAVE_MAIN.. STA ISAVE+1...JSR INIT_PORT..;INIT_PORT. ..LDA #<M_CR..LDY #>M_CR..JMP PRINT_STR. .;PRINT COPYRIGHT..; CHK NAME ---------- ------------------..CHK_NAME.LDA FNLEN.. .;CHECK FILE NAME LENGHT..BNE NOT_0...;N ULL ?,NO -> NOT_0..PLA..PLA..LDX #E_MFN. .;MISSIGN FILE NAME..JMP (IERROR)..;ERRO R.NOT_0.CMP #17..BCC NOT_16..;OVER 16 ?, NO -> NOT_16..LDA #16..STA FNLEN.NOT_16 ..RTS..; SEND NAME --------------------- ------..SEND_NAME.LDY #0...;SEND NAME TO AMIGA.SEND_LOOP.LDA (FNADR),Y..JSR PUT_ CHAR..INY..CPY FNLEN..BNE SEND_LOOP..LDA #32.C_S_NAME..CPY #16..BEQ NAME_SENT..J SR PUT_CHAR..INY..JMP C_S_NAME.NAME_SENT ..RTS..; SAVE MAIN --------------------- ------..SAVE_MAIN.PHA...;PUSH ACCU..LDA FA...;DEVICE NUMBER..CMP #7..BEQ S_YES_7 ..;7 ?,YES -> S_YES_7..PLA..JMP ORG_ISAV E..;ORGINAL SAVE..S_YES_7.SEI...;NO INTE RRUPTS..JSR CHK_NAME..;CHECK NAME LENGHT ..JSR SAVE_M..;PRINT SAVING 'NAME' MESSA GE..JSR PORT_PUT..;PORT OUTPUT..LDA #SAV E_CODE..;SAVE_CODE TO AMIGA..JSR PUT_CHA R..JSR SEND_NAME..;SEND NAME TO AMIGA... LDA 43...;START ADDRESS..STA ADDR..LDA 4 4..STA ADDR+1...SEC...;CALCULATE LENGHT. .LDA 45..SBC ADDR..STA LEN..LDA 46..SBC ADDR+1..STA LEN+1...LDA LEN+1...;SEND LE NGHT !UPPER! BYTE ..JSR PUT_CHAR..LDA LE N...;SEND LENGHT !LOWER! BYTE..JSR PUT_C HAR...LDA ADDR...;SEND ADDRESS..JSR PUT_ CHAR..LDA ADDR+1..JSR PUT_CHAR...LDA #11 ...;BLANCK SCREEN..STA 53265..LDA #$36.. .;BASIC ROM OFF..STA $01...LDY #$00.SAVE _LOOP..LDA (ADDR),Y..;GET CHAR FROM MEMO RY..JSR PUT_CHAR..;SEND IT TO AMIGA...IN C $D020..DEC $D020...INC ADDR...;INCREME NT POINTER LOWER BYTE..BNE S_CHK_LEN..;N ULL ?, NO -> S_CHK_LEN..INC ADDR+1..;AND UPPER BYTE.S_CHK_LEN..LDA ADDR+1..CMP 4 6..BNE SAVE_LOOP..LDA ADDR..CMP 45..BNE SAVE_LOOP...LDA #$37...;BASIC ROM ON..ST A $01..LDA #27...;SCREEN TO NORMAL..STA 53265...CLI..JMP $A474...;BACK TO BASIC. .; LOAD MAIN --------------------------- ..LOAD_MAIN.PHA...;PUSH ACCU..LDA FA...; GET DEVICE NUMBER..CMP #7..BEQ YES_7...; 7 ?,YES -> YES_7..PLA...;PULL ACCU..JMP ORG_ILOAD..;NOT 7 -> ORGINAL LOAD..YES_7 .JSR CHK_NAME..;CHECK NAME LENGHT..LDY # 0..LDA (FNADR),Y..;GET FIRST CHAR OF NAM E..CMP #36...;IF IT '$'..BNE LOAD...;NO -> LOAD..JMP LOAD_DIR..;YES -> LOAD_DIR. .; LOAD -------------------------------- ..LOAD.SEI...;NO INTERRUPTS..JSR PORT_PU T..;PORT OUTPUT..LDA #LOAD_CODE..JSR PUT _CHAR..;SEND LOAD_CODE TO AMIGA..JSR SEN D_NAME..;SEND NAME TO AMIGA..JSR SEARC_M ..;PRINT SEARCHING FOR 'NAME' MESSAGE..J SR PORT_GET..;PORT INPUT..JSR GET_CHAR.. ;GET LOWER LENGHT..STA LEN...;STORE IT.. JSR GET_CHAR..;GET UPPER LENGHT..STA LEN +1...;STORE IT...LDA LEN...;CHECK LENGHT ..BNE LEN_NOT_0..LDA LEN+1..BNE LEN_NOT_ 0..;IF NOT NULL -> LEN_NOT_0...LDX #E_FN F..;ERROR FILE NOT FOUND..CLI..JMP (IERR OR)..;PRINT IT.LEN_NOT_0..JSR LOAD_M..;P RINT LOADING MESSAGE..JSR GET_CHAR..;GET LOWER ADDRESS..STA ADDR...;STORE IT..JS R GET_CHAR..;GET UPPER ADDRESS..STA ADDR +1..;STORE IT...CLC..LDA ADDR...;CALCULA TE END ADDRESS..ADC LEN..STA LEN..LDA AD DR+1..ADC LEN+1..STA LEN+1...LDA #11...; BLANCK SCREEN..STA 53265..LDY #$00.LOAD_ LOOP..JSR GET_CHAR..;GET CHAR FROM AMIGA ..STA (ADDR),Y..;STORE IT TO MEMORY...IN C $D020..DEC $D020...INC ADDR...;INCREME NT LOWER BYTE..BNE CHK_LEN..;NULL ?, NO -> CHK_LEN..INC ADDR+1.CHK_LEN..LDA ADDR +1..CMP LEN+1..BNE LOAD_LOOP..LDA ADDR.. CMP LEN..BNE LOAD_LOOP...LDA #27...;SCRE EN TO NORMAL..STA 53265...LDA LEN...;END ADDRESS..STA 45..LDA LEN+1..STA 46..JSR 42291...CLI..JMP $A474...;BACK TO BASIC ..; PORT PUT --------------------------- -..PORT_PUT.LDA #$FF...;PORT OUTPUT..STA $DD03..LDA $DD0D..RTS..; PORT GET ----- -----------------------..PORT_GET.LDA #$ 00...;PORT INPUT..STA $DD03..RTS..; INIT PORT ---------------------------..INIT_ PORT.LDA $DD02...;INIT PORT..ORA #$04..S TA $DD02..LDA $DD00..AND #$FB..STA $DD00 ..RTS..;PUT CHAR ----------------------- ------..PUT_CHAR.STA $DD01...;SEND CHAR. PUT_WAIT.LDA #$10..BIT $DD0D...;CLEAR TO SEND NEXT CHAR ?..BEQ PUT_WAIT..RTS..; GET CHAR ----------------------------..G ET_CHAR.LDA #$10..BIT $DD0D...;WAIT FOR CHAR..BEQ GET_CHAR..LDA $DD01...;GET IT. .RTS..; LOAD DIR ----------------------- -----..LOAD_DIR.JSR PORT_PUT..;PORT OUTP UT..LDA #DIR_CODE..;DIRECTORY CODE..JSR PUT_CHAR..JSR PORT_GET..;PORT INPUT.DIR_ LOOP.JSR GET_CHAR..;GET CHAR..BEQ DIR_EN D..;END ?, YES -> DIR_END..JSR CHROUT..; PRINT IT..JMP DIR_LOOP.DIR_END.CLI..JMP $A474...;BACK TO BASIC..; DATA --------- -----------------------..M_CR.DB.'JK-NET V0.6 (C) INFINITY 1993,94',13,0..DB.0.. ........................................ ........................................ ........................
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL