;--------------->Plasma<------------------ ;Version 1.0 ; ;The source code to Plasma is freely available. ;(This includes plasma.asm, gui.asm and load.asm. [It does not include ;ionlibs.asm this code was written by Joe Wingbermuehle and ;used with permission. If you would like to use it in your code ;you must contact Joe Wingbermuehle ;and get his permission.]) ;The source must be packaged with the compiled binaries. ;Any one can modify, recompile, then distribute the source code. ;The source must be released on the modified version and must ;carry this copy right at the top of the source files. ;Before releasing the program a ;e-mails explaining what kind of program the code was used for ;should be sent to the following people: ;Joe Flint ;Brandon Engelberth ;This is so we know if the code is ever actualy used. If you optimize ;or fix a bug it would be very much appreciated if you would email ;it to the above people. This way they can be included in the official ;releases of Plasma. ;Authors: ;Joe Flint - GUI ;JoeFlint@calc.org ; ;Brandon Engelberth - CORE, LOADER ;reddwarf_lester@yahoo.com ; ;Enjoy! .nolist ;\ #include "ion.inc" ; \ .list ; \ .org progstart-2; | Standard Ion R: .db $BB,$6D ; / Program Header _flashtoram = $5017 _delmem = $4357 _enoughmem = $42fd ram_loader = plotsscreen start: ld hl,Loader-R+progstart-2 ld de,ram_loader ld bc,loader_end-loader ldir ld hl,shell_name bcall(_mov9toop1) bcall(_chkfindsym) ret c ld a,b or a ret z ld hl,16 add hl,de push hl push af ld de,appbackupscreen ld bc,2 bcall(_flashtoram) ld hl,appbackupscreen ld c,(hl) inc hl ld b,(hl) call insert_memory pop af pop hl inc hl \ inc hl ld de,progstart-2 jp ram_loader insert_memory: push bc pop hl push bc bcall(_enoughmem) jr c,NotEnoughMem ex de,hl ld de,r_end-r xor a sbc hl,de ld de,r_end bcall(_insertmem) pop bc ret NotEnoughMem: pop hl pop hl ret Loader: bcall(_flashtoram) ld hl,exit push hl jp progstart Loader_end: exit: ;clean stuff up ld de,r_end-r sbc hl,de ex de,hl ld hl,r_end bcall(_delmem) ret Shell_Name: .db 6,"PLASMA",0 R_ENd: prog_end: .end end