Re: A86: Re: shell.asm


[Prev][Next][Index][Thread]

Re: A86: Re: shell.asm




57 bytes.
this one doesn't clear menus from the screen
a is always 0 when a program starts.  as for on return, i'm not sure if
it'll get set to zero before it matters or not, so maybe 58 bytes.

one more note, i couldn't get this or ben mickle's to work (i keep
getting a syntax error) and, seeing as i have juno, i couldn't get the
original.  this should work if ben's does.

; shell (for lack of a better name)
; by David Phillips <david@acz.org>
; http://www.acz.org/

#include "ti86asm.inc"

.org _asm_exec_ram

Top:
 ld hl,StartingName
 rst 20h

Down:                           ;a is already zero (usually guaranteed)
 call _FindAlphaUp
 
DisplayProgram:
 call _clrWindow                ;also resets to homeup
 ld hl,_OP1+2
 call _puts
 call _newline

MainLoop:
 call _getkey
 sub kUp
 jr z,Up
 dec a		;kDown
 jr z,Down
 sub kExit-kDown
 ret z
 inc a
 jr nz,MainLoop

RunProgram:
 rst 10h
 call _check_asm		;this will count edit locked
 push af			;basic progs as asm
 call z,_exec_assembly
 pop af
 call nz,_exec_basic
 jr Top

Up:				;a is already zero
 call _FindAlphaDn
 jr DisplayProgram
 
StartingName:
 .db $12,1,0

.end

-josh

On Fri, 12 Mar 1999 14:21:31 -0800 (PST) Ben Mickle <bmickle@yahoo.com>
writes:
>
>> 61 bytes :)
>> 
>> ---David Phillips <david@acz.org> wrote:
>> >
>> > Hehe, Dux did it.  64 bytes...anything else?
>> > 
>> > >I'm new at this shell stuff.  Can it be smaller than 68 bytes? 
>It runs
>> > both
>> > >basic and asm programs.  When running programs and when exiting,
>the cursor
>> > >starts on the second line (like they ran the program from the
>home screen).
>> > 

___________________________________________________________________
You don't need to buy Internet access to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com/getjuno.html
or call Juno at (800) 654-JUNO [654-5866]