rem Before we get any information, We need to define the legal"
rem keys. Define them like so: legal1 one value lower then
rem the lowest ASCII character allowed. legal2 one value higher then the
one
rem want set as the highest allowable character.
main_start:
exitsys=1
while exitsys=1
gosub credits:
gosub main_menu:
legal1=64
legal2=70
gosub key_view:
if chose$="A" then
gosub cmos_copy:
endif
if chose$="B" then
gosub cmos_res:
endif
if chose$="C" then
gosub cmos_del:
endif
if chose$="D" then
gosub view_cmos:
gosub any_key:
endif
if chose$="E" then
exitsys=0
endif
wend
beep
gosub credits:
print"This program is distributed under the ShareWare concept."
print"If you use this program for more then 7 days, you are"
print"required to register. Please view CMOSCON.DOC for"
print"more information. This Program is not free software -"
print"Registration is required for continued use!"
beep
end
credits:
cls
print"CMOSCON - CMOS Data Deletion/Recovery Utility - Version 1.0"
print"Copyright 1997 by Dustin Cook. All Rights Reserved!"
print""
return
main_menu:
print"MAIN MENU:"
print""
print"[A] - Copy the CMOS information to a file"
print"[b] - Restore the CMOS information from a file"
print"[C] - Erase the information currently contained in the CMOS"
print"[D] - View the CMOS information as it currently is in memory"
print"[E] - Exit this program and return to your operating system"
print""
return
key_view:
print"Please select your choice by entering the corresponding letter shown"
print"in [], At the following prompt:";
exitflag=0
while exitflag=0
a$=inkey$
a$=ucase$(a$)
a=asc(a$)
if a>legal1 then
if a<legal2 then
exitflag=1
chose$=a$
endif
endif
wend
return
view_cmos:
print""
print""
print"CMOS contents listed below:"
print" "
for i=0 to 127
out &hex70,i
a=inp(&hex71)
a$=chr$(a)
if a$="" then
print " ";
else
print a$;
endif
next i
print""
return
any_key:
print""
print"Pressing ENTER now will return you to the Main Menu"
exitflag=0
while exitflag=0
a$=inkey$
a=asc(a$)
if a=13 then
exitflag=1
endif
wend
return
warning:
print""
print"[A] Yes - I want to continue and modify or erase my CMOS."
print"[b] No - I have changed my mind, I do not want to modify my CMOS."
print""
legal1=64
legal2=67
gosub key_view:
print""
return
cmos_del:
gosub credits:
print"WARNING: You are about to erase the contents of your CMOS memory."
print"doing so will cause your computer to forget about some or all"
print"of the hardware inside it. Such as, Your Hard Disk(s), Floppy Drives"
print"BIOS password(s) and various other setup information."
print""
print"If you have not copied your CMOS information to floppy disk, It is"
print"strongly recommended that you do so *BEFORE* erasing it. Should you"
print"decide you did not want the CMOS erased, you can Restore it from the"
print"file you previously created."
print""
gosub warning:
if chose$="A" then
rem Ok, proceed to erase the CMOS via this little routine:
for i=0 to 255
out &hex70,i
out &hex71,0
next i
print"The information contained in the CMOS has been erased."
endif
gosub any_key:
return
cmos_copy:
gosub credits:
print""
print"CMOS COPY:"
print""
print"Please enter the location and the filename for the CMOS information"
print"to be copied into. For example, to copy the information contained in"
print"the CMOS to a floppy disk (we are using drive A: as an example) with"
print"the filename of CMOS.BAK, Type the following: A:\CMOS.BAK and press"
print"your enter or return key at the prompt below."
print""
print">";
input temp$;
open"o",1,temp$
for i=0 to 127
out &hex70,i
a=inp(&hex71)
a$=chr$(a)
if a$="" then
print #1,a$
else
print #1,a$ NONULL
endif
next i
close 1
if error=0 then
print"The CMOS information has been copied as ";
print temp$;
print""
else
print"There was an error saving the CMOS information."
print"It is not recommended that you restore from this CMOS copy."
gosub any_key:
return
cmos_res:
gosub credits:
print""
print"CMOS RESTORE:"
print""
print"WARNING: You should only restore the CMOS information that was
previously"
print"created for this computer. Restoring the CMOS information from
another"
print"computer may corrupt the CMOS information for this one, Resulting in"
print"hardware mis-configuration and possibly being locked out of your
computer"
gosub warning:
if chose$="A" then
print""
print"Please enter the location and name of the file where you have
previously"
print"copied the CMOS information at the prompt shown below."
print""
print">";
input temp$;
open"i",1,temp$
for i=0 to 127
input #1,a$ BYTE
a=asc(a$)
out &hex70,i
out &hex71,a
next i
close 1
if error=0 then
print"CMOS information has been restored."
else
print"There was an error in reading the saved CMOS information."
endif
gosub any_key:
endif
endif
return
It's a cmos configuration/backup restoration, live deletion program written
entirely in Asic, from the same era as the source code 4Q thought was my
"bestest work". 
Enjoy.
John, This is also a published application that was offered on zdnet. you
can still find it on simtel.net. It won 4 out of 5 stars. 
--
Regards,
Dustin Cook - http://bughunter.it-mate.co.uk
BugHunter v2.2e AntiMalware Removal Utility