#include "asm86.h" #include "ti86asm.inc" _jforce equ $409C _exec_basic equ $4C57 .org _asm_exec_ram ;---------------------------------Identification Junk------------ nop jp ASMstart .dw $0000 .dw Descript ;----------------------------------------------------------------- ASMstart: call _runindicoff call _clrScrn ld hl,$0101 ld (_penCol),hl ld hl,TitleStr call _vputs ld a,$5C ld (_penCol),a ld hl,Present call _vputs ld hl,$FC10 call Invert DispNcheck: ld hl,$0902 ld (_penCol),hl ld hl,AShell call _vputs ld a,$6E ld (_penCol),a ld hl,AShellVAT rst 20h rst 10h call nc,SetYes call c,SetNo call _vputs ld hl,$1102 ld (_penCol),hl ld hl,ASE call _vputs ld a,$6E ld (_penCol),a ld hl,ASEVAT rst 20h rst 10h call nc,SetYes call c,SetNo call _vputs ld hl,$1902 ld (_penCol),hl ld hl,Aurora call _vputs ld a,$6E ld (_penCol),a ld hl,AuroraVAT rst 20h rst 10h call nc,SetYes call c,SetNo call _vputs ld hl,$2102 ld (_penCol),hl ld hl,Byron call _vputs ld a,$6E ld (_penCol),a ld hl,ByronVAT rst 20h rst 10h call nc,SetYes call c,SetNo call _vputs ld hl,$2902 ld (_penCol),hl ld hl,Iridus call _vputs ld a,$6E ld (_penCol),a ld hl,IridusVAT rst 20h rst 10h call nc,SetYes call c,SetNo call _vputs ld hl,$3102 ld (_penCol),hl ld hl,MiniShell call _vputs ld a,$6E ld (_penCol),a ld hl,MiniVAT rst 20h rst 10h call nc,SetYes call c,SetNo call _vputs ld hl,$3902 ld (_penCol),hl ld hl,MicroShell call _vputs ld a,$6E ld (_penCol),a ld hl,MicroVAT rst 20h rst 10h call nc,SetYes call c,SetNo call _vputs Setup: ld hl,$01 ld (Pos),hl call MakeNew GetKey: call _getkey cp kExit jp z,Exit cp kUp call z,MoveUp cp kDown call z,MoveDown cp kEnter jp z,ExecShell jp GetKey ExecShell: ld hl,Pos ld a,(hl) cp $01 jp z,ExecAShell cp $02 jp z,ExecASE cp $03 jp z,ExecAurora cp $04 jp z,ExecByron cp $05 jp z,ExecIridus cp $06 jp z,ExecMini cp $07 jp z,ExecMicro ExecAShell: ld hl,AShellVAT rst 20h rst 10h jp c,GetKey ld hl,AShellBVAT rst 20h rst 10h jp c,GetKey call _exec_basic xor a jp ASMstart ExecASE: ld hl,ASEVAT rst 20h rst 10h jp c,GetKey ld hl,ASEBVAT rst 20h rst 10h jp c,GetKey call _exec_basic xor a jp ASMstart ExecAurora: ld hl,AuroraBVAT rst 20h rst 10h jp c,GetKey call _exec_basic xor a jp ASMstart ExecByron: ld hl,ByronVAT rst 20h rst 10h jp c,GetKey call _exec_assembly xor a jp ASMstart ExecIridus: ld hl,IridusBVAT rst 20h rst 10h jp c,GetKey call _exec_basic xor a jp ASMstart ExecMini: ld hl,MiniVAT rst 20h rst 10h jp c,GetKey call _exec_assembly xor a jp ASMstart ExecMicro: ld hl,MicroVAT rst 20h rst 10h jp c,GetKey call _exec_assembly xor a jp ASMstart MoveUp: call DelOld ;take out the old bar ld hl,Pos ;get the old pos dec (hl) ;down one ld a,$00 ;used to see if its at the top cp (hl) ; the check call z,JumpDown ;where to go if it is at the top call MakeNew ;draw a new bar xor a ret MoveDown: call DelOld ld hl,Pos inc (hl) ld a,$08 cp (hl) call z,JumpUp call MakeNew xor a ret JumpUp: ld hl,Pos ;check position pointer ld (hl),$01 ;put it back at the top ret JumpDown: ld hl,Pos ld (hl),$07 ret MakeNew: ld a,(Pos) ;load the position 1-7 ld h,a ;into h ld l,$80 ; call MUL_HL ;Position*80=New Position ld de,$FC10 ;add offset add hl,de call Invert ;draw the bar ret DelOld: ld a,(Pos) ld h,a ld l,$80 call MUL_HL ld de,$FC10 add hl,de call Invert ret Invert: ld bc,112 InvertLoop: ld a,(hl) cpl ld (hl),a inc hl dec bc ld a,b or c jr nz,InvertLoop ret SetNo: ld hl,No ret SetYes: ld hl,Yes ret Exit: jp _clrScrn Descript: .db "Shell Launcher v.1",0 TitleStr: .db "Launch Pad v.1",0 Present: .db "Detected?",0 Yes: .db "YES",0 No: .db "NO",0 ;---------Shell Descriptions---------- AShell: .db "AShell by Bill Nagel",0 ASE: .db "ASE by Bill Nagel",0 Aurora: .db "Aurora by Bill Nagel",0 Byron: .db "Byronic Shell by Kirk Meyer",0 Iridus: .db "Iridus Shell by Alan Bailey",0 MiniShell: .db "Mini-Shell by Chicane",0 MicroShell: .db "Micro Shell by In FuZeD",0 ;--------VAT Entries--------- AShellVAT: .db $12,$06,"ashell",0 AShellBVAT: .db $12,$06,"AShell",0 ASEVAT: .db $12,$03,"ase",0 ASEBVAT: .db $12,$06,"AShell",0 AuroraVAT: .db $12,$08,"ZAURASYS",0 AuroraBVAT: .db $12,$06,"Aurora",0 ByronVAT: .db $12,$05,"byron",0 IridusVAT: .db $12,$05,"shell",0 IridusBVAT: .db $12,$06,"Iridus",0 MiniVAT: .db $12,$08,"minishel",0 MicroVAT: .db $12,$08,"mcroshel",0 ;------Vars------- Pos: .db 0 .end