+Sheddy Posted May 10, 2018 Share Posted May 10, 2018 But opt h- has to be in data file. It's not a problem, just wondered if there was a way without having to do that. Quote Link to comment https://forums.atariage.com/topic/114443-mad-assembler-mads/page/3/#findComment-4025070 Share on other sites More sharing options...
+Sheddy Posted May 10, 2018 Share Posted May 10, 2018 Deleted Quote Link to comment https://forums.atariage.com/topic/114443-mad-assembler-mads/page/3/#findComment-4025081 Share on other sites More sharing options...
+JAC! Posted May 10, 2018 Share Posted May 10, 2018 if you want to build different targets, e.g. ROM + XEX, the easiest wat is to have two root source files, put the compile flags, opt + org there and then ICL "MAIN.ASM". The create a batch script that runs mads for both variants at once. Quote Link to comment https://forums.atariage.com/topic/114443-mad-assembler-mads/page/3/#findComment-4025095 Share on other sites More sharing options...
+Sheddy Posted May 11, 2018 Share Posted May 11, 2018 Yes, for something serious that makes sense, thanks. It's more my poor workflow than anything to do with Mads. I only noticed its absence as I sometimes do a quick and dirty assemble of data to see what size it is when using atasm. I can subtract 6 or stick in an opt line temporarily etc. I figured there could be more useful cases other than that. Sounds like probably there is not then, which is good ? Quote Link to comment https://forums.atariage.com/topic/114443-mad-assembler-mads/page/3/#findComment-4025373 Share on other sites More sharing options...
pirx Posted May 11, 2018 Share Posted May 11, 2018 what is the cleanest / simplest way of interweaving code and reserved blocks of memory? I'm thinking along the lines of reserving beginnings of subsequent pages, say 160 bytes per page, and using left overs for code. Is there a semi-automatic way of placing the code in the holes? Quote Link to comment https://forums.atariage.com/topic/114443-mad-assembler-mads/page/3/#findComment-4025399 Share on other sites More sharing options...
NRV Posted June 9, 2018 Share Posted June 9, 2018 Is it possible to change the value of a global label (temporary or not) from inside a macro?When I try to do things like: ?GLOBAL_LABEL = 1 GLOBAL_LABEL2 = 10 org $1000 .macro M_test1 ?GLOBAL_LABEL = 2 //:?GLOBAL_LABEL = 3 .print ?GLOBAL_LABEL .print :?GLOBAL_LABEL GLOBAL_LABEL2 set 20 //:GLOBAL_LABEL2 set 30 .print GLOBAL_LABEL2 .print :GLOBAL_LABEL2 lda #0 .endm M_test1 The ?GLOBAL_LABEL and GLOBAL_LABEL2 inside the macro are just different labels. And the commented lines both throw different errors.. Quote Link to comment https://forums.atariage.com/topic/114443-mad-assembler-mads/page/3/#findComment-4045382 Share on other sites More sharing options...
tebe Posted June 9, 2018 Share Posted June 9, 2018 .def Quote Link to comment https://forums.atariage.com/topic/114443-mad-assembler-mads/page/3/#findComment-4045390 Share on other sites More sharing options...
NRV Posted June 9, 2018 Share Posted June 9, 2018 Thanks! It works perfectly for the temporary label: ?GLOBAL_LABEL = 1 org $1000 .macro M_test1 ?GLOBAL_LABEL = 2 .def :?GLOBAL_LABEL = 3 .print ?GLOBAL_LABEL .print :?GLOBAL_LABEL lda #0 .endm M_test1 Quote Link to comment https://forums.atariage.com/topic/114443-mad-assembler-mads/page/3/#findComment-4045417 Share on other sites More sharing options...
Atari_Ace Posted June 10, 2018 Share Posted June 10, 2018 Another MADS 'bug' I hit while converting some old source code. ORG $600 CMP #-16 ; ok BWDSPD = -16 CMP #BWDSPD ; ERROR: Value out of range In general, MADS doesn't truncate expression to 8-bits automatically, which sometimes is nice and catches a bug, but in this case I'd argue it's not desirable. If it accepts signed 8-bit constants, it should accept signed 8-bit expressions. 1 Quote Link to comment https://forums.atariage.com/topic/114443-mad-assembler-mads/page/3/#findComment-4046070 Share on other sites More sharing options...
flashjazzcat Posted June 21, 2018 Share Posted June 21, 2018 (edited) Deleted. Edited June 21, 2018 by flashjazzcat Quote Link to comment https://forums.atariage.com/topic/114443-mad-assembler-mads/page/3/#findComment-4053796 Share on other sites More sharing options...
pirx Posted June 21, 2018 Share Posted June 21, 2018 As far as I can see INS "filename"* inverses the highest bit in bytes, like dta c'invers'* For inserting gfx it would be great to have a possibility to inverse all bits, e.g. this way: INS 'filename'! Quote Link to comment https://forums.atariage.com/topic/114443-mad-assembler-mads/page/3/#findComment-4054043 Share on other sites More sharing options...
Heaven/TQA Posted June 22, 2018 Share Posted June 22, 2018 Pirx... why? Your exporter should handle that Or did quick ass could that do? Quote Link to comment https://forums.atariage.com/topic/114443-mad-assembler-mads/page/3/#findComment-4054264 Share on other sites More sharing options...
xxl Posted June 22, 2018 Share Posted June 22, 2018 As far as I can see INS "filename"* inverses the highest bit in bytes, like dta c'invers'* For inserting gfx it would be great to have a possibility to inverse all bits, e.g. this way: INS 'filename'! .get 'gfx.dat' .byte .get[#]^$FF ??? Quote Link to comment https://forums.atariage.com/topic/114443-mad-assembler-mads/page/3/#findComment-4054273 Share on other sites More sharing options...
tebe Posted June 22, 2018 Share Posted June 22, 2018 (edited) As far as I can see INS "filename"* inverses the highest bit in bytes, like dta c'invers'* For inserting gfx it would be great to have a possibility to inverse all bits, e.g. this way: INS 'filename'! only '+', '-' ins 'filename'+128 .get 'filename' :.filesize('filename') dta .get[#]^$FF Edited June 22, 2018 by tebe 1 Quote Link to comment https://forums.atariage.com/topic/114443-mad-assembler-mads/page/3/#findComment-4054309 Share on other sites More sharing options...
pirx Posted June 23, 2018 Share Posted June 23, 2018 sweet, thx! Quote Link to comment https://forums.atariage.com/topic/114443-mad-assembler-mads/page/3/#findComment-4055112 Share on other sites More sharing options...
patjomki Posted September 22, 2018 Share Posted September 22, 2018 (edited) Perfect! Works 100% under Linux and looking at the fix I'm sure it'll work under Mac OS X, too. Will try that once my Mac setup is up and running. Thanks, tebe! Is this version (source code) already published? I could only find 2.07 on http://mads.atari8.info/ and want to compile the latest version for mac os x. Edited September 22, 2018 by patjomki Quote Link to comment https://forums.atariage.com/topic/114443-mad-assembler-mads/page/3/#findComment-4118527 Share on other sites More sharing options...
tebe Posted September 23, 2018 Share Posted September 23, 2018 on the same page -> [Download package], [source] Quote Link to comment https://forums.atariage.com/topic/114443-mad-assembler-mads/page/3/#findComment-4118996 Share on other sites More sharing options...
patjomki Posted September 23, 2018 Share Posted September 23, 2018 But this is only 2.07? Shouldn't it be 2.11 instead? Quote Link to comment https://forums.atariage.com/topic/114443-mad-assembler-mads/page/3/#findComment-4119021 Share on other sites More sharing options...
tebe Posted September 23, 2018 Share Posted September 23, 2018 (edited) 2 November -> 211, its date, not number version Edited September 23, 2018 by tebe Quote Link to comment https://forums.atariage.com/topic/114443-mad-assembler-mads/page/3/#findComment-4119291 Share on other sites More sharing options...
patjomki Posted September 23, 2018 Share Posted September 23, 2018 Thanks for clarification. Quote Link to comment https://forums.atariage.com/topic/114443-mad-assembler-mads/page/3/#findComment-4119343 Share on other sites More sharing options...
tebe Posted September 29, 2018 Share Posted September 29, 2018 Hi tebe, a minor nit. I noticed that .BYTE doesn't implement additive modifiers like in MAC/65. 1 ORG $600 2 FFFF> 0600-0607> EA NOP 3 0601 C1 C2 C3 .BY +$80,'ABC' 4 0604 80 41 42 43 .BYTE +$80,'ABC' Fortunately .BY does, but perhaps .BYTE and .SBYTE should pick up this feature as well. use .BY, .SB .BYTE, .WORD, .LONG, .DWORD have a special meaning for other directives 1 Quote Link to comment https://forums.atariage.com/topic/114443-mad-assembler-mads/page/3/#findComment-4123816 Share on other sites More sharing options...
+JAC! Posted November 8, 2018 Share Posted November 8, 2018 Hi tebe, I am frequently porting stuff from other assemblers and do binary comparision of the results to see if I made mistakes. There I found that basically all other assemblers use $00 as fill byte for ".ds", but MADS uses $ff if OPT F+ is active. Could you add an option to specify the fill byte somehow? Best regards, Peter. 2 Quote Link to comment https://forums.atariage.com/topic/114443-mad-assembler-mads/page/3/#findComment-4152786 Share on other sites More sharing options...
+Sheddy Posted December 14, 2018 Share Posted December 14, 2018 Minor error in documentation: A ':' specifies the number of times to repeat the line (in the case of a macro, this specifies a macro parameter by number if it is in decimal). The repeat count should be in the range <0..2147483647>. When repeating a line with ':repeat', it is possible to use the loop counter in the repeated line using a hash sign ('#') or the parameter :1. repeat count is only 16-bit using ":" <0..65535> but it's true for .rept (thankfully!) 1 Quote Link to comment https://forums.atariage.com/topic/114443-mad-assembler-mads/page/3/#findComment-4176786 Share on other sites More sharing options...
ascrnet Posted December 15, 2018 Share Posted December 15, 2018 Hi all, thanks tebe for creating MADS, I really like this assembler. Now I was doing a demo, I do not know if you can invert bytes easily. since .byte %00000001 .byte %00000011 .byte %00000111 to .byte %10000000 .byte %11000000 .byte %11100000 Well the idea is to design a player and be able to invert it so that it looks left or right just using a sprite regards Quote Link to comment https://forums.atariage.com/topic/114443-mad-assembler-mads/page/3/#findComment-4177535 Share on other sites More sharing options...
+JAC! Posted December 15, 2018 Share Posted December 15, 2018 Hi all, thanks tebe for creating MADS, I really like this assembler. Now I was doing a demo, I do not know if you can invert bytes easily. since .byte %00000001 .byte %00000011 .byte %00000111 to .byte %10000000 .byte %11000000 .byte %11100000 Well the idea is to design a player and be able to invert it so that it looks left or right just using a sprite regards Unary operators: + Plus (does nothing) - Minus (changes sign) ~ Bitwise not (complements all bits) ! Logical not (changes true to false and vice versa) < Low (extracts low byte) > High (extracts high byte) ^ High 24bit (extracts high byte) = Extracts memory bank : Extracts global variable value Quote Link to comment https://forums.atariage.com/topic/114443-mad-assembler-mads/page/3/#findComment-4177558 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.