Assm in which you can create something...

ZXNet echo conference «code.zx»

From Ivan Savin To All 19 August 2000

┌─────────Peace to your DOOM All !──────┐ └─────────────────── ───────────────────┘ People have returned from the army, I want to get back to writing in earnest programs, so you advise me which ASM is better and more convenient for me will use everything... I have Scorpion+256+SMUC+HDD It is possible to connect more 1 MB of memory. My sources are mainly in XAS, but I also have ZASM. We need an assembler such that: text>asm and vice versa, complex mathematical operations could be written in the program. In Xas I write LD D,INT&H LD E,INT&L In ZASM I'm perverted... LD D,INT/256 LD E,INT-(INT/256*256) or something like... :) It is necessary to support additionally. register commands XL,YL,XH,YH Well, in general, what should I work in? ┌───────────────────────── ─────────────────────────┐ └──────Sincerely, Ivan. VS Prog/N-Discovery──────┘

From Kirill Frolov To Eugene Palenock 24 August 2000

Press RESET immediately, Eugene! 22 Aug 00 16:51, Eugene Palenock wrote to Kirill Frolov: KF>> Try ZXASM3.10. It has an even slower editor, but KF>> there will be more possibilities than all other assemblers on KF>> Spectrum. EP> Can it work entirely in upper memory? EP> Alasm can. Is this necessary? What difference does it make in what memory the assembler runs? This will not make him any faster or more feature-rich. Or do you mean placing the assembler at the time of launching the compiled programs? Well, RTFM: --- MAKE directive --- ~~~~~~~~~~~~~~ The MAKE directive defines the room object code to disk. Syntax:

From Vladimir Larkov To CoModerator 31 August 2000

Hello CoModerator! Mon 28-Aug-2000 03:48, you (500:812/1.25@zxnet) wrote a letter to Kirill Frolov: C> you have something that suits you (by the way, me too, excluding C> of course, scrolling :-) and on the Spectrum people are tormented by the choice :) Have you already learned how to run the Spectrum ebulator? With sound? And he stopped destroying plunger~9x? With best wishes, Vladimir.

From Aleksey Malov To Aleksandr Majorov 31 August 2000

Greetings, Aleksandr! Sat 26 Aug 2000 at 13:14:48 Aleksandr Majorov and Eugene Palenock were talking on the topic of Assm in which you can create something.... AM> Now tell me how you saved the finished debugged program to disk. :) AM> Not copies, but ready-made code :) In zasm3.10 it is more or less possible to automate the process of building a program. I when I stuffed parts of the demo into pages and did something like this: savepage equal 1 org #c000 part1 insert "part1.pac" part2 insert "part2.pac" part3 insert "part3.pac" saveobj "page0.C" org #c000 part4 insert "part4.pac" part5 insert "part5.pac" saveobj "page1.C" org #5b02 kernel db #10 dw part1 db #10 dw part2 db #10 dw part3 db #11 dw part4 db #11 dw part5 Still, it’s more convenient than loading these files from STS every time. Happy, Aleksandr! Vivid/Brainwave^X-Project was with you. [ZX] [Sailor Moon]

From Kirill Frolov To Aleksandr Majorov 3 September 2000

Press RESET immediately, Aleksandr! 03 Sep 00 12:06, Aleksandr Majorov wrote to Kirill Frolov: AM>>> These 255 seconds are already packed :) AM>>> And unpacked it’s all 128K of code/data. AM>>> That is. we occupy all banks inside and out :) AM>>> And how to load _this_ with a candy bar? :) KF>> There is a processor there and it will load... AM> What processor? ;)))))))) Bootable. KF>> Why bother loading everything at once in one go? KF>> Loaded a couple of kilobytes into the buffer, unpacked them, loaded another couple KF>> kilobyte... AM> Well, it’s the same as loading pages by page. AM> I pulled in a whole can, unpacked it, etc. AM> It’s better to unpack everything together after downloading. No, stop being lame, huh? I understand, of course, that this echo was originally not designed for any serious coding, but not that much... AM> But look at the original letter :) AM> What addresses? The program must be monolithic (there are, of course, AM> exceptions) be a block and scatter everything among the banks... otherwise AM> it will turn out like KONEX's at FUNTOP'98 - I loaded it into jars for 10 minutes, and AM> then everything reset... HA-HA-HA! :) AM> Got it? AM> Everything should be a candy bar! :) Brad. Can you imagine how the same decrust works? He needs to be taken out of the flow only a few bits at a time, well, you also need to store the already unpacked ones somewhere data. The buffer for loading from disk /by sector/ can be length 256+some_small_constant bytes. And through this buffer you can suck in the entire file and unpack it normally. But because The hardware disk drive is dumb and reads ahead into its internal buffer produce can’t, then it’s better to suck in at least 4 kilobytes. And the way it is customary among spectrists is to load 16kb sectors, every with my depacker, but the same everywhere, and then unpack into a separate jar - LAMERITY. There are losses on the remaining sectors on average of 128 bytes per sector, plus depacker about 256 bytes per jar. 2All: Recently, in general, many programs consist of a bunch of segments that you need to unpack it and organize it in memory. It would be nice if someone got busy a universal loader for such things. Well, at the same time we would like to decide on format downloaded files. You will also need a linker to assemble and package this heap segments into a monoblock.

From Kirill Frolov To Dmitriy Nesmachny 7 September 2000

Press RESET immediately, Dmitriy! 05 Sep 00 23:28, Dmitriy Nesmachny wrote to Kirill Frolov: DN> Good - good. I figured out how we can make peace! Just consider that DN> Alasm for real coders, and for the rest, something simpler: see there or DN> storm... ;-))))))))))))))))) Yesterday, in a storm, I wrote purely by accident: DB ".",#FF :-( I then spent about 10 minutes looking for a bug in a 200-byte program!

From Kirill Frolov To Aleksandr Majorov 12 September 2000

Press RESET immediately, Aleksandr! 05 Sep 00 14:31, Aleksandr Majorov wrote to Dmitriy Nesmachny: AM> It’s easier for me - I just entered it where needed AM> JR $ or entered the macro BREAK ( out (254),a: inc a: jr $-3) AM> and launched it. When everything is up, I go to the debugger... @#$$!! REMOVE THIS MACRO! NOW I UNDERSTAND WHAT THE HELL MMDA YOUR UNACCEPTABLE MISTAKES ARE MAKING AND BEEPING IN THE PHONE! YOU HAVE XTR, AND SOME HAVE VICOMM! Well, at least disguise bits 7,6,5,3 as zero!

From Kirill Frolov To Dmitriy Nesmachny 13 September 2000

Press RESET immediately, Dmitriy! 12 Sep 00 00:53, Dmitriy Nesmachny wrote to Kirill Frolov: KF>> But this scheme does not exist. This ROM is just... Well, or Magic in the cache KF>> - I have 2 magic buttons. DN> Is there a 64 kb cache circuit that fully emulates all 4 ROMs? Let's! :-) Down VVVV look, is this? ╔═══════════════════════════════ ═══════════════════════════════╗ ║ ║ ║ ROM emulator for the "ZX-Spectrum" computer. ║ ║ Version 1.0. ║ ║ ║ ╚═══════════════════════════════ ═══════════════════════════════╝ This development is intended for debugging and testing embedded computer software. This scheme replaces Computer ROM on RAM size 64 kB. I am the owner of the computer Profi, so all signals are indicated based on its circuit. Therefore I will give an explanation of some of the names, because on the diagrams of different car models may vary. _____ TRDOS is one of two ROM page switching signals. When he active, then the half of the ROM in which the _____ are maintained by TR-DOS and the Profi start menu. ROMCS - active when accessing addresses #0000 - #3FFF, if ROM not blocked.ROM14 is the second signal for switching ROM pages. Coming from the port #7FFD. The emulator is controlled by software via port #F7. Conflicts with other is not created by any devices, because address decryption occurs over all 8 bits. The bit layout is as follows: 0 - connects RAM instead of ROM. Writing to RAM is only possible when connecting it. 1 - blocking writing to RAM. Useful for full ROM emulation. 2 - device reset blocking. If this bit is clear, then Pressing the reset button will reconnect the ROM. When tired set bit, resetting will not affect the state of the device in any way. swarms. You can get out of this state only by programmatically clearing this bit or by turning off the pi- tania. Introduced also for full ROM emulation. 3 - setting this bit to 1 will connect that page of RAM or a ROM that contains TR-DOS and something else in the depending on the specific machine. Selecting specifically TR-DOS or The additional page is produced by bit 4 of port #7FFD. Introduced to facilitate access to the TR-DOS page, as well as for providing access to an additional page in machines, in which it does not exist (Profi, GRM, Radon, etc.). This device is designed to use ROM 27512. Unfortunately, for many reasons I cannot make the device work. stva with ProfPZU on Scorpio. Naturally, ProfPZU itself worked with himIt will work, but it’s impossible to replace all the pages. Therefore To work, you must load old versions into page 4 of RAM shadow monitor, working with regular ROM. Second similar case is the interface "ZX-LPRINT". If his program is placed in a separate ROM, and not in the fourth page of 27512, then This ROM will also not be emulated. When installing the emulator The ROM located in the computer must be moved to its fee. The circuit is designed for connection to the system bus. and which no additional signals are required. and at the moment the emulator is assembled and working, therefore the circuit is not must contain errors. The prototype showed brilliant performance results. Now you can do whatever you want with your ROM. For example, you can completely change the NMI processing routine in TR-DOS - this hitherto useless button can really become magical! Tests of the prototype showed only one nuance, which concerns the operation of TR-DOS in the device memory. On initialization TR-DOS replaces the ROM. This phenomenon is a consequence of the work subroutine from address 15672, the purpose of which is to check for presence of Interface-1. To do this, she resets port #F7 in the hope get a response from the interface. Below is its full text: 15672 XOR A; reset port #F7 OUT(247),A IN A,(247) ;look at its state CP 30; interface-1 responds?JR Z,15684 ;if yes, then create its system variables CP 31 RET NZ ;if not, then return 15684 RST 8 ;create interface system variables-1 DEFB #31 LD A,1 ;on the SAVE command, write 1 copy LD (23791),A RET ;return To ensure TR-DOS operation in the emulator memory, it is necessary correct this subroutine by entering two zeros at addresses 15673 and 15674. After this, port #F7 will no longer be reset, and you can work with TR-DOS in the emulator's RAM.

From Yura Nazarenko To Dmitriy Nesmachny 15 September 2000

Hello, Dmitriy! On Tuesday street, and 12 Sep 2000 at 01:13:12 Dmitriy Nesmachny drew for Yura Nazarenko on the topic "Assm in which you can create something..."... [skiped] YN>> Assembling into jars does not make it easier for “real ones YN>> coders". For real coders, this is see. All sorts YN>> editors YN>> sprites, fonts, etc. etc. This is all for convenience!!! DN> Does it for me. I don't need sprites with convenience DN> edit in ASMA, and prog DN> debug. There is a special one for sprites and fonts. editors. ALASM: I saved the source, reset it, loaded the edit. fonts, created a font, burned it to disk, loaded asm, loaded the source, continue edit. ZHASM: Launched ed. fonts, created a font, burned it to disk, exited. Can we finish the bazaars about “the best ASM”? Everyone sits on what he likes. I'm tired of zxasm, someone is tired of alasm... All the best to you, Dmitriy! Yuri Nazarenko/Rezident/N-Discovery

From Aleksandr Majorov To George Valnin 19 September 2000

Hello George! 16 Sep 00 22:39, George Valnin -> Aleksandr Majorov: [skipped] AM>> And in the case of using out (254),a: inc a: jr $-3 GV> Ugh, what a bullshit... ;) OUT (#FE), A _nelamer_ write... ;) SA-A-A-AM LAMER! ;)))))))))) What is the fastest way to dial 254 (three buttons side by side!) Or stretch across the entire keyboard? Shift+3, release Shift, F, E ... Long! Besides, I have an agreement with myself: OUT (#FE),A means that it is needed in the program. And OUT (254), A is a temporary breakpoint. And then I do a search Find "out (254)" and remove all the breakpoints, leaving the NECESSARY pins in the port untouched. But the “nelamer” will clean everything with his hands! Crawling with a search to each conclusion and looking/remembering whether he needs it or not! Alexand