home *** CD-ROM | disk | FTP | other *** search
- /*
- ** $VER: BootGauge 0.9 (20 Apr 1996) **
- **
- ** © 1995/1996 Timo C. Nentwig
- ** all rights reserved !
- **
- ** Tcn@techbase.in-berlin.de
- **
- ** ======================================
- **
- **
- ** Language:
- ** ¯¯¯¯¯¯¯¯
- **
- ** Program is compiled by SAS/C
- **
- **
- ** Purpose:
- ** ¯¯¯¯¯¯¯
- **
- ** Display gauge bar during booting
- **
- **
- ** Requirements:
- ** ¯¯¯¯¯¯¯¯¯¯¯¯
- **
- ** · AmigaOS 2+
- ** · gtlayout.library
- **
-
- mod_Gauge's quit gadget doch GLOBAL, SIG_KILL an Main_proc schicken !
- IDCMP_DISKREMOVE scheint nicht beachted zu werden ...
- Req() funktioniert scheinbar nicht mit "%s" ... siehe failed commands
- split into program and bootgauge.library
- #define BOLD \33[1m etc.
- Use Req() also instead of printf()
-
- ///" Bugs"
- **
- ** Bugs:
- ** ¯¯¯¯
- **
- ** · Pictures (BitPlanes ?) sehen falsch aus. [weber]
- ** · Palette der Pics -> Scr's palette
- **
- ** · scheinbar kann man per CLOSEWINDOW das Module nicht brauchbar abschießen
- ** ein Module kann ich nicht selbst abschießen ... ?!?!
- **
- **
- ///
- ///" ToDo"
- **
- ** ToDo:
- ** ¯¯¯¯
- **
- ** · log file/verbose ?
- ** · if block handling
- ** · Die scheiß Gauge bar muß doch irgendwie auf 100% (nicht 101 und nicht 99) zu bringen sein
- **
- ** · /rkm/devices/audio/audio_8svx.c
- ** · Patches/Patch_Libs aus /Yak211/*.(c|h)
- **
- **
- ** -- -- Maybe: -- --
- **
- ** |· Farben selbt einstellbar (nicht aus der Palette, sondern selbt einstellbar !!): SetRGB32( &(BG_scr -> ViewPort), 0, r, g, b);
- ** |· Farben aus File lesbar: GetRGB32() or LoadRGB32()
- **
- ///
- ///" Notes"
- **
- ** Notes:
- ** ¯¯¯¯¯
- **
- ** · TABs = 4
- ** · requires IEEE math library
- ** · Uses the MagicWB colors
- **
- ** Program has been testet with: · AmigaGuardian
- ** ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ · memwatch.lib (SAS/C link library)
- ** · OS3.1 only !
- **
- ///
- ** --------------------------------------
- **
- ** History:
- ** ¯¯¯¯¯¯¯
- **
- /// " 0.1"
- **
- ** >>>>>>>>>>> V0.1
- ** ¯¯¯¯
- ** 15 Sep 1995 first runable version
- **
- ///
- /// " 0.2"
- **
- ** >>>>>>>>>>> V0.2
- ** ¯¯¯¯
- ** 17 Sep 1995 add: background image
- ** add: -gc/-gaugecolor
- ** add: background pattern
- ** add: -sc/-screencolor
- ** add: -nosr/-noscreenraster
- ** add: -test
- ** cng: background image
- ** add: -cv/-viewcommand
- ** add: FAILED_OPENSEQ
- **
- ///
- /// " 0.3"
- **
- ** >>>>>>>>>>> V0.3
- ** ¯¯¯¯
- ** 20 Okt 1995 add: check: skip, failat, path
- ** cng: set "BootGauge ..." before everything in titlebar
- ** add: if/endif handling
- ** cng: image handling: now using little img and put it a grid
- ** add: window's x/y size is configureable
- ** add: IText and gauge bar adapts automatically to window's size
- ** add: gauge bar scale
- ** add: -nopat/-nopattern
- ** add: -wc/-windowcolor
- ** add: -nosl/-noscale
- ** add: -gbc/-gaugebackcolor
- ** add: subprg: -getid/-getmodeid
- ** fix: check if BG_win is too large for BG_scr
- ** add: c = tolower(c);
- ** fix: if handling now correct
- ** fix: cmd handling now correct (skip/notitle, failat ...)
- ** add: skip/lab handling
- ** cng: BootGauge -> BG (prg-intern)
- ** cng: image
- ** cng: palette, using now 32bit palette (SA_Colors32)
- ** add: -nodb/-nodebug
- ** cng: -no* int -> BOOL
- **
- ** 01 Nov 1995 add: -emod/-ecsmode
- ** add: NO_COMMENT
- **
- ** >>>>>>>>>>> Initial Release (AmiNet)
- ** ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
- **
- ///
- /// " 0.4"
- **
- ** >>>>>>>>>>> V0.4
- ** ¯¯¯¯
- ** 11 Nov 1995 cng: requester(str, var); (var argument)
- ** fix: no esc signs in the titlebar anymore
- ** cng: remove comments from titlebar string
- ** add: -btxt/-boottext
- ** add: struct TextAttr font = {...}
- ** add: -notb/-notitlebar
- ** add: subprg: FreeSpace
- ** add: -fsx/freespacex
- ** add: -fsy/freespacey
- ** add: -fsc/freespacecolor
- ** add: -fsx/freespacexs
- ** add: -fstc/freespacetypecolor
- ** add: -fsfc/freespacefypecolor
- **
- ** 12 Nov 1995 add: subprg: MemSpace
- ** add: -msx/memspacex
- ** add: -msy/memspacey
- ** add: -msc/memspacecolor
- ** add: -msx/memspacexs
- ** add: -mstc/memspacetypecolor
- ** add: -msfc/memspacefontcolor
- **
- ** >>>>>>>>>>>> Beta 1
- ** ¯¯¯¯¯¯
- ** rem: dead assignments in MemSpace.c
- ** add: dummy, tmp perc value in MemSpace.c
- **
- ** 13 Nov 1995 cng: title is now also set on BG_pat
- ** add: menu: about, check marks: ms/fs/titlebar/quit
- ** add: BG is now quitable (menu/quit)
- ** add: menu shortcuts
- ** add: default <sequence> is "sys:s/amiga-startup"
- ** add: IDCMP_DISKINSERTED
- ** cng: minior changes
- ** cng: intern variable & config options
- ** rem: scr_pattern
- ** cng: new structure of source
- ** add: -btxtfp/-boottextfrontpen
- **
- ** 16 Nov 1995 add: IDCMP_DISKREMOVED
- ** add: MS_putvalue();
- ** rem: FAILED_MEMSPACE
- **
- ** 17 Nov 1995 cng: overworked DC
- ** add: -dcfp/-displaycmdfontpen
- ** add: -dcx/-displaycmdx
- ** add: -dcy/-displaycmdy
- ** rem: -getid/-getmodeid/subprg:GetModeID();
- ** cng: bootitext is centered between gauge bar and upper win frame
- ** cng: complete CLI commands (eg. no alternative)
- ** cng: Process_Seq() -> DoSeq()
- ** fix: bg started with -noms/-nofs and during running started by menu -> open at y = 0 (titlebar)
- **
- ///
- /// " 0.5"
- **
- ** >>>>>>>>>>> V0.5
- ** ¯¯¯¯
- ** 01 Dec 1995 cng: BG_win now using gtlayout
- ** add: 3D frame for BG_win
- ** cng: many minior adjustments (variables, options ...)
- ** cng: all is now using gtlayout
- ** cng: now using WA_BackFill
- ** cng: uses much less mem
- ** fix: bootgauge didn't free all memory
- ** cng: completely overworked (more sources)
- ** rem: many options (in cause of gtlayout)
- **
- ** 06 Dec 1995 add: ListCmd()
- ** add: LC_putvalue()
- ** add: LC_ShutDown()
- **
- ** 07 Dec 1995 add: CreateNode()
- ** fix: LC_putvalue now works
- **
- ** 09 Dec 1995 cng: -winpen (background color) now for all windows
- ** add: check if OS3+ is available
- ** add: SysInfo ()
- **
- ** 12 Dec 1995 add: OpenLib() [Olaf Barthel]
- ** fix: func = (VOID *) ( (* ( (APTR *)(((struct MenuItem *) n )+1) ) ) );
- ** cng: BG_OpenWindow() -> GaugeBar()
- ** cng. BG_CloseWindow() -> GB_ShutDown()
- ** cng: on/off: gauge bar is now extern
- **
- ** 13 Dec 1995 add: IDCMP handle for all windows
- ** add: routine to get builtin memory size
- ** cng: MemSpace now featuring also gauge bars
- ** add: SysInfo: CPU, FPU
- ** cng: Now using a GST file (wow !, fast !)
- ** cng: compiling with option: optschedule
- **
- ** 17 Dec 1995 cng: finished source splitting
- ** add: SysInfo: Chip set
- ** fix: little layout correction in MemSpace()
- ** add: TimeInfo()
- **
- ** 18 Dec 1995 add: CPUInfo()
- ** cng: menu updated (TimeInfo, CPUInfo) and sorted (alphabetic)
- ** cng: cleaned up unused/old/unrequired variables
- ** cng: names of some variables
- **
- ** 19 Dec 1995 add: menu item for GaugeBar()
- ** cng: now use normal instead of checking menus
- **
- ** 20 Dec 1995 cng: bgTimeInfo.c now also displays the seconds
- **
- ///
- /// " 0.6"
- **
- ** >>>>>>>>>>> V0.6
- ** ¯¯¯¯
- ** 22 Dec 1995 cng: Requester() accepts now arguments
- ** cng: MemSpace runs in its own task
- **
- ** 23 Dec 1995 add: SetClickDrive()
- ** cng: overworked a bit and made safer
- ** cng: overworked OpenScr(), screen is now really public
- ** fix: TimeInfo(), e.g. 22:1:5 instead of 22:01:05
- ** fix: didn't recognize end of if-blocks
- ** cng: don't copy more than 2 empty signs into line[] "ab c" -> "ab c"
- ** cng: titlebar format and use sprintf() for making title_text
- ** rem: nline[]
- ** cng: line[]: no comments, no '\n'
- ** fix: -noreq now takes no effect to Menu/About
- ** fix: problem with comments (ESC sign was shown)
- **
- ** 25 Dec 1994 add: -drvclick
- ** add: -nobborder; BlackBorder()
- ** add: now it is possible to use a config file if available
- ** cng: overworked DoSeq(): use now fgets(), line is now case-sensitiv (for rename, ...)
- ** add: lower()
- ** add: upper()
- ** add: check result of system(), display error, warn, ... in requester
- ** add: count of system()'s failures are displayed in DisplayCmd
- **
- ** >>>>>>>>>>> Beta 1
- ** ¯¯¯¯¯¯
- ** 28 Dec 1995 add: InitBackFill();
- ** cng: scr's depth defineable
- ** cng: default scr depth 3, use MagicWB colors
- ** cng: DriPens[] (e.g. active title bar text is now white)
- ** cng: overworked Menu_About() a little bit
- ** rem: variable for sub prgs: si, ms, fs, ti, dc, gb, ci; now check if window is open/task is running
- ** rem: menu item for sub programs and titlebar, was simply nonsense
- ** cng: workaround: if titlebar is enabled MoveWindow() [MS, CI, FS] don't overwrite title bar
- ** cng: now just execute path and alias
- ** add: -failat, default = 21;
- ** cng: names of sub programs (and its variables[windows, handle, open_*]), now called "modules"
- ** cng: names of all files (bg_* and mod_*)
- ** cng: better structure
- ** cng: screen title now for all windows
- ** cng: window title of mod_Gauge
- ** fix: if scr's title bar was off, title bar of mod_Text wasn't updated
- **
- ** 29 Dec 1995 cng: general config structure
- ** fix: several minior bugs, didn't free some bytes
- ** add: dri_pens[] are now defineable
- ** cng: updated evaluateCfg/Args(), now you can configure everything ;-)
- **
- ** 30 Dev 1995 cng: Menu now in win_Main
- ** cng: win_Main is now the default active window
- ** cng: Screen title bar text now defineable
- **
- **
- **
- ** 01 Jan 1996 cng: better infos than just "OpenLibs()" failed
- **
- ** 03 Jan 1996 fix: [Yak:] ClickDrive() didn't free (2 * 56) = 112 bytes
- ** add: Window's pos is saved automatically
- ** add: POS config file for modules
- ** cng: move bg's confgi files in a own dir
- **
- ** 05 Jan 1996 add: Exists()
- ** add: ByteCopy()
- ** add: MakeDir()
- ** cng: SaveWinPos() now writes also in env:
- ** cng: now mod_Devs supports again IDCMP_DISKINSERTED
- **
- ** >>>>>>>>>>> Beta 2
- ** ¯¯¯¯¯¯
- ** 08 Jan 1996 cng: mod_Gauge: CloseGadget just quit mod_Gauge not whole app
- ** cng: IDs now in the files where they are used (removed from GST) and using enum{}
- ** cng: mod_Time: now all gadgets are updated
- ** cng: module's gadgets are build by for () [code optimized]
- **
- ** 09 Jan 1996 add: Font is now defineable
- **
- ** 13 Jan 1996 cng: removed mod_Mem task, mod_Mem now runs directly again
- ** fix: forgot WA_NewLookMenus, TRUE, in win_Main
- ** add: Menu item: Wait [e.g. for pos windows]
- **
- ** 14 Jan 1996 cng: now using reqtools.library for requesters
- **
- ** 16 Jan 1996 add: much more error messages for system()
- ** cng: Requester() -> rprintf ()
- ** cng: improved rprintf () using va_list
- **
- ///
- /// " 0.7"
- **
- ** >>>>>>>>>>> V0.7
- ** ¯¯¯¯
- ** 19 Jan 1996 add: SetMousePos()
- **
- ** 25 Jan 1996 fix: SetMousePos(): used Pubscreen -> Workbench poped up
- ** fix: SetMousePos() didn't free some bytes
- ** fix: many minior fixes, e.g. files/devices/libs may not have been closed
- **
- ** 26 Jan 1996 cng: rprintf() call wait pointer
- ** add: SetPointerAll()
- ** add: SetTitlePointer()
- ** cng: scr_Main is SA_Behind and first switched to front after opening win_Main
- ** add: use of DriveClick() is defineable
- ** add: use of BlackBorder() is defineable
- ** rem: setmouse is now always set and not longer defineable
- ** rem: requester cannot be disabled anymore
- ** cng: config structure overworked
- **
- ** 27 Jan 1996 rem: mod_CPU, SysInfo.library can only be used if Executive is running
- **
- ** 05 Feb 1996 add: fgetsf(), formated replacement for fgets()
- ** cng: mod_Text: WARNs, FAILs, ERRORs, OTHERs are white colored
- **
- ** 06 Feb 1996 add: parseline()
- ** fix: strpos()
- ** cng: DoSeq() -> ExecuteSeq()
- ** cng: ExecuteSeq() rewritten for more compatibility
- ** add: CheckResult()
- ** cnd: lower() -> str2lwr()
- ** cnd: upper() -> str2upr()
- **
- ** 08 Feb 1996 fix: fgetsf(): isalpha (...) -> if (c != ' ' && c != '\t')
- ** fix: strpos(): UBYTE -> BYTE, e.g. "\"" wasn't handled correctly
- ** cng: improved strpos(): finds now specified occurance of keyword and not just the first
- ** fix: parseline(): UBYTE -> BYTE, e.g. "\"" wasn't handled correctly
- ** fix: parseline(): now handle commands in quotation marks correct, e.g. "c:my command"
- ** add: more error msg for failed commands
- **
- ** 09 Feb 1996 cng: GetFastMemSize()/GetChipMemSize() -> GetSizeMem()
- **
- ** 10 Feb 1996 cng: strpos(): smaller and improved speed a bit
- **
- ** 13 Feb 1996 cng: SetupConfig() -> SetDefaults()
- ** cng: default <seq> is now sys:s/system-startup
- ** cng: GetDay(), GetDate(), GetTime() -> GetDDT()
- **
- ** 14 Feb 1996 fix: Problems with urouhack and DrawFrame() [borders were hand-calculated, not win -> Border???]
- ** cng: string functions are not limited to STR_LEN anymore
- **
- ** 17 Feb 1996 cng: GetDDT() now uses strftime(): time is completely configurable
- **
- ** 19 Feb 1996 cng: strcmp (str2lwr (...), ...) replaced with stricmp (...)
- ** rem: str2lwr ()
- ** rem: str2upr ()
- **
- ** 20 Feb 1996 rem: substr(): replaced with strmid ()
- ** fix: memory leak in GetDDT ()
- **
- ** 23 Feb 1996 fix: all memory leaks !
- **
- ** 24 Feb 1996 add: Say(): speak a text using narrator.device
- ** add: cfg -> say.*
- **
- ** 24 Feb 1996 add: strwrd()
- **
- ** 25 Feb 1996 cng: fopen(), fclose(), fgetc, ... -> Open(), Close(), FGetC, ...
- **
- ** 01 Mar 1996 fix: sequence wasn't unlocked if user canceled program
- **
- ** 02 Mar 1996 cng: made again a little bit safer
- ** cng: several minior changes
- **
- ** 09 Mar 1996 add: DisplayBeep(), Say() if an error happens
- ** cng: very much very little changes in the whole code
- ** add: Macro: Div()
- ** add: CreateBitMap()
- ** add: DeleteBitMap()
- **
- ** 16 Mar 1996 cng: mod_Sys(): code reduced
- ** cng: mod_Sys(): runs in its own process
- ** add: cfg -> mod.Sys.highlabel
- **
- ** 17 Mar 1996 add: About window
- **
- ** 18 Mar 1996 add: Quit menu item for mod_Sys
- ** cng: mod_Sys: optimized
- **
- ** 22 Mar 1996 add: mod_Sys is quitted by pressing '\033' = escape
- **
- ** 24 Mar 1996 add: Menu item: Reboot
- ** add: elementary Req()
- **
- ** 26 Mar 1996 cng: window snapping defineable
- ** cng: snap window only if its position has changed
- **
- ** 29 Mar 1996 cng: Shell arguments are now evaluated by RDArgs()
- ** cng: Prototype is now defined in SCOptions
- **
- ** 30 Mar 1996 rem: picture support [at least for the windows]
- ** cng: improved GetMemSize(), now using MEMF_*
- ** fix: mod_Mem works again
- ** rem: Say(), narrator.device support
- **
- ** >>>>>>>>>>> Beta 1
- ** ¯¯¯¯¯¯
- **
- ///
- /// " 0.8"
- **
- ** >>>>>>>>>>> V0.8
- **
- ** 02 Apr 1996 cng: mod_Devs now also runs in its own process
- **
- ** 07 Apr 1996 cng: overworked all modules
- ** rem: percent couting in titlebar of mod_Gauge & mod_Text
- ** cng: process creating/removing much safer
- ** add: security inquiry for ColdReboot () by Req ()
- ** [cng: Prototypes are now introduced by "PROTO", rewrote DICE's MakeProto]
- ** add: Req () replacing RPintF()
- ** add: 2 MagicWB images for Req ()
- **
- ///
- /// " 0.9"
- **
- ** >>>>>>>>>>> V0.9
- **
- ** 09 Apr 1996 cng: all modules now work in their own process !!!
- ** cng: mod_Gauge's quit gadget doesn't quit program but module only
- **
- ** 11 Apr 1996 add: delay option for testing
- **
- ** 12 Apr 1996 add: timer.device process updating considering modules every second
- ** add: menu item: NewShell
- **
- ** 13 Apr 1996 rem: titlecmd
- ** add: isempty ()
- ** cng: FGetsF (): more flexible and improved
- ** cng: rewrote EvalPrefs(): shorter and faster
- **
- ** 15 Apr 1996 fix: SingleCLI: STRING_KIND string wasn't terminated
- **
- ** >>>>>>>>>>> Beta 1
- ** ¯¯¯¯¯¯
- **
- ** 20 Apr 1996 [add: elementary Installer script]
- **
- ** 21 Apr 1996 cng: internal failat removed, DOS failat used
- **
- ** 23 Apr 1996 [cng: overworked guide: much more flexible now]
- **
- ** 29 Apr 1996 cng: more info if OpenScr() failed (WA_ErrorCode)
- **
- ** 11 May 1996 add: mod_Sys: MMU
- **
- ** >>>>>>>>>>> Beta 2
- ** ¯¯¯¯¯¯
- **
- ** >>>>>>>>>>> Second Release (AmiNet)
- ** ¯¯¯¯¯¯¯¯¯¯¯¯¯¯
- **
- ///
- **
- */
-
-