********************************************************* * Update report from ASM-One V1.01 to V1.02 * ********************************************************* Another fine release by Venture... Editor: ======= - The status line has been extended, so that * means, "Source Not Saved" and M means "Macro is being defined". - When loading a new file, "Source not saved" appears before you enter a new filename. - Replace had problems when replacing successive strings, it skipped every second string. Assembler: ========== - If an error occured while assembling a section allocated in chip or fast (not public) with autoalloc turned on, the allocated memory was forgotten. - DS - Define Storage. The defined storage is now initialized to zeroes, instead of just uninitialized. - INCLUDE and INCBIN path and filename are printed when the file is being loaded. - The following command syntax was not supported: ROL Dn, ASR Dn etc. Previously you had to type ex. ROL #1,D3, instead of just ROL D3. - Overall assembler performance has been improved. - Including a source in an program using ORG and LOAD forced the assembler back in relative mode, jumping to the latest used section. - When the message 'Reassembling...' was showed, assembler options was reset to default. - Word size is now always default, also in (An,Xn) <=> (An,Xn.W) - INCBINs are now only loaded in the last pass, when using assemble optimize. Disassembler: ============= - CMPA Dn,Am was disassembled CMPA Dn,Dm - ABCD and SBCD was disassembled wrong - Unknown command ??????? is now disassembled as DC.W $nnnn, where nnnn is the unknown opcode. - A few other commands was also disassembled a little wrong Debugger: ========= - Turning LineNumbers on and off did not take action immidiatly but first next another function was activated. - Editing A7 changed always SSP and not USP if in user mode. Preferences: ============ - Using option "!" (eg !.ASM) in the ASM_One.pref file, didn't change the fact that an .S was attached at the end of the file when using the ".S" option. ********************************************************* * Update report from ASM-One V1.02 to V1.05 * ********************************************************* --------======= T.F.A. took over !!!! =======------- Direct line command: ==================== - Inserted the Create sinus command CS include sinus at a memory adress DEST> Memory destination adress BEG> Begin angle END> End angle AMOUNT> Number of values generated AMPLITUDE> Amplitude YOFFSET> Yoffset SIZE> (B)ytes / (W)ords / (L)ongwords MULTIPLIER> Afterwards value multiplier (0 = 1) HCORRECTION> Half step correction (Against irritating ticks) RCORRECTION> ROUND instead of INT (0,7 = 1 instead of 0) CSS include sinus in source BEG> Begin angle END> End angle AMOUNT> Number of values generated AMPLITUDE> Amplitude YOFFSET> Yoffset SIZE> (B)ytes / (W)ords / (L)ongwords MULTIPLIER> Afterwards value multiplier (0 = 1) HCORRECTION> Half step correction (Against irritating ticks) RCORRECTION> ROUND instead of INT (0,7 = 1 instead of 0) - Inserted the R {filename} When using the R / RO / RB commands. Read a file without the filename question - Inserted the W {filename} When using the W / WO / WB / WL commands. Write a file without the filename question - Inserted the I {filename} Include a source without the filename question - Inserted the ZF {filename} Delete a file without the filename question ********************************************************* * Update report from ASM-One V1.05 to V1.06 * * Release date : 07-12-'91 * ********************************************************* OVERALL ------- - Workspace allocation at the (re)start of ASMONE showed total availeble memory. Now it shows the LARGEST BLOK availeble memory - Inserted the CD {directoryname} Create a directory without leaving asmone BUG REPORTS ----------- - The S:ASM-One.pref file was loaded but didn't install right. It does that correct now. - The !.ASM command wasn't recognized. It acted thow it was an exit request. Now u can change the 'FILE . EXTENSION' in anything u want up to 3 characters B.V. : !.ASM will be set to {filename}.ASM or !.PRICE will be set to {filename}.PRI NOTE #1 : This only has effect when u have the SOURCE .??? menu item enabled NOTE #2 : It didn't work in the original V1.02 by RUNE Gram-Madsen !!!!!! ASSEMBLER --------- - INCBIN / INCLUDE Changed the INCLUDED BINAIRY FILE and INCLUDED SOURCE FILE line. It now only shows one line including the file lenght instead of taking up two lines - Comments Now ASMONE recognizes the * as a remark (The same as ;) ********************************************************* * Update report from ASM-One V1.06 to V1.07 * * Release date : 21-03-'92 * ********************************************************* BUG REPORT ---------- - When u use ALL the chipmem to work with sometimes the pull down menu's couldn't be reached. And when u had Req.library ON in the preferences it was impossible to do anything that uses the req.library !! Now the memory will be checked and if there is insufficient free chip mem the req.library function will be automaticly disabled. ASSEMBLER --------- - INCBIN / INCLUDE When u set the INCDIR directory to something else than your current directory Asm-one didn't look for the incbin files in the current dir but the last INCDIR !! Now Asm-one will first look in the INCDIR. If the file isn't found there it will look at the current dir. OVERALL ------- - DOS-EXECUTE Implanted a little version of the dos execute command. This one is very simple. It just uses the normal dos-execute library jump !!! (so be sure to have RUN in your C: directory) usage : Y Diskmaster (will start diskmaster, if found) Y Xcopy (will start Xcopy, if found) ********************************************************* * Update report from ASM-One V1.07 to V1.07b * * Release date : 23-03-'92 * ********************************************************* OVERALL ------- - Go command fixed Ever since the ASM-One V1.05 the go command was fucked up cause of some bytes added in a bss section. Now this is fixed. ********************************************************* * Update report from ASM-One V1.07 (a/b) to V1.08 * * Release date : 01-08-'92 * * Prime '92 party * ********************************************************* ASSEMBLER --------- - ALIGN Added the ALIGN directive for compatibility reasons. OVERALL ------- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Asm-One V1.08 now has an internal stack of 16 Kb ! ! ! ! This use to be 4 Kb, that's why some programs did assemble but gave a GURU ! ! when trying to write the object.......... ! ! ! ! P.S. it took us a (too) long time to find that out, SORRY for that ! ! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - V {Directory command} Changed the free blocks in free bytes !!! - = Changed the view of the = command to a more decent look. - When asmone was copied to RAD: and you had an reset the system crashed. This should be over now. (Thanx Nic {End of century 1999}) - Some requesters still showed "ASMONE V1.02". This has been corrected now. - If you had a source extension with a length of 4 (like .ASM) the last character wasn't written correct to the S:ASM-ONE.PREF file. this is corrected now. - Some words mist a 'l' (Like aLocate Fast/Chip/Absolute) this is correct now. NEW --- - Extended the marks to 10. So now you can set 10 marks and jump to them. Look at the menu's for the keys. - =C Someone complaint about the colors of asm-one. I sugested that he changed the workbench colors. Asm-one uses the default colors !! Now you can set your own colors. Just adjust the color to your wishes. The default button will reset the colors to workbench colors.... - Standard directory : you can specify a standard directory to which asmone switches as soon as you start ASM-ONE up. put this in your S:ASM-ONE.pref (must be at the end of the + and - but before the \) *DH0:SOURCES/MAIN This will cause asm-one to startup normaly but when you use 'V' it will allready be in the DH0:SOURCES/MAIN directory. The standard directory will be shown at the start of ASM-ONE When writting your prefs (WP) the directoryname will be saved too. ********************************************************* * Update report from ASM-One V1.08 to V1.08b * * Release date : 04-08-'92 * ********************************************************* OVERALL ------- - If in 2 bitplane mode asm-one V1.08 guru'ed when you wanted to use chip mem. Sometimes it even fucked up your screen (Thanx Crew one) - Some words were misspelled. ********************************************************* * Update report from ASM-One V1.08b to V1.09 * * Release date : 11-11-'92 * ********************************************************* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + MESSAGE TO DEFTRONIC OF CRIONICS + + + + I liked your TRASH'M-one V1.4 but : + + + + Why did you steal our create sinus routine ??????????? + + Why did you steal our create directory ???????? + + Why didn't you mention our name ????????? + + + + I think your coding is nice but when you use OUR coding you should mention + + our name and not take all the credits for stuff you didn't do !!!!!!! + + + + B.T.W. your G (go command) bug's => Like in our Asm-One V1.06 + + your Find/Replace command bug's => Like in our Asm-One V1.06 + + when using more than 4Kb of label + + pointers WO make trash'm crash => Like in our Asm-One V1.06 + + + + Since you added a lot of nice function's in your version i dicided to + + use some of it (Adjusted to our needs offcause). + + + + AND GUESS WHAT ????????? + + + + We will mention your name !!!!!! + + + + Just keep coding but please be fair and give credits where they belong ! + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ASSEMBLER --------- - ENDB (Endbasereg) implanted. In previous versions of Asm-One it was possible to use a Baseregister like in C programms. Once used the register couldn't be used anymore. Now you can end a basereg part of source with endb. SYNTAX: ENDB {Adress register} - Implanted the use of parameters. This means you can simulate a CLI startup In the Assmbler menu you will find a new item called Parameters. Here you can set if you whish to use parameters at the start of a programm. (Also in the debugger the parameters will be set.) ** SEE new PS command ** - Implanted a percentage progress indicator (Optional) >>>>>>> coding done by Deftronic, adjusted to needs by T.F.A. <<<<<<<< OVERALL ------- - Implanted the Binairy view command (@B) This will show memory (like @H or @N) but now in binairy form >>>>>>> coding done by Deftronic, adjusted to needs by T.F.A. <<<<<<<< - Implanted include binairy (IB) This will include lines in your source (like IN,ID,IH) but now in binairy form. >>>>>>> coding done by Deftronic, adjusted to needs by T.F.A. <<<<<<<< - When writing a binairy file the filecheck and deletion of the file will now happen when you have entered the START and END. If you break during this procedure the file will not be deleted !!!! {Thanx Remote-control} - PS (Parameters set) Enter this command at the command line and you will be prompted for the parameter list. This way you can simulate a cli command.... - Implanted the choise of Public mem at the (re)start of ASM-ONE on request. - Replaced the req.library with the REQTOOLS.library. This means that all requesters can now be answered with keystrokes as well !!. Req.library missed some options reqtools.library does have. !!!!!!!!! Make sure reqtools.library is copied to your workdisk !!!!!!!!!! On the Asm-One disk are the 1.3 and 2.0 verison of REQTOOLS. Use the correct one..... If the reqtools library wasn't found the Project/Preferences/reqtoolslib will be dissabled. All functions will be redirected to normal text. The colour request (=C) WON'T WORK !!!!! Just like in the req.library 3 different directory's will be maintained. dir 1 = Sources dir => used with : Read source Write source dir 2 = binairy dir => used with : Read binairy Write binairy Read object Write object Write linkfile Redirected output Zap file dir 3 = secondairy source => used with : Write block Insert source - Implanted the EXTENDED REQTOOLS library functions. The Search and Replace function can now be handled thru requesters. This is optional in the prefs. You can set the PROJECT/Preferences/Extreqtools ON or OFF. (This will be saved in your S:ASM-ONE.PREF file as +XR or -XR) - Jump to line function will also be handled thru a requester if the extended reqtools function is turned on... - When searching in a source and working with the extended reqtools you will be able to search for strings in case dependent mode. This means you can search for strings with UPPER and LOWER case characters in it. VB: Case dependent search for Mainloop will only find this string if it is identical. Normal search for Mainloop will find anything with 'mainloop' in it no matter what case !!! When using the replace function the string will be replaced as entered. So '_LVO' is different than '_LVo'. When using the Search_next or Replace_next function the mode you used will be continued. - When using the {R} command to read a source and you canceled the request your source was gone empty. Now your source will stay active if you cancel the requester or press CTRL-C when asked for the filename. - When updating a file first is checked if the source is changed. If the source isn't changed the message : "Source not changed. No update needed !!" is displayed and no file will be written. - When trying to load a source bigger than the availeble memory asm-one would read the source anyway and then come up with a error. When still trying to jump into the editor Asm-One would crash !!! {Sometimes} Now when trying to load a source bigger than the availeble memory Asm-One will display the message "Not enough workmem for source !!" and the last source will still be active - Since Asm-One v1.08 you could set your own colors. Now Asm-One will save your color to the S:Asm-One.pref file. This will be done in the following format : |000|AAA|FFF|68B| {These are the standard workbench colors !!} | = Colors init 000 = RGB value (color 0 = black) | = Color seperator AAA = RGB value (color 1 = light grey) | = Color seperator FFF = RGB value (color 2 = white) | = Color seperator 68B = RGB value (color 3 = blue) | = Color end marker The easyest way to do this is start Asm-One, set your colors (using =C), then write the S:Asm-One.pref file (using WP). This way your colors will be saved and used in the future. It could be posssible that Asm-One creates strange colors if you edit the Asm-One.pref file in a text editor !!, SO DON'T !!!! - If running under kickstart 2.0 or higher Asm-One will open it's screen in the workbench 2.x mode. This doesn't have much of a consiquence expect for the nice look of the requesters. If running under kickstart 1.3 or lower Asm-One will open it's screen in normal (and only) mode. This almost doesn't infect the requesters. THEY STILL LOOK GREAT !!! - When creating a directory twice (with cd) and the second name was shorter then the first it bugged. This is now solved EDITOR ------ - Sometimes the search/replace command would hang. This was in Asm-One since V1.01 by Rune Gram-madsen. This is now solved !!! ***************************************************************************** * * * ASM-ONE is now a 680x0 Macro assembler !! * * * * Special thanx must go to : Remote-control (R.A.F.) * * Schwarzenegger (R.A.F.) * * * * They provided me with all the information i needed about the 680x0 * * * * * ***************************************************************************** ********************************************************* * Update report from ASM-One V1.09 to V1.15 * * Release date : 11-03-'93 * ********************************************************* - Only in the Kickstart 2.x/3.0 version. In this version you can set all your preferences in one window. This window is activated by pressing AMIGA-P. This function can be called at all times (Expect in debugger). This means you can change your preferences when in Editor, Command line , Binary Monitor, Hexidecimal Monitor, Disassembly Monitor. - Whenever the _LVOOutput dos call was used it returned a 0 (within Asm-One) Now it returns the output handle of the CLI you called Asm-One from. (i finaly found out the problem... Thanx T.J.) - Update will (finaly) write your source were you read it from !!!! When you change your current directory (with the V command) and therafter update your source it will be written in the correct place. (Thanx to all who mentioned this !!! => and there were many who did) - Reqtools bug removed. I used a absolute offset for the directory name. So if someone used another version of the reqtools.library the whole thing didn't work. Now it does !!! (Thanx CFI !!!) - When you write a source the filename you see in the menubar will be placed in the requester. COMMAND LINE ------------ - Added keyboard exit for all you keyboard lovers (including me!!) Amiga-Q is the same as entering !{enter} - Added the VBR register in the register-information command (X) - Adjusted the custom register information. Now you can press CTRL-C or Esc when you want to quit at the middle of the registers list.. - Adjusted the directory command. The listing of a directory scrolls untill the screen is full. Then it will wait for a key. If the CTRL-C or ESC key is hit the directory will be aborted >> when using the V command after an aborted directory will show the memory >> directory so not all files on disk will be shown !!! MONITOR ------- - Implanted the binary monitor. (Only byte and word size) look at the menu's for more details. All function's of the Hex- and Ascii monitor are availeble. Filled the empty bottomline with some info : Start : Start save position End : End save position Size : Bytes, Words or Longwords Time : Current time (just like in the editor) - Implanted the save memory in the monitor. First set the START and END position (show at the bottom of the screen) and hit Amiga-s When reqtools library is enabled the normal Write-binary requester is shown (including the file exists check). When reqtools library is disabled the normal questions will be asked in the menu bar... !! Remember !! The end position itself won't be saved..... This means when start is set at $40000 and and is set at $40100 there will be 256 bytes saved !!! => Position $40100 won't be saved EDITOR ------ - At the request of many i (finaly) adjusted the search/replace command. When a search-string is not found it will stay at the last found position. - At the request of some (who use trash'm-one but like the 2.0 look of Asm-One) i implanted the free memory in the status bar. It will show the availeble memory and the largest block of memory in Kb. - I implanted the timer in the status bar. Why ??? don't know. just another request of a TRASH'M-One user. - Jump marks saving implanted.... Look in the preferences menu. >> Be carefull : TRASH'M-One only saves 9 marks !! >> Asm-One saves and loads 10 marks >> When a TRASH'M-One source is loaded in Asm-One the first >> longword (4 characters) are missing if marks were saved. >> >> I used the same recognition longword for marks ($FAF9FAF9) - Quick Tof and Bof. Use CTRL-Arrow_up to jump to top of file Use CTRL-Arrow_down to jump to end of file - I implanted the error remember. When a source is assembled and the Assembler/Assemble../ALL_Errors is on the complete source will be assembled without stopping for any error. Now when in the editor hit Amiga-e and you will jump to the first error which occured after your current line. You will see the error that was produced in the menu bar !! Note : Only the first 100 Errors are remembered. ASSEMBLER --------- - When a '** FILE ERROR' message was displayed it didn't display the whole filename. This is corrected now. - The offset command didn't work correct. Now it does !!! - implanted the ENDOFF directive. Wasn't even implanted in the original Asm-one - implanted the REM directive. This directive starts a **REMark** block. the part following a REM statement will be skipped during assembling. A REMark block is ended with EREM which stands for ENDREM. - implanted the TEXT directive. This will allow you to enter text (like the old dc.b "HAY DUDES") the TEXT command is ended by ETEXT which stands for ENDTEXT Whenever a '|' is found in the text it will switch to simulated hex mode !! and will subtract $30 from the character's untill another '|' is found 1 = chr $31 = ascii "1" -1 = chr $2F = ascii "/" Example: -------------------------------------------------------------< cut here DATA: text Hay dudes this is a T.F.A. |1| production.... I love Diny and wanna do dirty things|/| etext -------------------------------------------------------------< cut here is the same as: -------------------------------------------------------------< cut here DATA: dc.b "Hay dudes this is a T.F.A. ",1," production...." dc.b "I love Diny and wanna do dirty things",-1 -------------------------------------------------------------< cut here This way you won't have to TEXT & ETEXT everytime you want a special code inside your text for a trigger or command byte. - New commands implanted INSTRUCTION PROCESSOR BFCHG 68020 and higher BFCLR 68020 and higher BFEXTU 68020 and higher BFEXTS 68020 and higher BFFFO 68020 and higher BFINS 68020 and higher BFSET 68020 and higher BFTST 68020 and higher BKPT 68020 and higher CALLM 68020 ONLY !! CAS 68020 and higher CAS2 68020 and higher CHK2 68020 and higher CMP2 68020 and higher DIVS.L 68020 and higher DIVSL.L 68020 and higher DIVU.L 68020 and higher DIVUL.L 68020 and higher EXTB.L 68020 and higher MOVE to CCR 68010 and higher {*1} MOVE from CCR 68010 and higher {*1} MOVEC 68010 and higher {*2} MOVES 68010 and higher MULS.L 68020 and higher MULU.L 68020 and higher PACK 68020 and higher RTD 68010 and higher RTM 68020 ONLY !! TRAPcc 68020 and higher UNPK 68020 and higher {*1} = 'MOVE from SR' and 'MOVE to SR' have become privileged instructions as off the 68010 !!! Use 'MOVE from CCR' and 'MOVE to CCR' in 68010 or higher modes. {*2} = MOVEC was implanted as off the 68010. These registers may only be spoken to when using a 68010 or higher: - SFC (Source Function Code register) - DFC (Destination Function Code register) - VBR (Vector Base Register) - USP (User Stack pointer) These registers may only be spoken to when using a 68020 or higher: - CACR (CAche Control Register) - CAAR (CAche Adress Register) - MSP (Master Stack Pointer) - ISP (Interrupt Stack Pointer) - New adressing modes implanted.... >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< >> All adressing modes are allowed in source and destionation mode << >> as long as the processor allows it << >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< D{number} = Displacement of maximum {number} bits Ax = Address register Dx = Data register Bd = Base displacement (when the Bd is defined as a constant the size will automaticly be set to Long) Od = Outer displacement (When the Od is defined as a constant the size will automaticly be set to Long) Size = size ({W}ord , {L}ongword) Scale = Scaling (only 0,2,4 or 8 allowed) (Dx) 68020 and higher (Dx.Size) 68020 and higher (Dx.Size*Scale) 68020 and higher (Dx.Size*Scale,Bd.Size) 68020 and higher ([Bd.Size,Dx]) 68020 and higher ([Bd.Size,Dx.Size]) 68020 and higher ([Bd.Size,Dx.Size*Scale]) 68020 and higher D8(PC) 68000 and higher D8(PC,Dx) 68000 and higher D8(PC,Dx.Size*Scale) 68020 and higher (PC,Dx.Size*Scale,BD.Size) 68020 and higher D8(Ax,Dx.Size*Scale) 68020 and higher (Ax,Bd.Size) 68020 and higher (Ax,Dx.Size,BD.Size) 68020 and higher (Ax,Dx.Size*Scale,BD.Size) 68020 and higher ([Bd.Size,Ax]) 68020 and higher ([Bd.Size,Ax],Dx.Size*Scale) 68020 and higher ([Bd.Size,Ax,Dx.Size*Scale]) 68020 and higher ([Bd.Size,Ax],Dx.Size*Scale,Od.Size) 68020 and higher ([Bd.Size,Ax,Dx.Size*Scale],Od.Size) 68020 and higher {Dx/D5:Dx/D5} 68020 and higher (Bitfields) {(Ax):(Ax)} 68020 and higher (Bitfields) Just buy a good processor book and find out how they work !! - Warnings on/off implanted. Look in the Assembler/Assemble.. menu When a specific or higher proccesor is needed for the command you used a warning will be shown (1 maximal per line) You can turn off the warnings by disableling the Warnings menu item When you have this item enabled all 68010++ commands/adressing modes will show a warning !! even when you have specified a 68040 in your system. When you have this item enabled the warnings will be remembered in the error table so you can use Amiga-e in the editor again to find them. When you have this item enabled and are disassembling ' ; 680x0 mode' will be added to the line. Debugger/Disassembler --------------------- - Added the VBR register on the right side. - Changed the debugger. It checks the processor used in the system. This is needed to check if there has to be a longer stackframe for returning When a programm is executed or stepped thru Asm-One will clear all cache at the beginning of the programm, or at the start of each step procedure !!! Remeber >> Don't use Self Modifying Code on the 68020/30/40 without disableling and clearing INSTRUCTION Cache !! - All new commands now also disassemble. Due to the fact that 1 commandline now can reach up to more than 80 characters sometimes the line is cut off. >>>>>>>In Debug/disassembly mode-Halfscreen (@D)<<<<<<<<<<< move.l ([$400.w,a0],d1.w*2,$78000.l),([$800.l,a1,d2.l*4],$88220.l) will be converted to {adres} 23B01327040000078000>MOVE.L ([$0400,A0],D1.W*2,$00078000.L),([$000> ^ ^ | | ----------- Meaning this is not all !! --------- >>>>>>>>In disassembly mode-full screen (D)<<<<<<<<<< move.l ([$400.w,a0],d1.w*2,$78000.l),([$800.l,a1,d2.l*4],$88220.l) will be converted to {adres} 23B01327040000078000>MOVE.L ([$0400,A0],D1.W*2,$0007800> ^ ^ | | ---- Meaning this is not all !! ----- >>>>>>>>When including disassembly (ID)<<<<<<<< move.l ([$400.w,a0],d1.w*2,$78000.l),([$800.l,a1,d2.l*4],$88220.l) will be converted to MOVE.L ([$0400.W,A0],D1.W*2,$00078000.L),([$00000800.L,A1,D2.L*4],$00088220.L) ********************************************************* * Update report from ASM-One V1.15 to V1.16 * * Release date : 05-04-'93 * ********************************************************* My birthday, Anybody wanna send me a gift ??? OVERALL ------- - Since the 68020 and higher allow odd word/longword adressing it's implemented in Asm-One. You can now use words,longwords at odd adresses. You can not use ODD coding in Asm-One !!! COMMAND LINE ------------ - Added the indirect memory acces. When you use tabels and pointers you allways had to look in the pointer and then find out the info about the adress. This can now be done in one step. Just add the { between the command and the adress/pointer Example: @h{4 will give you the hexdump starting at the ExecBase. @h{.l4 will give you the hexdump starting at the ExecBase in longwords @h4 will give you the hexdump starting at adress 4 @h{sinuspos will give you the hexdump starting at the adress that was in the pointer: sinuspos. The same is used for @a,@d,@n,@b. REMEMBER : if you use .w or .l on a 68000 processor bit 0 of the pointer AND value of pointer will be cleared !! on a 68010+ system this will not happen. ASSEMBLER --------- - Go command bugged. The stackframes of the 68000/10/20/30/40 are NON compatible, all stackframes are recognized and handled now. - A 'STUPID' bug was in the 1.3 version. I forgot to check for the OS somewhere and that made the Go and Jump command hang when running a OS 1.3 Amiga !!! (Sorry.......) - The (pc,dx) / d8(pc,Xn) / (d16,pc,Xn) / ([Bd.s,pc],Xn,Od.s) didn't assemble. Now it does..... - When a incdir was set with a assign or device and in the include command was a assign or device both names were used. Now the incdir device/assign is filtered out when in the include is an assign or device set to !! DEBUGGER -------- - Some {2 words} commands did disassemble right but gave a error when you executed them in the debugger.. (like MULU.L (a0,d1.w,$400),d0:d2) Solved now. ********************************************************* * Update report from ASM-One V1.16 to V1.20 * * Release date : 19-09-'93 * ********************************************************* EDITOR ------ - CTRL-up CTRL-down is now selectable. Due to the fact that i got very much responseto this function i made it selectable. Quote #1 : "I love you for implanting this" Quote #2 : "Change this at once!!!" You'll find it in the environment/editor section of the preferences. - When entering the editor and using AMIGA-E (jump to last error line) without assembling a source first the editor could hang or give strange message !! solved now. - When exiting the editor when the mouse button was pressed some errors occured. When entering the editor the Mousepressed flag will always be cleared now. - Mark blocks with mouse implemented. When pressing the left mouse button on the same place in the source twice will start marking the block. When the block is on and you press the left mouse button on the same place twice it will UNmark the block. - Comment & Uncomment block implemented You can now quickly comment or uncomment a block. Comment block will place a ; at the start of each line. Uncomment block will delete the first character of each line if that character is a ; Comment & Uncomment block can be found in the editor/block menu. Shortcuts are : Amiga-; = Comment block Amiga-: = Uncomment block - At some places the Source-changed flag will be set. Like : Rotate-block. Search & Replace. Deleting a character with DEL or BACKSPACE will now set the SOURCECHANGED flag. (Why didn't it before ???) - Custom tabs implemented At the request of many user i implemented the custom tabs function. It works the same as Trash'm-one. Just define the tabs at the first line of your source. 1 2 3 4 5 6 7 1234567890123456789012345678901234567890123456789012345678901234567890 line 1 ;----------T--------T-------------------T---------T will create tabs on the 12th,21th,41th and 51th column. When you only specify a part of the line the tabs will continue with the standard format. When no tab-define line is found at the top of the source the standard tabs will be used. When changing the tab-definition line the source will be adjusted accordingly. MONITOR ------- - The Quickjump command didn't work. This was caused by the (hidden) fast-exit command (never documented, it was AMIGA-q). fixed now. OVERALL ------- - The new REGSDATA now contains ALL aga information available. (Got this stuff from commodore itself hehehehehe... Not the 'missing page 19/last page' textfile.) P.S. The amigaguide file is also present on the disks. - When the V (Change dir) command was issued at the command line with a file instead of a directory the file would be locked and never released again. Now it is not possible to change your directory to a file !! - When the =R command was issued and it was broken off by a CTRL-C and the Resident-regsdata wasn't on the space allocated for the regsdata file wasn't freed. Not it is !! Since the Regsdata's size is now over 100Kb (Including all ECS/AGA information) it's better to make it NON-resident. Unless you've got lot's a memory to spare.... - Added the Assembled/Run/New flag in the status bar. (Like in Trashm) - = New. a = Assembled and run. A = Assembled not run yet. - You can now specify a own .pref file when starting Asm-One from the CLI. Asm-One_V1.20 -sources:megademo/megademo.pref \f\300\r demo.asm\ Will first load the sources:megademo/megademo.pref as a preference file. After that the usual command line will be continued. This way you can pre-specify the preference file you want for each time you start Asm-one. - Enable/Permit upon reentry of Asm-One Some users reported a 'bug' how Asm-One hung upon reentering the editor and clicking the mosue somewhere in the source code after a faulty programm which used a Disabled/Forbid exec library call. Since this is NOT a bug in Asm-One i implanted a feature which allows you to execute the ENABLE/PERMIT exec library calls directly upon reentering Asm-One. This can be switched on/off in the Environment/Monitor-debugger preferences (Amiga-[) - Direct FPU calculation command implanted. This command work almost the same as the normal calculate command (?) Use the [ to calculate floating point numbers ! You will get the decimal AND the hexidecimal representation of the calculation. You can specify the size : .S .D .X .P This will have no effect on the calculation but will effect the hexidecimal output of the number. Extended precision (.X) is default Example: >[.s383.3827*56.54{enter} 2.16764579 E 4 $4D4EB90A.S > >[.x383.3827*56.54{enter} 2.16764579 E 4 $401A0000CEB90A2947AE2000.X > >[2/3{enter} 6.66666666»E-1 $401C00009EF21AAAAAAAAAAA.X | +- This means the number continues untill infinity. >[2/3{enter} 6.66666667±E-1 $401C00009EF21AAAAAAAA000.X | +- This means the number is inexact. The inexact and infinity flags only work in the commandline version !! Since during debugging Asm-One can not recognize which FPU register caused the inexact/infinity flag it will ignore them !!! - When a programm was terminated with an exeption or trap the cursor of Asm-One was fucked up. Fixed now.. - P command fixed. Didn't work at all... Guess almost nobody uses it because i only received 1 bug-report about it. - When starting Asm-One kickstart 2.0/3.0 version running a kickstart 1.2/1.3 system, you would see the message 'This version of Asm-One requires kickstart 2.04 or higher' and immediatly giving an guru after that. Solved now - Since V1.15 (only in the 2.0/3.0 version) all commands entered at the CLI where not recognized. So ASM-ONE_V1.15 \f\100\v tools\r my_prog.s\ didn't work anymore... fixed now.. - =S{characters} changed. (show symbols) Now you can specify the first, or the first two characters. When characters are specified the symbols table will be shown as off the entered characters. =Sex Will start the symbols table at ex..... =Se Will start the symbols table at e...... NOTE : When you have UCase=LCase on the characters you enter will be converted to UCase (since all the symbols will be!!) When you have UCase=LCase off it is important that you specify upper and lowercase characters. - Added the =A feature. This command will display all Asm-One Sections This enables you to look were Asm-One is located in memory (5 blocks) - When writing an Object,Linkfile or Binary the filename in the requester will be the source filename without the .xxx extension. Everything from the . character will be removed from the name. - When zapping your source your incdir will be cleared now too. - Preferences split up to 2 windows: 1.) Assembler preferences (Start with Amiga-[ ) 2.) Environment preferences (Start with Amiga-] ) Which can be found in the Assembler menu. All according to the commodore standards. Menu's are available when the preferences are active. You can now : - Save - Save as - Load - Return to default - Cancel - Use without saving (Same as close window in previous version) At bootup Asm-One will use ASM-ONE.PREF When loading a preference file Asm-One DOES NOT check the file !!! So make sure it's a .PREF file ! -------- I don't know what will hapen if the file you load isn't a Asm-One .pref file. Especialy when + and - characters are present in that file The boot command from the prefs file can be edited in the ENVIRONMENT preference window and will be saved now.. - Screen is now opened in Kickstart 3.0 mode. (when available) - All menu's are created using gadtools.library !! Only menu's that are usefull at that time will be shown, this will create a more efficient way of using menu's All menu's are rendered in Kickstart 3.0 mode. (when available) ASSEMBLER --------- - DIVS.L,DIVU.L,MULS.L and MULU.L didn't show a warning if the processor was lower then a 68020 in the preference file. Now they do. - At request of some {ex} Trashm'one users i implanted the addwatch command in source. it works exactly the same as Trashm'one ! - DS Clearing ON/OFF implemented. After some letters i decided to implement this. It can be found in the Assembler preference window. - In some rare cases it was possible that Asm-One crashed when trying to display the percentage counter. Solved now... - MOVES didn't assemble right. Now it does.. - MULU.L,MULS.L,DIVS.L,DIVSL.L,DIVU.L & DIVUL.L #xxxxxxxx,Dx:Dx didn't assemble right. They took the immediate data as a word. But it should have been a Longword.. This is corrected now. - CAS2 didn't assemble right !! now it does. - Link.l wasn't implanted. now it is... - Some PC relative adressingmodes gave a 'Relative mode error' when they shouldn't ! solved now. - When a error is encountered in a include file both the current source file line and the line inside the include file will be shown. This way it's easyer to locate the problem. - Some include file provided by Commodore ended with the ENDC !{incfile} This produced an error in Asm-One. This is now allowed !! (Since Commodore won't change their mistaches we have to work around it) - New data definition implanted NOTE: all FPU commands can be assembled without having a FPU, these data definitions NEED a FPU to assemble !! Directive Name Bits How DC.S Single precision 32 31 = Sign of fraction 30-23 = Exponent (8bits) 22- 0 = Fraction (23bits) DC.D Double precision 64 63 = Sign of fraction 62-52 = Exponent (11bits) 51- 0 = Fraction (52bits) DC.X Extended precision 80(96) 95 = Sign of mantissa 94-80 = Exponent (15bits) 63- 0 = Mantissa DC.P Packed decimal string 96 95 = Sign of Mantissa 94 = Sign of Exponent 93-92 = Invinity or NAN bits 91-79 = Exponent (12bits) 79-76 = +999 Exponent digit 75-68 = ALLWAYS ZERO !! 67- 0 = Mantissa (68bits) All the above forms can be used in BCD.x,BLK.x and DS.x directives All numeric expresions for these new data definitions are DECIMAL and HEXADECIMAL only !!! In hexadecimal mode you must provide all numbers for the float. Packed = 24 chars. Extended = 24 chars. Double = 16 chars. Single = 8 chars. Long = 8 chars. Word = 4 chars. Byte = 2 chars. The following mathematic expressions can be used for these data defenitions: Directive Name Example Result * Multiply dc.s 500.5*2.45 1226.225 + Add dc.d 500.5+2.1 502.6 - Subtrackt dc.x 500.5-2.1 498.4 / Divide dc.p 500.5/2.65 188.8679245 ^ Power dc.s 500.5^2 250500.25 - new registers implanted Assembler name Official name FP0 data register 0 FP1 data register 1 FP2 data register 2 FP3 data register 3 FP4 data register 4 FP5 data register 5 FP6 data register 6 FP7 data register 7 FPCR Mode Control Byte FPSR Status register FPIAR Instruction Adress Register - new MOVEC registers implanted for the 68040 TC ITT0 ITT1 DTT0 DTT1 MMUSR URP SRP - new MOVEC registers implanted for the 680ec40 IACR0 IACR1 DACR0 DACR1 - new commands implanted INSTRUCTION (CO)PROCESSOR MOVE16 68040 only FABS 68881/68882/68040 FACOS 68881/68882/68040 FADD 68881/68882/68040 FASIN 68881/68882/68040 FATAN 68881/68882/68040 FATANH 68881/68882/68040 FBcc 68881/68882/68040 FCMP 68881/68882/68040 FCOS 68881/68882/68040 FCOSH 68881/68882/68040 FDBcc 68881/68882/68040 FDIV 68881/68882/68040 FETOX 68881/68882/68040 FETOXM1 68881/68882/68040 FGETEXP 68881/68882/68040 FGETMAN 68881/68882/68040 FINT 68881/68882/68040 FINTRZ 68881/68882/68040 FLOG10 68881/68882/68040 FLOG2 68881/68882/68040 FLOGN 68881/68882/68040 FLOGNP1 68881/68882/68040 FMOD 68881/68882/68040 FMOVE (control register) 68881/68882/68040 FMOVE (data register) 68881/68882/68040 FMOVECR 68881/68882/68040 FMOVEM (control reg list) 68881/68882/68040 FMOVEM (data reg list) 68881/68882/68040 FMUL 68881/68882/68040 FNEG 68881/68882/68040 FNOP 68881/68882/68040 FREM 68881/68882/68040 FRESTORE 68881/68882/68040 FSAVE 68881/68882/68040 FSCALE 68881/68882/68040 FScc 68881/68882/68040 FSGLDIV 68881/68882/68040 FSGLMUL 68881/68882/68040 FSIN 68881/68882/68040 FSINCOS 68881/68882/68040 FSINH 68881/68882/68040 FSQRT 68881/68882/68040 FSUB 68881/68882/68040 FTAN 68881/68882/68040 FTANH 68881/68882/68040 FTENTOX 68881/68882/68040 FTRAPcc 68881/68882/68040 FTST 68881/68882/68040 FTWOTOX 68881/68882/68040 - New Syntax adressing modes label(pc) can now be written as (label,PC) label(pc,dn) can now be written as (label,PC,dn) label{-label}(an) can now be written as (label{-label},An) label{-label}(an,dn) can now be written as (label{-label},An,dn) - High coding commands !! Since sometime i've looked at diferent assemblers and MOST of them gave a relative mode error when trying to assembly the following line: MOVE.L $7F(PC),d0 This is theoreticly possible since the following piece of coding will produce the same line MOVE.L b(pc),d0 dcb.b $7d,0 b: this last piece of coding will disassemble as MOVE.L $.......(PC),D0 so, after evaluating the different modes i discovered that BOTH lines are identical !!!, the first line (move.l $7f(pc),d0)) is just a High coding command ! no use of labels! just put the value (which would otherwise be converted from a label) in the command. Asm-One will allow this way of coding !! it's just not as easy as using a label to do exactly the same !!!! The same is for ($xxxx,PC) / (PC,Dx,$XXXXXXXXX) DEBUGGER -------- - On 68010++ systems the VBR was shown in the debugger.. I don't know if any of you noticed it but the first character of the line beneath the VBR line was missing !!! solved now - FPU registers during source level debugging. Now you can switch the Dx registers and FPx registers while in the source level debugger. This will enable you to watch what you are doing with your FPU. This is only available when you have an FPU !!! Switch between the Dx and FPx with Amiga-Shift-c or select CHANGE Dx/FPx in the debugger menu. (When no FPU is found this menuitem will be disabled) DISASSEMBLY ----------- - The bitfield commands didn't disassemble right. Every time when a imediate number was used the $ was forgotten. - The CHK2.B command didn't disassemble. Solved now. - All fpu commands should disassemble. - MOVE16 (68040 only) now disassembles. COMMAND LINE ------------ - X (show registers) command extended !! This also applies to the end of a program or a breakpoint reached !! If you have 'FPU present' ON in the assembler preferences AND you have a FPU or integrated FPU in your CPU all FPU information will be shown. Example : 1.) D0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 2.) A0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 004DA694 3.) SSP=004DB694 USP=004DA694 SR=0004 -- -- PL=0 --Z-- PC=004EAE7E VBR=005C5056 4.) FPCR= 0000 BSUN=0 SNAN=0 OPERR=0 OVFL=0 UNFL=0 DZ=0 INEX2=0 INEX1=0 5.) FPSR= 00000000 BSUN=0 SNAN=0 OPERR=0 OVFL=0 UNFL=0 DZ=0 INEX2=0 INEX1=0 6.) N=0 Z=0 I=0 NAN=0 S=0 QU=00 IOP=0 OVFL=0 UNFL=0 DZ=0 INEX=0 7.) FPIAR=00000000 PRECISION=X ROUNDING=RN 8.) FP0: 0.00000000 E 0 0.00000000 E 0 0.00000000 E 0 0.00000000 E 0 9.) FP4: 0.00000000 E 0 0.00000000 E 0 0.00000000 E 0 0.00000000 E 0 10.) PC=004EAE7E 4E75 RTS Line 1,2,3 and 10 should be familiar. Line 4 shows the FPCR Line 5 shows the FPSR Line 7 shows the FPIAR Line 8 shows the FP0 till FP3 Line 9 shows the FP4 till FP7 Explanation of abreviations: ; Part of BSUN = Branch/Set on UNordered ; \ SNAN = Signaling Not-A-Number ; \ OPERR = OPerand ERRor ; \ OVFL = OVerFLow ; \ Mode Control Register UNFL = UNderFLow ; / DZ = Divide by Zero ; / INEX2 = INEXact operation ; / INEX1 = INEXact decimal input ; / ; Part of N = Negative ; \ Z = Zero ; \ Condition Code Byte I = Infinity ; / NAN = Not-A-Number or Unordered ; / ; Part of S = Sign of Quotient ; \ Quotient byte QU = 7 least significant bits of quotient ; / ; Part of IOP = Invalid operation ; \ Accrued exeption byte INEX = inexact ; / Precision abreviations: S = Single D = Double X = Extended U = Undefined Rounding abreviations: RN = To nearest RZ = To Zero RM = To minus infinity RP = To plus infinity ********************************************************* * Update report from ASM-One V1.20 to V1.25 * * Release date : 07-04-'93 * ********************************************************* » Trash'm-One V2.0 came out !! » » 'Totally ReWritten code' » » Well Rune, Look's like you gave the source to Deftronic. Why ??? » Just because he's an old friend of yours or to put T.F.A's Asm-One down ?? » » (I hope it's the first option) » » Anyway, We'll see what the future will bring us. My guess is that Trash'm-One » will lead it's own live as like Asm-One. » » Just a fast reminder: Deftronic told everybody the first Trash'm-One was » a re-write/add-write of Asm-One V1.02. To bad he forgot? » to mention some parts (Create sinus,Create dir and more) » where taken from Asm-One V1.05 (or so) by T.F.A. » (And that's a fact because i checked the code !) » » I'll will continue my work with the Asm-One we have and hope that both version » will suit the needs of the many. » » Deftronic : Succes with the source. But keep playing fair. It's not how big » your name in the scene is but HOW YOU GOT IT !!!! » » PS: Get the exit command (!) to work with the latest reqtools !!! » Get the R {filename} implanted again » Get the Zap Source (zs) to work with the latest reqtools » Did you test this version on MC68020++ systems ????? » The =l command doesn't work (maybe a 68020++ problem ???) » I liked your solution to the preference window !! looks very nice » The Write Link file (WL) doesn't bug like you said. The problem is » in the section statement (hint) » » Come on man !! how old are you ????? are you realy putting this shit in » a great assembler ????? »;---------------------------------------------------------------------------- Deftronictext: dc.b 'Deftronic was the coder of this FANTASTIC Assembler!',$A,0 dontmentiontext:dc.b "DON'T MENTION THAT NAME!!!",$A,0 tfanothintext: dc.b "YES! T.F.A. has nothing to do with TRASH'M-One..',$A,0 promaxtext: dc.b 'PROMAX was the creator of ASM-One..',$A dc.b 'I got the source from him not from RESOURCE!' dc.b '!',$A,0 »;---------------------------------------------------------------------------- » Straight from your Trash'm-One V2.0 !!! (yes resourced) » » 'Deftronic was the coder' <---- Nope.... Rune was,is and allways will be » 'not from RESOURCE!' <---- mmmhh... May i remind you of all the » previous versions of Trash'm-One » Did you get the source then ????? » » Why , o , why do you have to pretend you coded the shit? The things you've » added to Trash'm-One are cool enough so why brag about stuff you didn't do? » » Why implement Weird texts to bring Asm-One down ? can't stand the competition? » » » Friendship Rulez » » Signed : Price / T.F.A. ******************************************************************************** * * * Now for the changes & add-ons of Asm-One V1.25 * * * ******************************************************************************** OVERALL ------- - When you returned in Asm-One with an error (Like division by zero) on aga machine's the screen could go blank. This was caused by, Not loading the oldview back. This is now solved. - The AGA.GUIDE can now be called from Asm-One within : . The Editor . The Commandline . The Monitor (All functions) Use Amiga-= or the menu function. The AGA.GUIDE must be placed in the S: directory !! - !! Quick exit, This will allow including Asm-One in a script file. eg. Asm-One -dh0:s/linker.pref \p\300\v eautils\r bull.asm\a\wl ram:tt\!!\ This will start Asm-One, Using the dh0:s/linker.pref as preference file allocating 300Kb public memory, Jump to the EAutils directory read the bull.asm source,assemble it, write it to Ram:tt as linkfile and exit Asm-One. P.S. There could come requesters at some points. But Reqtools will automaticly put the Asm-One screen in front of any others before executing the requester. - Oeps, forgot to (or removed) some TAG_DONE's and that caused Reqtools V38.1092 to crash the system. Solved now anyway..... EDITOR ------ - Now the editor can scroll right and left (FiNaLy!!!!) Special thanx must go to BlackHawk/Paradox for giving me a part of his own adjusted source. ! Friendship Rulez ! - KEEP X You can specify if you want to select this function in the environment/preferences. If you activate this function Asm-One will always try to reach the old X position of the cursor when you move to the next/previous line or jump pages. The X position will be remembered when moving a character to the left,right,eol,bol,search&replace or using the mouse. Jumping to tof or bof will set the x-remember to colomn 1. (Exiting and reentering the editor will NOT clear the x-remember) - MULTIPLE SOURCES Finaly implanted this function. After a lot of messages from users and some heavy consideration i implanted this function. All sources are kept in memory. NO FILE'S ARE SAVED while in Asm-One. This is somehow different than TRASH'M-One, which saves the file's and info to RAM:. Advantages : No memory will keep being occupied after exiting Asm-One. Fast changing between sources. (+- 1 second for a 500Kb source on a MC68000) Disadvantages: Memory fragmentation can occur when you switch much and keep changing the size of the sources. These points will be saved in memory when switching between sources : 1.) Source 2.) Filename 3.) Update place 4.) all 10 Marks 5.) Flags 6.) Copy buffer 7.) Includes kept per source Now you can switch between 10 source with the F1 - F10 keys. While switching between the 10 sources the copybuffer will be held so you can copy parts from source to source. When exiting Asm-One all sources will be checked. When a source is still in memory and not saved you will be warned. The warning only applys to the first -NOT SAVED- source. If there are multiple sources which are not saved yet you will get a message everytime you try to exit Asm-One If you use the (new) Quick-Exit function of Asm-One no source will be checked and all changes done will be lost !!!! All occupied memory will be freed offcause. - UnComment debugged Sometimes when uncommenting a block 1 ; would remain in the source. ASSEMBLER --------- - Includes are now case sensitive stored if the UCase=LCase function is off. This way you can use Asm-One in networks which require that the filenames are given in correct case. (Hay Rhino, nice option he ???) - movem.l {label}(pc),{reglist} gave a relative mode error.. Solved now. - movem.l {reglist},(pc,.....) didn't give an error when it should !! no PC relative moves are allowed in RL->MEM movem opcodes. - Nasty bug removed ! When you specify an offset with 'dc.w