kwf@ncsu.UUCP (Kenneth W Fernald) (09/24/85)
Does anyone out there have any experience with the macro assembler package written by cbm for the c64 (it comes in a rectangular blue and white envelop). I'm mainly interested in a general opinion of its worth and competance. By the way, its simply called "ASSEMBLER" on the package. Does it input code using the kernal editor or does it have its own? Please reply by mail. Thanks in advance. Ken Fernald ...decvax!mcnc!ncsu!kwf p.s. I'm just looking for a good, solid assembler, nothing fancy. -- --------------------------------------------------------------------- Ken Fernald (...decvax!mcnc!ncsu!kwf)
bruce@ctcgrafx.UUCP ( Bruce Ross x275 ATVT ) (09/26/85)
Regarding this post, Ken writes : > Does anyone out there have any experience with the macro assembler > package written by cbm for the c64 ... > ..... Please reply by mail. I'm certain that a few cbmmers are out in netland who would like to find out more about C64 assemblers (cartidge, disk or tape ). Please post any responses to the net. Thanx Bruce Ross ~~~~~~~~~~
sbp@panda.UUCP (Brown Pulliam) (09/26/85)
In article <2937@ncsu.UUCP> kwf@ncsu.UUCP (Kenneth W Fernald) writes: >Does anyone out there have any experience with the macro assembler >package written by cbm for the c64 ... That was the first assembler I tried for my C-64, and I was somewhat put off by what I considered un-necessary complexity. It does include an Editor which you load first. This editor is not bad, though I would prefer one that doesn't need line numbers. After you have completed your source program, you load and run the Assembler, which has a number of options regarding what gets displayed on the screen or printed out (if you have a printer). At this point, I begin not liking this system, because there is no way you can just assemble to a particular block of RAM, you must assemble back to disk (or cassette, I think) and even then it is not a straight object file, but must be brought back by first loading a Loader program. This is probably useful if one is trying to link several object files into one big machine language program, but is a lot of messing around if all you want to do is write a moderate length M.L. task. I haven't been able to try all the assemblers I've seen advertised, but one that can be used as a "resident" assembler that has the option of assembling directly to another part of RAM (or Disk as well) is PAL by Brad Templeton, available from PROLINE in Canada. It uses the built in C-64 Kernal editor, and sells for about $39. They (PROLINE) also sell a BASIC enhancement called POWER that includes a better line oriented editor (with search and replace, etc) that is useful for creating your assembly source program and is frequently sold as a package with PAL, but if you are attempting to keep everything resident, and assemble to RAM, POWER takes away some of your available RAM space. What I would like to find, and if anyone can point me to it I would be grateful, is an Editor-Assembler combination like Rockwell had for their AIM-65 single board computer. In that computer, the editor was part of the 8K monitor, but had nice simple commands, and the assembler was a 4K ROM add-on. Brown Pulliam (My opinions are not GENRAD's)
wutka@gitpyr.UUCP (Mark Wutka) (09/27/85)
Yes, I believe I have the assembler you are talking about. You use the editor with a few added routines such as search, renumber, delete. Instead of saving the file with the line numbers, it just writes it as a sequential file with no line numbers so an alternate way to renumber the program would be to save it and load it in again. I like the way it stores the programs since I can easily upload them to our Cyber and send it off to the laser printer. My main gripe about that particular assembler is that you have to invoke the editor, and then load and run the assembler and then load in a program that loads in your program. It creates an object file that is in some weird format so you need the loader to put it into the memory. The documentation is adequate, at least, it is if you already know how to program in 6502. It gives no tips for actual program writing (although I imagine that most programs don't). It DOES give you two monitor programs - one to load into $8000 and one to load into $C000 so that you don't have to worry as much about the program taking up the same memory as the program. One other thing, the assembler doesn't have quite as many pseudo-ops as the PAL assembler, which is the only other 64 assembler I am familiar with. I don't believe it allows the < and > options. -- Mark Wutka Office of Computing Services Georgia Institute of Technology Atlanta, Ga. ...!{akgua,allegra,amd,hplabs,ihnp4,masscomp,ut-ngp}!gatech!gitpyr!wutka ...!{rlgvax,sb1,uf-cgrl,unmvax,ut-sally}!gatech!gitpyr!wutka Official member of NERDS (NERDS Existing in a Recursively Defined System)
jmw@sdchema.UUCP (John M. Wright) (10/02/85)
The CBM assembler package *does* support the "<" and ">" options, if what you mean is a way to specify the high or low byte of a symbolic address as an 8-bit operand. On the whole, the CBM assembler package is satisfactory (for the price - mine cost $20.00), but the documentation is pretty wretched; nowhere does it *say* that the "<" and ">" can be used to specify high and low byte of a symbolic address, for instance. The examples of code are incomplete and contain some incomprehensible symbols. Some of the features for saving parts of programs do not work as advertised. The editor seems solidly based on the kernal one, but has extensions like automatic line numbering and renumbering, and a way to search for a designated string. Basically a pretty good system, for the price. (At least, it was when the price was about $20.) John Wright ---sdcsvax!sdchem!jmw
pugsly@isrnix.UUCP (David Roth) (10/05/85)
I use MAE and like it. Here is some mail I have when I talked to a fellow usenet/c64/6502/friend about MAE soon after which I bought it. What he sent me was from there flyer..soooo it sounds like a commerical and just try and read through it. David A. Roth ...decvax!pur-ee!isrnix!pugsly Indianapolis,IN I have nothing to do with the company and all that stuff...here it is: ________________________________________________________________ Don't waste your money on those other so-called "professional" assemblers. A number of others are written in BASIC and thus are so slow they are unusable. MAE is written in machine language and is fast and powerful. In addition to the assembler/editor, MAE also includes a Machine Language Monitor (CBM 64, ATARI, and Commodore versions), a word processor, plus many other user software files. The CBM 64 and Commodore versions of MAE have access to an users group that contains numerous public domain programs. _M_A_E - _M_a_c_r_o _A_s_s_e_m_b_l_e_r/_T_e_x_t _E_d_i_t_o_r _S_e_e _R_e_v_i_e_w _i_n _C_o_m_p_u_t_e _a_n_d _K_i_l_o_b_a_u_d! _U_s_e_d _i_n _t_h_e _S_p_a_c_e _S_h_u_t_t_l_e _P_r_o_j_e_c_t! The only disk assembler that was adapted for all the major 6502 microcomputers. Thus you can be assured that you have a "compatible" software package. MAE is a machine language development aid for the following computers: [list follows, includes C64 w/1541 or 4040/8050 if CLINK 64 is used.] NOTE: Please specify computer and disk drive when ordering. MAE contains the most powerful 6502 assembler and text editor currently on the market. If you are looking for a professional development tool that can greatly increase the productivity of your programming staff, then MAE may be the answer. Check these features: _G_E_N_E_R_A_L -MAE was written entirely in machine language- not in BASIC like some assemblers we know of. Thus you get very fast and accurate assemblies. -PET versions coexist with BASIC -38 error codes, 27 commands, 26 pseudo ops, and 5 conditional assembly operaters. -Has built in software UART (110 - 9600 baud) which can drive an external device (PET and APPLE versions only) -All commands oriented for disk operation [note: they also sell a cassette- based assembler; mail 'em for details] -Macro, Conditional Assembly, and Interactive Assembly capability. -Optionally creates executable object code in memory or relocatable object code on disk. -ATARI version contains its own machine language monitor for debugging and working with the 6502 and RAM [note: so does the C64 version] _T_E_X_T _E_D_I_T_O_R _F_E_A_T_U_R_E_S -Auto line numbering for easy source entry. -String search command (]FIND). -String search and replace command (]EDIT). -String search and conditionally replace by stepping thru file and prompting user for determination of replacement (]EDIT *). -Commands to copy and move one or more source lines (]COPY, ]MOVE). -Renumber source file command (]NUMBER). -Command to delete one or more lines (]DELETE). -Load and record commands (]GET ]PUT). -Source files can also be appended to current file (]GET APPEND). -Each source file loaded results in a status summary consisting of length in bytes plus the address range where loaded. -Word Processor file included which adds capability to Right and Left Justify, center phrases, set margins, define text body shapes, titles, footers, link named disk files together, plus other text processing features. [note: this may be misleading if you think word processors should work like EMACS-- this one looks more like nroff than anything else] _A_S_S_E_M_B_L_E_R _F_E_A_T_U_R_E_S -Labels unique up to 31 characters. User specifies maximum label length via ]FORMAT command. -Label expressions may be entered. EX: LDA TABLE-INEDX+1 -Hex, decimal, binary constants, and ascii strings may be stored. EX: .BY 'THIS IS A TEXT STRING' .BY %1101 $F3 49 'ABC' MASKBYTE -Can specify hi or lo part of a label. EX: LDA #H,OP.TABLE ;LOAD HI BYTE OF OP.TABLE LDA #L,VALUE ;LOAD LO BYTE OF VALUE -Free format input. Simply separate fields with one or more spaces and the fields will be automatically tabulated. -Conditional Assembly operators: IFE, IFN, IFP, IFM, SET. -Macros can be nested. -Both passes of assemblyare accomplished automatically. [note: although I haven't figured out why you'd want to, you can disable this feature and call them up separately] -Conditional assembly can be incorporated within macros. -Macro capability via .MD op (Macro Definition). -Non-repeating label capability for macros. -Capability to store executable object code in memory and/or output relocatable object to disk during assembly. -Assembler can store object code in memory at a different address from its execution address if desired (via .MC pseudo op). This is useful if object is to execute in memory space occupied by MAE. -Can assemble source from memory or, for long programs, multiple source files from disk as follows: .FI "MODULE1" .FI "MODULE2" .FI "MODULE3" -Complete listing can be generated during assembly (]ASSM LIST) or an errors only listing can be generated. Three ways to generate an errors only assembly: via ]ASSM NOLIST command via .LC pseudo op via DEL or CTRL 0 key during output -Interactive Assembly feature which provides for assembler to output messages and accept input during assembly process. EX: INPUT BEGIN ASSEMBLY ADDRESS ? 1000 -Command to output the entire symbol table or just certain types of symbols. -Sorted symbol table. _S_I_M_P_L_I_F_I_E_D _T_E_X_T _P_R_O_C_E_S_S_O_R _F_E_A_T_U_R_E_S The Simplified Text Processor (STP) is a word processor which allows a programmer to write his software documentation using the MAE editor. The STP makes the composing of text easy. The STP does left and right justification, automatic page numbering, footers and headers, and much more. The following are some more of the STP features. -Single/double/triple/etc. spacing, left and right justification, ragged right/left margins, centering, margin control, headers, footers, printing of text in shapes, text files may be linked so that document size is limited only by the amount of disk capacity. -STP text macros include: .LINK, .VSPACE, .Sn, .M, .NOFILL, .FF, .JU, .RR, .RL, .Ln, .C, .SWAP, .P, .T, .FOOT, .SET, and .SHAPE. _R_E_L_O_C_A_T_I_N_G _L_O_A_D_E_R _F_E_A_T_U_R_E_S -Separate program from Assembler/Text Editor, but is included with MAE package. -Provides capability to quickly relocate the ASSM generated relocatable object code file in 3 separate segments: 1) Program body 2) Absolute Variables 3) Zero Page Variables -One can also relocate but store the executable code at a different address. -Included in the MAE package is an executable copy of the relocating loader. A relocatable copy of the relocating loader is also provided in the PET and APPLE versions. USER COMMENTS "Beautiful piece of workmanship" "I am very happy with your package" "One of the few software products really worth its price" "Its the ease of use that impresses me most about MAE, though I am becoming increasingly aware of the inherent power and flexibility of the package." _M_A_E _M_A_T_E_R_I_A_L _S_U_P_P_L_I_E_D -MANUAL = 50+ page manual with description of all commands and pseudo ops, word processor commands, pseudo ops, many examples, and an example listing of a program which illustrates the assembler format. -DISKETTE = 5 1/4" compatible floppy diskette containing not only the MAE software but also several other useful program files. _N_O_T_E: COMPLETION OF ATTACHED [note: that's "attached to the MAE package", not "attached to the catalog I'm typing this out of"] LICENSE AGREEMENT MUST ACCOMPANY ORDER [that is, send in the license after you get your order]. MAE Diskette containing the Macro Assembler/Text Editor, STP Word Processor, Relocating Loader, plus many other files not described here, with full documentation- $59.95 ________________________________________________________________ I'll grant you that there's more than a little bit of hype in the description, but it's accurate. You may have noticed that they don't talk very much about the monitor. Now why is that, I wondered once to myself. I figured that the monitor must be something of a dog, but so long as the rest of it performed as advertised, I figured I was still getting my money's worth. If the monitor was inadequate, I reasoned I could go out somewhere and buy another, maybe the MICROMON, advertised elsewhere in the catalog. Lo and behold, the supplied monitor *was* MICROMON, except that it was on the floppy, not in cartridge form as in the other advertisement. Follows is the ad for MICROMON: ________________________________________________________________ NEW!! _M_A_C_H_I_N_E _L_A_N_G_U_A_G_E _M_O_N_I_T_O_R _F_O_R _T_H_E _C_O_M_M_O_D_O_R_E _6_4 The MICROMON Machine Language Monitor (MLM) provides 23 commands which are most useful to the machine language programmer. It provides the user with the capability to easily interact with the 6510 microprocessor and system memory. The MLM uses the CBM 64 screen editing capability which makes it powerful and easy to use. The MLM also incorporates the ability to use the cursor up and down keys to scroll the memory dump and dissassembler outputs. The MLM comes contained in an easy-to-use cartridge. The following is a list of the MLM commands. SIMPLE ASSEMBLER CHECKSUM COMPARE MEMORY SUBTRACTION DISASSEMBLER ADDITION EXIT MICROMON ASCII CONVERSION [note: ie return DECIMAL CONVERSION to BASIC] HEX CONVERSION GO RUN [$address] CHANGE CHARACTER SETS HUNT MEMORY [for string] EXIT TO BASIC [ie EXIT MICROMON] LOAD TRANSFER MEMORY MEMORY DISPLAY SAVE CALCULATE BRANCH OFFSET REGISTER DISPLAY BINARY CONVERSION KILL MICROMON Cartridge and manual = $24.95 ________________________________________________________________ And finally, some of the most pertinent information of all: EASTERN HOUSE SOFTWARE 3239 Linda Drive Winston-Salem, NC 27106 (919)924-2889 (919)748-8446 One last word about support: I was having trouble figuring out how to understand the directions for the relocating loader. I called the number above, and they gave me Carl Moser's home phone number. I couldn't get past the busy signal the first night. The next night I caught him in. He seemed somewhat rushed (he said he was on his way out), but gave me a quick answer to a quick question. I haven't had a chance to try my new knowledge out, yet, but I would assume that it was accurate. --Bill Buie
Merlyn@cisden.UUCP (Merlyn) (10/10/85)
< Accept this gift, O Great Line Eater! > I broke down and bought Abacus' Assembler Monitor 64 package last week. I had sworn I would never buy another Abacus software product after Tiny Forth, but the documentation looked great, and according to the people at my friendly neighborhood software store it was outselling MAE and PAL by 5 to 1. This does not look like the same company that produced Tiny Forth. In fact, it isn't. This assemler was written by a German company, Data Becker GMBH. It's pretty good. You don't have to load in a separate editor. You use the 64's Basic style program editing, saving and loading tools. You can do Basic processing before, during, and after assembly if you wish. You can send the object code to memory, disk files, tape files, or through a machine language filter of your own, or any combination. The source listings can be saved, printed, sent to the screen, or sent through a filter, or any combination. You can chain source files. You can save and load symbol tables for overlays. Addresses can be expressions of (almost) arbitrary complexity (you may have to use a temporary assembler variable to hold intermediate results for very complex expressions). You can do conditional and looping assembly. You can have macros of as many arguments as you can get on the line. You can include floating-point constants in the program. The monitor is pretty standard. Its big advantage is that it can coexist with the assembler. Gripes: Abacus wants $10 for a backup disk. That's steep for a $40 program. The documentation talks about the slightly different syntax of some instructios from the MOS standard, then says nothing more. I haven't found any differences yet, but I haven't tried real hard, either. Recommended. Tommy Phillips trantor!phillips