;************************************************************************* ; ; File: EinSys_boot.txt ; ; EINSYS - This code is entered by hand via the Einstein MOS and as such ; should be as short as pos. The size of the utility program to be ; transferred, which can't call DOS, is currently fixed (this could be ; be changed to be the first two bytes transferred if necessary). ; ; ;************************************************************************* CPU Z80 EINSYS_ADDR EQU $0100 ; address where program will be download EINSYS_EXEC EQU $0100 ; entry address of program EINSYS_SIZE EQU $0800 ; size of program ORG $1000 MAIN LD A,%00100111 OUT ($11),A !reset IN A,($10) IN A,($11) BIT 1,A JR NZ,!reset LD A,%00000111 OUT ($11),A ; read bytes from PC LD HL,EINSYS_ADDR LD DE,EINSYS_SIZE !loop LD A,%00100111 OUT ($11),A !get IN A,($11) BIT 1,A JR Z,!get IN A,($10) LD (HL),A LD A,%00000111 OUT ($11),A INC HL DEC DE LD A,E OR A,D JR NZ,!loop ; start EINSYS proper JP EINSYS_EXEC MAIN_END INF "Main runs from ",MAIN, "-",MAIN_END MEMSAVE "EinSys.bin",MAIN,MAIN_END ; end of file