SjASMPlus Z80 cross assembler

ZXNet echo conference «code.zx»

From aprisobal To All 2 January 2006

Hello Robus Due to the fact that Italian MSX fan Arturo Ragozini sent a bug report for SjASMPlus, I'm releasing a new version of the latter - 1.05 Stable: - Fixed a glitch when processing the names of included files (thx 2 A.Ragozini) - The compiler executable file now has an icon - (!) The program includes a version for FreeBSD - Fixed a bug where "END" could not be used as a label - Fixed a bug when the repeat directive .number worked at the beginning of a line (thx 2 A.Ragozini) - Added a new switch -B, disabling the ability to write directives from the beginning lines Download: http://zx.pk.ru/attachment.php?attachmentid=2062

From aprisobal To All 20 January 2006

Hello, aprisobal New version of SjASMPlus - 1.06 RC1. > New in 1.06 RC1: > - ATTENTION! To initially increase assembler compatibility with > by others, the -B switch now enables (instead of disabling as before) the feature > records directives from the beginning of the line > - Fixed a bug with character processing, number in the ascii table > of which there are more than 127 > - Fixed a bug with processing DISP/ENT directives > - Added the DEFM/DM directive as a synonym for the DEFB/DB/BYTE directives > - DEFL(new directive) and LABEL=... can be reassigned. > - Fixed a bug with the inability to use numeric labels > DUP/REPT > - New DEFARRAY directive for creating DEFINE arrays Download: http://zx.pk.ru/attachment.php?attachmentid=2338 Sources: http://zx.pk.ru/attachment.php?attachmentid=2339

From Witch Doctor To All 2 February 2006

Hello Robus Rob> That's why Golden Eagle didn't finish writing its WORMS on Speccy, Rob> everything eventually went wrong!!! Not true! Nothing was wrong. Even my little one remembers the conversation with Eagle... And the problem There was a shortage of 1 page for tags. Just. Alasm suited him quite well. And Alem promised more pages... We decided to wait... :) we just gave up :)

From Robus To All 3 February 2006

Hello Robus Rob> ..........there really weren’t enough of them, so the latest version of WORMS Rob> Eagl rewrote it under "tasm". After Golden bought himself an Amiga and only then Rob> scored on speckie. Although almost no one knows the real reason for the "clogging" Rob> knows, except Max and Eagle, and races.................... Although, why am I wasting time on this... How should I know... Alasm - ASBEST, CJASM - ASBEST!!! I'm going to finish the last project... =)

From Robus To All 3 February 2006

Hello, Witch Doctor > Not true! Nothing was wrong. Even my little one remembers the conversation with Eagle... > And the problem was the lack of 1 page for tags. Just. Alasm > suited him quite well. And Alem promised more pages... We decided > wait... :) just scored :) I also remember a conversation with Eagl, Jungar, Dreamer and I were sitting at the me, after which Jungar went to Nikolaev to drink vodka =) And Golden showed me how “alasm” glitches when there are not enough tags and how it really lacks capabilities "tasma", where you can point mark to mark. And there really weren’t enough marks, Therefore, Eagle rewrote the latest version of WORMS under "tasm". After Golden bought I got myself an Amiga and then I gave up on the Speckie. Although the real reason for the "clogging" is almost no one knows except Max and Eagle, and we won’t talk about it, it’s personal Silicon Brains. But there is only one minus in Alasma, these are marks and marks, that’s all, but this The reason is one of the most important. Oh, what were the times when Eagle and I took turns falling asleep over his computer, coding. To be honest, this was the first time I met a person who could continue writing code from where I left off, as well as vice versa Grateful to you...

From Aprisobal To All 3 February 2006

Hello Robus Robus, is it possible to code this in assembler with the “label to label” feature? will you never code in assembler without this feature? With an example plz.

From Witch Doctor To All 3 February 2006

Hello Robus Rob> I also remember the conversation with Eagl This is a different matter :) the i's are dotted :) Let's go.

From Aprisobal To All 4 February 2006

Hello Robus Rob> Here is an example of a program where a lot is built on a mark-to-mark basis... Rob> Thank you. But it was possible not to write such a large program, but to give a trace. code, which cannot be modified in any way for an assembler that does not know how to reference forward: ┌─- code ─── EFFx3: PHASE FREEBLOCK ;Another part block in which EFFx3_S: JP EFFx3_START ;mark to mark is used ! DB 192 DB 192 EFFx3_START: DEPHASE DEPACKXP: DB 255 DB 255 FREEBLOCK: ;Start Of Program START: ;............... └── code ─── Rob> Is it possible to compile something like this in CJASM? I've never heard of this. On SjASM/SjASMPlus/Pasmo/Xasm/PazAsm/AsMSX/As80/Asm80... it is not possible. I only know One such PC assembler is tniASM - it is multi-pass. I'll have to try to do something with SjASMPlus in my spare time.

From Robus To All 4 February 2006

Hello, Aprisobal Apr> Robus, that you can code this in assembler with the “mark on feature Apr> label", what can you never code in assembler without this feature? S Apr> example plz. Here is an example of a program where a lot is built on a mark-to-mark basis... ┌─- CODE ─── ; Example program super-micro-mini demo... EQU $ASAM.PASS.ERROR=1 ;Number of empty compilations, for ;arrange nested labels twice ;packed unit or larger. INCLUDE "speccy.az8" ;Small set of utilities. .LoadPack , _ ;Loading previously packed pieces from @.1.P EQU $PAGE ;files, in this case it is necessary @.1.S INCBIN @.0 ;for LOADER, which will load @.1.E EQU $-1 ;loading picture... =) @.1.L EQU $ASAM.LOAD.SIZE+2 DW $ASAM.LOAD.SIZE .. .PackerXP _ ;Packing a block for 128 pages ORG @.0 @.0.P EQU $PAGE DSQ.Pack @.-@.0 @.0.E EQU $-1 @.0.S EQU $-@.0 .. .RunXP _ ;Automatic unpacking and launch LD A,@.0.P LD HL,@.0.E LD DE,FREEBLOCK CALL DEPACKXP ..PAGE 17 ;Some part is compiled into a page ORG 49152 EFFx1 PHASE FREEBLOCK ;Free memory address EFFx1_S CALL WaitINCER ;Waiting for the end of the second interval LD A,1*8+7 CALL Clearuchik ; Erase the screen CALL Printik ;Print text DW 20480 DB "Spectrum Is The Best..."+128 RET ;Goodbye life, end of part =) UNPHASE PackerXP EFFx1 ;Pack a piece B17.S EQU $-49152 ;Page size #17, which is in the future ;packed in LOADER, I understand that ;everything is already packed on this page, ;but this is all just an example PAGE 19 ;Same as above... =) ORG 49152 EFFx2 PHASE FREEBLOCK EFFx2_S CALL WaitINCER LD A,2*8+6 CALL Clearuchik CALL Printik DW 18432 DB "Hello To Aprisobal..."+128 RET UNPHASE PackerXP EFFx2 CLR_P19: ;Procedure for erasing the screen, which PUSH AF ;located immediately after the packaged LD A,R ;parts AND00000111BLD B,A RLCA RLCA RLCA OR B CALL CLR_M0 POP AF LD HL,16384 LD DE,16385 LD BC,6143 LD(HL),L LDIR CLR_M0: LD DE,22529 LD B,A RRA RRA AND A RRA LD HL,ICLR+1 LD(HL),A CLR_M1 BIT 7,(HL) JZ CLR_M1 LD A,B LD HL,22528 LD(HL),A LD BC,767 LDIR RET EFFx3 PHASE FREEBLOCK ;Another part block in which EFFx3_S JMP EFFx3_START ;mark to mark is used! ORG 49152-(EFFx3_END-EFFx3_START) ;Compiles further code from the address EFFx3_START ;to the very end of the free part of memory. CALL WaitINCER ;Last byte of the image "GFXentire.scr" LD A,3*8+0 ; will be located at 49151 CALL Clearuchik CALL Printik DW 16384 DB "Assembler FOREVER ..."+128 CALL WaitINCER XOR A CALL Clearuchik LD HL,ENTIREL LD DE,18432 LD BC,2048 LDIR HALT LD DE,22528+256 INC B LDIR RET ENTIREL IncBIN "GFXentire.scr" EFFx3_END UNPHASE PackerXP EFFx3 B19.S EQU $-49152 PAGE 20 ;For beauty, so that something would be lying on the pageORG 49152 DB "CJASM Is The Best..."+128 B20.S EQU $-49152 PAGE 22 ;For beauty, so that something would be lying on the page ORG 49152 DB "HAVA NAVA VOCHEZ ??? ..."+128 B22.S EQU 16384 PAGE 23 ;For beauty, so that something would be lying on the page ORG 49152 DB "NAVA NAIN VOCHEZ ??? ..."+128 B23.S EQU $-49152 PAGE 16 ;Depacker, which will be used as in the demo, ORG 23296 ; and in LOADER DEPACK PUSH DE INC HL LD C,(HL) INC HL LD B,(HL) DEC HL DEC HL DEC DE EX DE,HL ADD HL,BC PUSH HL EX DE,HL AND A PUSH HL SBC HL,DE POP HL JNC DEPAx1 LDDR JMP DEPAx2 DEPAx1 INC HL INC DE SBC HL,BC EX DE,HL SBC HL,BC EX DE,HL LDIR DEPAx2 POP HL POP DE DEPACKX DSQ.DePacker ;Unpacker by IMP B23296.S EQU $-23296 ;Program Block... ORG 23552 INT: PUSHA ;Interrupt ICLR LD A,0 ;For example, the color of the border outside INT is pushed here PUSH AF; it would be clear that all blocks are being unpacked AND 7 ;and start automatically OUT(254),A POP AFOR 10000000B LD(ICLR+1),A INCER LD A,1 ;Second counter to synchronize after DEC A ;time spent on unpacking and other bullshit. JNZ INCERx1 LD A,50 INCERx1 LD (INCER+1),A POPA EI RET Clearuchik: ;Calling the screen clearing procedure, which is in the 19th LD BC,32765 ;memory page between two packed blocks EXA LD A,19 OUT(C),A EXA JP CLR_P19 OrgInt INT,INT ;Utility from Speccy.az8, installing in the nearest StackSP EQU INT.VecAddr ;address of the interrupt vector, the stack is placed in front of the vector, ;need to put it somewhere WaitINCER: ;Waiting for the end of the second LD HL,INCER+1 LD A,(HL) DEC A JNZ WaitINCER RET M1 ;Launch cycle of three parts, in one of which RunXP EFFx1 ;our logo appears RunXP EFFx2 RunXP EFFx3 JMP M1 Printik: ;Print text POP HL LD E,(HL) INC HL LD D,(HL) INC HL PR1 LD A,(HL) PUSH AF HL RLCA RLCA RLCA LD L,A AND00000011B ADD A,60 LD H,A LD A,L AND 11111000B LD L,A LD B,D.8;You need to repeat it eight times!!! =) LD A,(HL) LD(DE),A INC L INC D .. ORG $-2 ;Erasing unnecessary commands, let's be economical!!! =) LD D,B POP HL AF INC E INC HL RLCA JNC PR1 PUSH HL RET DEPACKXP: ;Unpacking the block and running it as it is being decompressed LD BC,32765 ;immediately after CALL DEPACKX OUT(C),A CALL DEPACK FREEBLOCK ;Start Of Program START: ;JMP from LOADER comes here, since this piece DI ;runs only once, it will be erased in the future LD A,(22528) ;parts of the GIGA demo!!! =) RRCA RRCA RRCA LD(ICLR+1),A LDSP,StackSP LD BC,32765 LD A,16 OUT(C),A LD A,INT.VEC LD I,A LD HL,INT LD(INT.VecAddr),HL IM 2 EI JMP M1 ;I wonder if the end result was “JP M1” or “JR M1”? .1 INCLUDE "loader.az8" ;There the loader will pack everything and make it ready for ORG@. ;use the file, pushing it into TRD .. SaveLabels "wl.txt" ;For example, let's save all the mekti that were ;in the project;ALL !!! nano-dema otova... By the way, did you notice that dema ;compiles in general to the entire memory area, and to VASIK variables!!! =) ; ;In the end, all this was compressed into 4352, taking into account zeros, while maintaining the packed ;pages for block loading by sector... Not economical, but a bummer to do ;high-quality version... In the game Surgicsl Fantasy you will see a high-quality structure ;file with up to 300 packed files, blocks and other pieces. ; └── CODE ─── Is it possible to compile something like this in CJASM? I just press enter and I receive a ready-made file that you can already use!!! Take a close look at the piece from the EFFx3 label... Although it’s not important, the main thing is that if you were happy... SSssorry for typos, all this was done in an hour and I didn’t pay attention to grammar... =) Is there anything else I can code??? =)!!! File: Less-000.zip http://zx.pk.ru/attachment.php?attachmentid=2542

From Robus To All 5 February 2006

Hello, Aprisobal Apr> I've never heard of this. Apr> SjASM/SjASMPlus/Pasmo/Xasm/PazAsm/AsMSX/As80/Asm80... is not allowed. I know Apr> there is only one such PC assembler tniASM - it is multi-pass. Apr> I'll have to try to do something with SjASMPlus in my spare time. Sorry, I got confused... It's my mistake... Not CJASM, but SjASM... However mine compiles, and also TASM 4.0 on Speccy... This was the problem of switching to ALASM, which didn’t compile any of my programs at all, except perhaps all rewrite the code logic. I'm just used to versatility. But these are all tastes... And writing code is nice, big, small, it doesn’t matter, the main thing is to do it.

From Alexey Asemov To All 18 March 2006

Hello, Aprisobal Apr> New version of SjASMPlus - 1.06 RC1. Apr> Apr> Apr> Download: http://zx.pk.ru/attachment.php?attachmentid=2338 Apr> Sources: http://zx.pk.ru/attachment.php?attachmentid=2339 Ex. I use structures (STRUCT). At the first attempt to use a given structure crashes with Exception. PS. Trivial test code: > ; common sprite structure > STRUCT SPRITE > NEXT WORD 0 ; 00 02 Next sprite in queue (0 - end) > PREV WORD 0 ; 02 02 Previous sprite in queue > NEXTDQ WORD 0 ; 04 02 Next display queue entry (0 - end) > FLAGS BYTE 3 ; 06 01 Flags > ; 0: visibility (0 - not visible) > ; 1: invalidated (1 - coordinates changed or new > sprite) > ; 2: delete flag (1 - delete it) > ; 3: current visibility (1 - offscreen, > preprocessed) > SPRNO BYTE 0 ; 07 01 Sprite number to display > X WORD 0 ; 08 02 X coordinate (pixels) on VSCREEN> Y BYTE 0 ; 0A 01 Y coordinate (pixels) on VSCREEN > DESC WORD 0 ; 0B 02 Sprite descriptor pointer (preprocessed) > SADDR WORD 0 ; 0D 02 Screen address (preprocessed) > HCLIP WORD 0 ; 0F 02 Horizontal clipping routine (preprocessed) > PENTRY WORD 0 ; 11 02 Putter entry (preprocessed) > PEND WORD 0 ; 13 02 Putter endpoint (preprocessed) > LOOKUP BYTE 0 ; 15 01 Lookup high byte (preprocessed) > ENDS > > ; first queue sprite (0 in visible field) > CSS_Q_FSPR SPRITE 0,0,0,0,0 >

From Aprisobal To All 25 March 2006

Hello Alex/AT Alex/AT, here's a bugfix until the next version comes out. See attachment. File: sjasmplus.zip http://zx.pk.ru/attachment.php?attachmentid=2954

From Alexey Asemov To All 25 March 2006

Hello, Aprisobal Apr> Alex/AT, here's a bugfix until the next version comes out. See attachment. Thank you!!! Respect:v2_clap2:

From Aprisobal To All 20 April 2006

Hello Alex/AT Ale> Is it possible to do the entire (not just quoted) set of commands Ale> disabled (optional). Otherwise, sometimes you miss, but he still Ale> compiles normally... May be in version 1.06 RC3 or 1.07. A new version of SjASMPlus has been released. > New in 1.06 RC2; (2006-04-20); > ------------------ > - Fixed some errors in the STRUCT/ENDS directives > - Changes have been applied to SjASMPlus from the new version of SjASM 0.39g, and > exactly: > - ENDMAP directive. > > - DEFM and DM synonyms for BYTE. (already happened) > > - Some bug fixes; >; > - file size is reset when a new output file is opened. (already > > was) > > - 'bytes lost' warning fixed. > > And thanks to Konami Man; >; > - PHASE and DEPHASE directives as synonyms of TEXTAREA and > > ENDT. (already happened) > > - FPOS directive. > > - Expanded OUTPUT directive. > > - The possibility to generate a symbol file. > Download: http://zx.pk.ru/attachment.php?attachmentid=3093 Sources: http://zx.pk.ru/attachment.php?attachmentid=3094

From Alexey Asemov To All 20 April 2006

Hello, Alex/AT А можно один просьб? Кусочек из мануалки. > "Extended instructions" > ======================= > > Of course the Z80 is only an 8 bit cpu, but sometimes ld hl,de would > be nice. SjASMPlus now 'fakes' some instructions like that. This > improves the readability of the source, but it might not be the > fastest way to get the result. Also possibly some 'new' load > instructions do affect the flags in ways you wouldn't expect. > Anyway, here's the list; >; > rl bc > rl de > rl hl > rr bc > rr de > rr hl > Hельзя ли весь (не только цитированный) этот набор команд сделать отключаемым (опциональным). А то временами промахиваешься, а он все нормально компилит...

From Alexey Asemov To All 22 April 2006

Hello, Aprisobal [bug] RC2; LABELSLIST; crashes to AV when used. Air conditioning until the end I didn’t understand - but it crashed both on simple code without modules and on code with modules.

From Leonid Khobotov To All 22 May 2006

Hello, Aprisobal There's something I can't figure out.. I passed the compilation good luck everything is ok But the emulsion doesn’t load, what did I do wrong??

From Robus To All 26 May 2006

Hello jim jim> And z80 and SNA are still underformats (I don’t want to offend anyone). That's right... Wormat should not have a memory image, but a full-fledged cassette or disk. That's why I made support for TRDs and TAPs or modules in which you can write anything you want - even TZX!!!

From jim To All 27 May 2006

Hello jim I can also suggest: for compatibility with various assemblers, use the corresponding directive at the beginning of the text (for example: .alasm or .gens). me It seems like adding one line at the beginning is easier than digging through the entire program. Moreover, it seems that the differences in syntax are not very large. there is support popular assembler - everything is ok! no - an error is thrown..

From jim To All 27 May 2006

Hello, nyuk nyu> Oh, a competent approach! Body shirts are annoying, so I’ll go and give it a try nyu> authors... What is this thread for then? Rob> Correct... The format should not have a memory image, namely Rob> a full-fledged cassette or disk. And I mean the same thing. Although maybe someone would consider the option to create a tape or disk image superfluous..

From Aprisobal To All 25 July 2006

Hello jim jim> I can also suggest: for compatibility with various assemblers, jim> use the appropriate directive at the beginning of the text (for example: jim> .alasm or .gens). It seems to me that adding one line at the beginning is easier jim> than to shovel the entire program. especially since there seem to be differences jim> syntax is not very large. there is support for the popular assembler - jim> everything is ok! no - an error is thrown.. The number of SjASMPlus users is so small that a specific encoder is better he will “shovel” (or better yet, using Find & Replace) his program, which usually does not exceed 7000 lines. jim> Is it possible to add a compilation option to tape (tap) in the form of loader + jim> code. I would be very grateful (maybe I'm not the only one). Body shirts jim> are straining. But z80 and SNA are still underformats (I don’t want anyone jim> offend). If I do TAP, it won’t be very soon. In general, complete with SjASMPlus examples are provided, one of which contains a method for creating a monoloader and writing it to the TRD image. -+---------------- The new version of SjASMPlus 1.06 RC3 does not have any special improvements, but a number of things have been fixed hard bugs. Download:Bin; http://zx.pk.ru/attachment.php?attachmentid=3491; Src; http://zx.pk.ru/attachment.php?attachmentid=3492; -+---------------- Just for fun, I counted the number of lines of code in UFO 2. It turned out to be ~19000!

From Aprisobal To All 9 August 2006

Hello demon_zx dem> if only we could add compatibility with the is-dos assembler, it would be possible dem> cool. Yes, I myself have never seen is-dos. :( Attach the document, if you want - at your leisure I'll take a look.

From Dmitry Vasilievich Terentyev To All 9 August 2006

Hello, moroz1999 If only we could add compatibility with the is-dos assembler, that would be really cool.

From Dmitry Vasilievich Terentyev To All 14 August 2006

Hello, Aprisobal Apr> Yes, I myself have never seen is-dos. :( Attach the document if you want - Apr> I'll look at it at my leisure. 30 kB in the archive, I can’t attach it, I can send it for soap. And so in in principle, the main thing that prevents you from using sjasmplus in compiling sources for What's interesting is that the global labels in it begin with the dollar sign $. And as a rule, the numbers of rst calls in is-dos are global, which in there are a lot of programs.

From Dmitry Vasilievich Terentyev To All 15 August 2006

Hello, Aprisobal this is if you transfer the sources once, but with constant transfer here and there, already little pleasure.

From rasmer To All 16 August 2006

Hello demon_zx People are prostitutes of the big-eared lamer, but at least I didn’t understand in the description is there such a thing in sjasm; label1; nop nop nop nop nop label2 nop nop nop nop 1) here's how to make label2 start with the first possible "beautiful" addresses like #XX00? 2) How to load, let’s say, the high byte of the address of label2 into h ?

From Aprisobal To All 16 August 2006

Hello, rasmer ras> 1) here's how to make label2 start from the first possible ras> "beautiful" address like #XX00? ras> 2) How to load let's say in h , the high byte of the address of label2? 1) ORG ($+255)/256*256 before label2 2) LD H,high label2

From rasmer To All 16 August 2006

Hello, Aprisobal Apr> 1) ORG ($+255)/256*256 before label2 Apr> 2) LD H,high label2 tin...

From Alexey Asemov To All 17 August 2006

Hello, Aprisobal > ORG ($+255)/256*256 before label2 Uhhh. ALIGN 256 hasn't been canceled yet :)

From Aprisobal To All 5 September 2006

Hello Alex/AT New version of SjASMPlus - 1.06 Stable The project is now hosted on SourceForge.net. Project page: http://sourceforge.net/projects/sjasmplus/ Web page: http://sjasmplus.sourceforge.net Download: http://sourceforge.net/project/showfiles.php?group_id=173915

From Roman Fhyedorov To All 5 September 2006

Hello, Aprisobal apri! I thank you again for your assembler and want to ask: how much memory pages -M understands SjASM?

From Aprisobal To All 6 September 2006

Hello bugsy bug> apri! I thank you again for your assembler and want to ask: bug> how many memory pages -M does SjASM understand? So far only 8 (0..7). In version 1.07 (which should be released soon) there will be (already yes) 32. True, .SNA does not support such a number, so you will have to either leave as is or record in .Z80.

From Roman Fhyedorov To All 6 September 2006

Hello, Aprisobal Apr> In version 1.07 (which should be released soon) there will be (already exists) 32. True Apr> .SNA does not support this number, so you will have to leave it Apr> as is or record in .Z80. Dada!! I need at least 16 pages. My graphics are not included in 128Kb... I have large units there... and the enemies are also different from the player's units... and in general... In short, I’ll wait for the new version of SjASM, while I have to pervert loading already in emulsion... P.S. I also managed to lure my brother Firestarter to SjASM. Now we see the word ALASM only from alasmview.wlx (Vitamin hello!)

From Aprisobal To All 18 September 2006

Hello bugsy A new, heavily redesigned version of SjASMPlus 1.07 RC1 has been released. Briefly about what's new: - the compiler became 3-pass - has a built-in scripting language Lua. With it you can implement any output formats, procedure generators, etc. - command line switches have been changed. See the documentation for more details. - the documentation was revised into HTML format and supplemented. - added new directives: DEVICE, SLOT, SHELLEXEC - added predefined constants: _SJASMPLUS=1, _ERRORS (number of errors) and etc. - the output error log has been slightly changed - errors are now divided into errors and warning. - and a lot more that I don’t remember. With so many changes, there will be some glitches. But on my projects I haven't noticed anything yet. Download: http://sourceforge.net/project/showfiles.php?group_id=173915

From Roman Fhyedorov To All 18 September 2006

Hello, Aprisobal Well, and probably support for 512 kilos? thanks apri! great gift for my birthday!

From Aprisobal To All 19 September 2006

Hello bugsy bug> well, probably support for 512 kilos? bug> thanks apri! great gift for my birthday! Yep - the "DEVICE ATMTURBO512" directive. The page layout will be like this: $0000-$3FFF - slot 0, page 31, $4000-$7FFF - slot 1, page 5, $8000-$BFFF - slot 2, page 2, $C000-$FFFF - slot 3, page 0. Current The default slot is set to 3rd. Change the current slot (i.e. where it will be direct page PAGE) - "SLOT " is inserted. For example "SLOT 0:PAGE 1" and from $0000 to $3FFF the 1st page of memory will be located. Only now all that remains is for someone to write a script in Lua to save snapshots Z80 with 512kb. Or a script for saving in a TAP file. There are many options, and most importantly I relieved myself of some of the problems :). You can also, for example, merge all memory into the TRD image. But the emulator is probably It will take a long time to load. Or save the first 128kb in an SNA snapshot, and load the remaining 384kb from floppy disks. :)

From Tsuranov Vladimir To All 11 October 2006

Hello, Aprisobal Why is it always 0 when compiling (pure ASM, zx128) at address #8000? This glitch is in all 1.07 and it really interferes.

From Roman Fhyedorov To All 11 October 2006

Hello, key-jee most likely this is due to the three-pass

From Roman Fhyedorov To All 11 October 2006

Hello transman but my compilation errors show the wrong lines... maybe I’m doing something wrong configured, maybe it's a glitch... breaks off...

From Ivan Petukhov To All 11 October 2006

Hello bugsy bug> but my compilation errors show the wrong lines.... You're not the only one with this problem.

From Aprisobal To All 12 October 2006

Hello bugsy tra> why when compiling (pure asm, zx128) always at address #8000 tra> 0? tra> This glitch is in all 1.07 and it really interferes. What should be at address #8000? bug> but my compilation errors show the wrong lines... or maybe I didn’t bug> I configured something correctly, or maybe this is a glitch... bug> breaks off... key> You're not the only one with a similar problem. I know and knew even before the first release of 1.07 (this was not the case in 1.06). Not yet corrected. bug> most likely this is due to three-pass functionality No.

From Roman Fhyedorov To All 12 October 2006

Hello, Aprisobal hmm... It’s nice to read large, detailed answers to all questions at once... ;)

From Aprisobal To All 12 October 2006

Hello bugsy New version 1.07 RC3 has been released. It seems to have fixed a bug with incorrect line counting. Also added support 48kb snapshots. Download: http://sourceforge.net/project/showfiles.php?group_id=173915

From Tsuranov Vladimir To All 15 October 2006

Hello, Aprisobal Apr> What should be at address #8000? Apr> not zero :) there's the code. and it seems that this only appears in SNA

From Dmitry Vasilievich Terentyev To All 16 October 2006

Hello transman I'm fine 8-)

From elfh To All 17 November 2006

Hello transman tra> not zero tra> there is code. and it seems that this only appears in SNA I have the same thing. It looks like it's not specifically at #8000, but at org.

From Aprisobal To All 29 November 2006

Hello, moroz1999 New version 1.07 RC4 has been released. Fixed a bug with SAVESNA and possibly with SAVETRD. Added Makefile for compilation for Linux, etc. Download: http://sourceforge.net/project/showfiles.php?group_id=173915

From Aprisobal To All 3 December 2006

Hello Alex/AT New version 1.07 RC4bf has been released. Important bugfix in code generation functions. Download: http://sourceforge.net/project/showfiles.php?group_id=173915

From Aprisobal To All 12 December 2006

Hello, psndcj psn> Dear Aprisobal!!! Following your advice, I tried the IDA disassembler psn> Pro (it was discussed in the topic about Pulsoid's reincarnation) - impressed for psn> depths of the soul! Oh, I managed to read my post :), before rasmer cleaned up that topic, leaving one flood. psn> Question - is it possible to configure this disasm directly under SjAsm psn> (this time) Previously I tried to modify the Z80 module from the IDA SDK, but unfortunately my knowledge There is not enough C area knowledge to simply compile this module. :( With these Makefiles are a problem, not like Delphi, for example. :) psn> ...and compilation in assembler into .idb format for later viewing psn> in IDA??? 1. The IDB file format is not described in the documentation/SDK. 2. Why?

From poisoned cyberjack To All 12 December 2006

Hello, Aprisobal Dear Aprisobal!!! Following your advice, I tried the IDA Pro disassembler (speech I visited the topic about Pulsoid's reincarnation) - I'm deeply impressed! Question - is it possible to configure this disasm immediately under SjAsm (this time) and compilation in assembler in .idb format for later viewing in IDA??? Maybe this is all nonsense - but the program is really convenient, the source structure is in It's much easier to track than in any text editor...

From Aprisobal To All 18 February 2007

Hello, psndcj psn> by the way - slightly off topic - is it possible to make support in SjAsm psn> commands EX HL,DE (synonym for command EX DE,HL)??? =) I don't see any point in doing this.

From poisoned cyberjack To All 18 February 2007

Hello, Aprisobal well, in Storm (and it seems in some XAS) something similar was done... of course I I ask for selfish interests - just a bunch of source codes in Storm - and I got used to it after 7 years =) on the other hand - this is done absolutely simply - why not?

From Shadow Maker To All 21 February 2007

Hello, Aprisobal Yes, IDA Pro is powerful... Hmm, maybe someone can write simple instructions for disassembly spec progs (otherwise I really don’t really want to delve into this bunch menus), well, something like a fast guide for dummies?

From poisoned cyberjack To All 21 February 2007

Hello Shadow Maker Offtopic, of course, since the ASMA topic has nothing to do with it... Personally, I dismantled the 48th toy quite simply, IMHO everything is very intuitive - right-click on the text - you’ll find out the hot buttons and go ahead =) problems sometimes arise with double-byte variables (for which any byte is accessed), and also with the addresses to which access goes - hl,adr; de; adr+1... well, ideally it would be nice to learn with 128 programs work... A separate topic is probably needed - well, people interested in this....

From Vasily Ivanov To All 1 March 2007

Hello, Aprisobal Apr> New version 1.07 RC4bf has been released. Apr> Important bugfix in code generation functions. Apr> Download: http://sourceforge.net/project/showfiles.php?group_id=173915 At first I was very happy with this asm, I thought I had found what I had been looking for for a long time, but Gradually, bad moments began to emerge, which saddens me very much. Bugs in v1.07 RC4bf (build 02-12-2006). 1). A bug in the processing of the "EXPORT" directive - the incoming stream does not advance (?), That's why the compiler complains. In the original compiler (2-pass) this there is no bug. Request: It would be nice for "EXPORT" to list label names separated by commas, rather than specifying an “export” directive for each label. 2). Bug with output of hex numbers for "EQU" (using --sym, --exp options), if the number occupies all bits (i.e. it is 32-bit) and the most significant bit begins with A..F. Change the number format - put a leading "#" or "0x" instead of a trailing one "h". 3). There is also something wrong with the incoming stream, it complains about the following code: ┌─- code ─── db 0,0,0,0,0,0,0,0,0,0,0 ; T0C83; db; "Ё",1Bh,"!",'"