home *** CD-ROM | disk | FTP | other *** search
-
-
- 15 of January,1995
-
-
-
-
- ChipSaver V1.31 Alpha
- ---------------------
-
- This tool is for all those who like modules & use ExoticRipper,
- ProWizard,or any other ripping/converting program...
-
- ------------------------------------------------------------------------------
- 1.3a: This Version is a MAJOR BUG FIX from v1.1 (first release)
-
- 1.31: CS installing bug is fixed!!!Should work on all machines NOW! :-)
- [This doc & functions are exactly the same as 1.3a]
- ------------------------------------------------------------------------------
-
-
- Summary: 0. Overview
- 1. How does it work?
- 2. The CLI options
- 3. The best way to use this tool
- 4. Some technical info
- 5. Installation
- 6. Disclaimer/Distribution
- 7. About ripping
- 8. Comparison between Exoticboot/Chipsaver
- 9. Bug Fixes from v1.1
- 10. The end.
-
-
-
-
-
-
-
-
-
- 0. Overview
- -----------
-
- This Prog was originally an alternative for exotic ripper v2.22 's
- BOOT install option.It does the same job (** AND MORE **!!)but DURING THE RESET.
- I've sent it to the authors of ExoticRipper but they simply replied that they
- had now included a 'similar' option in Exotic v2.23:exoticRESET...OK,but they
- surely haven't read this doc,as ChipSaver does really MORE than just saving
- all chipmem to fastmem!!
-
- For those who got like me Exotic v2.23+,I insist:Chipsaver still can
- replace exoticRESET.The reasons of this:
-
- - 2 memory saving modes!
-
- - the clearmem/nofast option
-
- - Chipsaver is less detectable.(Exotic uses Cold/Coolcapture)
-
- - For people using Prowizard ,without having exotic (??),ChipSaver
- provides them just what they need: a reset-save option!
-
- For the details just read this doc,you won't regret it! (really?)
-
-
- Why alpha?
- **********
- It's an alpha release...it should work correctly on any machine anyway.But
- I've only tested it on:
- A500+ OS 2.0 1 Mb chip
- A1200 OS 3.0 2 Mb chip/4 Mb fast
-
- but it should work even on 1.3 systems (??)
-
- Anyway,I'll test on other configs later...beta-release??
-
-
- 1. How does it work??
- ---------------------
- Chipsaver can be run by CLI or Workbench.
-
- [ Workbench allows you only to install Chipsaver ]
- [ CLI allows parameters & more actions (remove etc.. see paragraph 2 later) ]
-
- A message will tell you that the program is installed.You can continue
- using your system normally:the difference will appear during the next reset.
-
- ***DURING RESET****
-
- A green flash will appear:this proves that ChipSaver is here,that's all.If
- you don't do anything,then a Blue flash will come,and that's the sign of...
- the end of Chipsaver (OK! Let's see more interesting stuff!!)
-
- After the green flash,the following combinations are tested:
-
- * Left mouse button (standard 'exotic-like' savemode)
- * Joystick button (Save mode2:CHIP protection)
- * LMB+Joybutton (Clearmem+Nofastmem option)
-
- -------------------------------------------------------------------------------
-
- --- VERY IMPORTANT! READ THIS !---
-
- When I say that these combinations are tested AFTER the green flash,I mean that
- there is *NO WAITING LOOP* (UNLIKE EXOTICRESET) :The test is instantaneous,and
- if nothing is pressed,the blue flash will appear (no operation).
-
- *******************************************************************************
- *So If you want to use an option (for example LMB),DO NOT WAIT FOR THE GREEN *
- *FLASH: just KEEP PRESSING ON THE BUTTONS FROM THE BEGINNING OF THE RESET!! *
- * *
- * Then you'll see the green flash & the operation will be done! *
- *******************************************************************************
-
- I had to say all this because users used to exoticreset just waited a few
- seconds after the flash before pressing the buttons!!Of course it didn't work
- as there is no testing loop!!(hehe pas vrai Gryzor??)
-
- This is another difference between ExoticReset & ChipSaver:ExoticReset must be
- launched WHEN you want to rip.Chipsaver is ALWAYS here & doesn't slow your
- reset when you don't ask him some operation!...So you'll always be ready for
- any demo launched on your machine!!
-
- -------------------------------------------------------------------------------
-
- let's for the details now!
-
- 1.1 Left mouse button
- ---------------------
- Action:try to save Chipmem to fastmem.3 cases:
-
- * no fastmem: ex: A500+ 1 Mb chipmem
- Lower chip half will be copied>upper half
-
- * not enough fastmem: ex: A1200 2 Mb chip/1 Mb fast (hi Xulax!)
- As much chip as possible will be copied in fastmem
-
- * more fast than chip: ex: A1200 2 Mb chip/3-4 Mb fast (me!!)
- the best config for this of course...all chip saved!
-
- if any error occurs (never should),there'll be a red flash.
-
- During the copying,the screen flashes,reflecting what is copied...
- (lots of blank/zero data will produce a black screen)
- (looks like the ExoticBoot uh?)
-
- [hahaha ExoticReset saves from $F00...but Chipsaver saves from $E80]
- (A gain of 128 bytes WOW!)
-
-
- 1.2 Joystick button
- -------------------
- Action:'Protect' xx% of chip memory. (80% by default)
-
- This is another method:the lower 80% of chip are allocated,so the
- system won't trash them.this method is more useful for those who
- only have chipmem:if they boot on a very 'light' disk,they'll just
- launch exoticripper,and be able to scan 80% of chipmem,whereas the
- Left mouse button option 'd only save 50% (half'n half).
- Of course,this time,it's the upper chipmem zone that is trashed.
-
- Anyway it may be an alternative for experimented users if the LMB
- option fails (separated sampledata for example).And also you can
- just disassemble the code in chipmem with RIGHT addresses!
- (non PC-relative/64 kb range code can be hard to read in the fastmem
- copied image,no?)
-
- When finished,a YELLOW flash...
-
-
-
-
- 1.3 Left Mouse Button+Joystick button
- -------------------------------------
- Action: Clears all the Chipmem & the Fastmem
- Disables Fastmem
-
- The 2 previous features are used AFTER the demo.This one is **BEFORE**.
-
- * Clear mem:same as Exotic's CM option (clear all free memchunks)
- The ripper scans much more faster as the zones that weren't
- used by the demo are 0 (skipped)
-
- * Disable fastmem:Only works with demos that use system to know
- about the memory configuration.
- Example:Sanity demos,using the S.O.S
- (see at paragraph '4.some tech' for more info)
-
- then a WHITE flash
-
-
- ADVANTAGE:
- * disabling fastmem prevents the demos that (__CLEANLY__)
- recognize fastmem from using this fastmem,so:
-
- -you can see how the demo works on a non-accelerated
- machine...
- -fastmem is not used,nor trashed,so you have more
- chances to see ChipSaver back at the next reset!
-
- -the demo will load EVERYTHING in chipmem,so you
- won't have for example very nice samples in
- chipmem,and a trashed partition in fastmem,
- which can happen with moduleformats with
- separated partition/samples (TFMX,The player
- 5.0a/6.0a etc...)
-
- (so,ALWAYS use this feature before demo)
-
- 2. The CLI options:
- -------------------
- Well,let's go...
-
- in all the following text,the ALLOCBUFFER we talk about may be created by
- ChipSaver/Exoticboot/ExoticReset,that doesn't make any difference...
-
-
- * no option:Install Chipsaver,or tell its status if it's already done.
-
- * REMOVE:just...removes ChipSaver.(oh no!!why?don't do that !!)
-
- * FREEMEM:When you have finished with ripping,you may want to free
- the big allocated buffer,that's all.
-
- * FORCE:When launched without parameters,ChipSaver tries to locate
- itself at the highest address in chip/fast...if this zone
- is not free,the install will fail.Force just overrides this
- and installs in an UNCLEAN way.(your system becomes unsafe...
- RESETTING seems to be the best solution)
-
- * SAVE:saves the buffer to disk for later use/scan.
- Warning:the free space on disk is not calculated,so,have a look
- first on your partition,and don't try to save your 2 Mb buffer
- on a floppy anyway!
-
- Syntax: Save "path:name"
- ( **** QUOTATIONS MUST BE PRESENT **** )
-
- * PERCENT:set the percentage of chipmem to be protected when using
- the Joybutton feature.Default is 80.minimal is 5% and maximal
- is 90%.more/less than the limits will reset the value to 80%.
-
- it depends of you,and of the disk you boot on after the reset/save,to
- see which value best matches your needs.For example,using a 1 mb
- chipmem A500/A500+ ,saving 80% of chip,and booting on a disk with a
- huge startup-sequence may not be the best solution!Cut down the
- startup,or just decrease save %
-
- Syntax: Percent 70 for example...(hard,no?)
-
-
- REMOVE/FREEMEM/SAVE/FORCE may not (of course) be used in the same time!
- But the exception is that PERCENT can be used with FORCE...
-
-
-
- 3. The best way to use this tool
- --------------------------------
-
- * install it.(I have put 'Chipsaver >NIL:' in my User-startup,it's
- a handy way:it's always active since the 1st boot!! )
-
- * Always keep a disk with ExoticBoot installed,and that launches
- Exoticripper on startup.
-
- * before launching a demo,use LMB+button.At least,the memory 'll be
- cleaned...and Nofastmem may work (see paragraph 4)
-
- * Watch the nice demo...Hear the great tune...
-
- * reset!
-
- * press on the button(s) corresponding to the action you want!
- (if you have more fast than chip,make your first try with the
- 'standard' method:left mouse button)
-
- then 2 possibilities...
-
- - A green flash ? it's OK! Maybe you'll find a module!!
- Otherwise,you can try multiple attempts as follows:
- - load demo,reset,do nothing
- - load demo,reset,LMB
- - load demo,reset,joybutton
- (one of these combinations may work...)
-
-
- - No flash!! Aouch,we've been destroyed! Quickly insert your exotic
- disk and hope the module's not too low!
-
- then...
- For Exoticripper v2.22/2.23 users:
- ----------------------------------
- * In Exotic ripper,type "A H" (sets range to the zone we've allocated)
- then hunt in your favorite mode...
-
- For Prowizard version 2.1 users:
- -------------------------------
- * Gryzor should have added by now a 'scan buffer' option...so no need
- to use the old method anymore (SAVE buff,reload it etc...)
-
-
- For those who have both these progs:
- ------------------------------------
- try both of them!! Wow what a useful advice!!
-
- By the way,are you a REGISTERED user of these 2 EXCELLENT progs????
-
-
- Last useful hint
- ----------------
- * light a candle,pray,ask God to help you,maybe you'll have a module
- to save!!
-
-
-
- 4. Some Technical info
- ----------------------
- * ChipSaver will stay in memory until:
-
- - his zone is trashed (oups!)
- - the system is really trashed (execbase mainly)
-
- * I could have made a nice intro at boot,with a logo,a nice copperlist,
- menues,keytests etc...but I didn't for 2 reasons:
-
- - All this uses Chipmem!!(anyway,the trashed zones could be
- copied in fast before...but it's a bit messy!!)
-
- - As the prog executes at the VERY BEGINNING of the reset,I
- have a funny(?) problem:I can't test Right mouse button,
- or the keyboard!! it seems that the chips need some init
- from the Gameport device & keyboard.device!!(I tried to
- put ChipSaver after theses inits:the RMB/keytests work!!)
- My chipdocs are not very explicit,so if anybody has an
- idea...
- (so that's why I use the Joybutton!)
-
- * Fastmem disabling is not just clearing MaxExtMem!! I just savagely
- cut the Memheader from Execbase's Memlist...It works really
- fine,except that if you boot on your Wbench,you may have
- a few Recoverable alerts,which is absolutely NORMAL,as some
- Fastmem was used by exec before the header was cut,so when
- there's an attempt to restitute it...the system just wonders
- where is this Fast-zone he's trying to free!
-
- This feature won't work,of course,if some (bully!) coder,tries a stuff
- like:
-
- Ramtest move.l 4.w,a0
- move.l maxlocmem(a0),d0;max chip
- lea $f80000,a0 ;kickstart
- .loop move.l #$BADDEED,(a0) ;poke
- cmp.l #$BADDEED,(a0) ;peek
- beq .found_highest_mem
- sub.l #(256*1024),a0 ;steps of 256 Kb
- cmp.l d0,a0
- bne .loop
- ....
- ....
- etc etc etc
-
- I think this is the most commonly way used by coders,but it's really
- savage and it shouldn't recognize all extensions (big 128 Mbytes
- expansions with 68030+MMU for instance).
-
- * Recognition by ExoticRipper:ChipSaver uses the same recognition as
- Exoticboot: - addr of saved mem in $100
- - Allocbuffer structure:dc.l $DEADBEEF
- dc.l size
- dc.l origin
- & added Chipsaver's flag (ignored) dc.l $BADFEED (!!)
-
- * coded on Trashm'onev1.6 then Asm-one v1.25...
-
- 5. Installation:
- ----------------
- Very easy:just drag the icon...For this prog,I used a REAL Tool icon,
- and not an IconX script+Project icon,because the parameters are not
- essential.
-
-
- 6. Disclaimer/Distribution:
- ---------------------------
- You use this program at your own risks! It is provided "as-is",
- without any warranties on its reliability.I may not,by any means, be held
- responsible for any bugs/breakdowns/damages caused to your software/hardware,
- by ChipSaver.
-
- This program may be spread freely as long as no fee other than
- transport/disk is asked for,and the files remain together,not modified.
- (except for archiving purposes)
-
-
- 7. About ripping:
- -----------------
- First of all,when you rip a module,I think it's for your own pleasure,
- so,there is no reason to put in the sample-comments:It's ME who ripped this
- module,MY name is blah blah blah...MY group is bluh bluh bluh...and the
- author is..well,I don't know!...
- Well,my idea is that ripping is worth signing only if you've ripped
- a new format,or ripped something 'by hand'.Anybody can use (the excellent)
- exoticripper or (the great) Pro-wizard,and put its name in the mod!
-
- So,that's what I propose to put in a ripped/converted module:
-
- * author's name,if not present
- by author/name (recognized by EaglePlayer)
- & #author/name (------------- Delitracker)
-
- for the lazy ones,just put #by author/name !!
-
- * the tools which made the rip possible:
- Exoticripper Vx.x,Prowizard Vx,Chipsaver(pleaase!)
-
- * your name,if it's absolutely necessary to your mental health!
-
- * a nice thing is to put the author in the FILE COMMENT.I always do it
- because that's how I make my module-lists.And you know
- directly who composed the tune,when using your copy-tool...
-
-
- 8. Comparison between Exoticboot/ExoticReset/Chipsaver
- ------------------------------------------------------
-
- Exoticboot has a big advantage:it can't be destroyed by the demo..So it will
- always be there when you need it.Its disadvantage is that it trashes the lower
- chipmem.
-
- ChipSaver has the same disadvantages that ExoticReset:this time,it CAN be
- destroyed,and you may not always see it appear after the demo!!But it has
- the advantages of providing 2 ways of saving,and it's a "dormant" prog:it'll
- stay quietly waiting for your orders at every reset...No need to load exotic
- to clear the chunks before a demo,set the reset option etc...
-
- Well I won't argue for a long time about the abilities of MY prog.it's of course
- the best one as it's MY prog.You may of course not have the same opinion!!
-
-
- As a conclusion,using boot+chipsaver like described in 3) in the best
- solution...Good luck!
-
-
- 9. Bug Fixes from 1.1
- ---------------------
-
- * ENORMOUS bug fixed: When using the main option (lmb),the image buffer of
- chipmem was created in fastmem,but all the chipmem WASN'T COPIED into it!
- All this bcoz of an extremely tiny error in the copying routine's size
- checking;so there was what happened for example:
-
- -A1200 2Mb chip/4Mb fast : Fast Image Buffer = 2Mb (ok!)
- REALLY copied chip= 512 kb !!!!!!!!!
-
- -A2000 1Mb chip/2Mb fast : Fast Image Buffer = 1 Mb (ok!!)
- REALLY copied chip= 256 kb!!!!!
-
- In fact,you understood,the REALLY copied data was always ONE QUARTER
- of the (normal) imagebuffer size!!!....OUPS! SORRY !
-
-
- Very small explanation for curious programmers....others may skip!
-
- (I had forgotten an oooold lsr.l #2 somewhere...was originally used
- when the copy loop worked with a dbra.Now the loop works with a
- test (reached upper addr?),so I was testing IN FACT if I had reached
- the QUARTER of the top addr!!...Why a lsr? Only because I have used
- move.L (a0)+,(a1)+ instead of a move.b,in order to speed up copying
- on the real 32 bits machines...A1200 RULEZ hahaha)
-
- * An extremely tiny bug:In CS v1.1,when using the Memclear+Nofast option,I had
- forgotten to recalculate Execbase's checksum after clearing the MaxExtMem
- field.Anyway it surely didn't have any consequences,but now the code is
- cleaner,if by any 'chance' somebody wanted to verify the Checksum!
-
-
- 10. The end
- -----------
-
- Well,I hope you'll find this tool useful!Anyway,tell me about it,if you
- find bugs,if you like it,if you have any ideas for improvements (?) etc...
-
- I'm also looking for (real) Synthmodules of any kind,protracks etc...
-
-
-
-
- [The Cyborg/NGC]
-
-
- Nasr Alexis
- 27,Rue Formigé,Residence RENOIR
- 33110 Le Bouscat, FRANCE
-
- Commodore is dead...Amiga's alive
-
-
-