From a conversation in the channel #mhm: alone_с> in your demos, code generators are overwritten after uses? mel> where as alone_с> and how the source is made - all the initializers are in the main module or in separate modules? mel> First of all, we have developed a kernal. from address #SbSb dial standard procedures mel> demo works on the ctekobomy principle mel> the beginning of the stack is at the end of the kernal code mel> on the stack are the addresses of transitions to procedures and parametersibid. alone_с> #5bxx? alone_сo> there's not enough space there mel>large kernel. approximately #SbSb-#6000 alone_сo> what about the disk? mel> loader does not use 3d13 Mel> in xapme, by the way, there is a key 3d13 mel> the variables are simply remembered there in advance Mel> all tbk demos, starting with harm, are built on this kernal. nr too mel> thanks to him, xapme was able to combine storm and tasm mel> in xapme, since 2d and 3d parts alternate, both I and cj do not have initializers alone_с> what are the standard procedures? mel> well, first of all, interruptions mel>then rasnakovichik crunch 1 Mel> slightly accelerated alone_с> interrupts - what do you mean? mel> handler alone_с> and the table? alone_с> and switch alone_с> and switch Mel> everything is there. and effects player mel> even part of the c2n is stuck in xapme alone_с> what effects? mel> the offset is stored on the stack in frames, how long it lasts effect mel> in the loop the effect code is called and checked to see if it's time round up mel> zxboleg.narod.ru/kernel.tsm (click "3" ) mel> this is from harm mel> a lot of unnecessary stuff was removed from there later mel> in general, as practice has shown, it’s not difficult to debug with it mel> the effect includes a file with equs and specially compiled kernel for debugging mel> The only thing I haven’t solved is how to fix the demo... stupidly you have to scroll and watch from the beginning until the desired effect, isn't he running away? mel> in xapme, by the way, in the 2d parts the code ts2n is generated for output with mask mel> automatic mel> cj already translated kernal into sjasm Mel> their last two demos are already written there Mel> I'm doing everything the old fashioned way... I can't handle just switching to another asm alone_с> I'm thinking right now about the overwriting of code generators alone_co> I want a c2n module mel> write it down alone_сo> the trick is that the only way I see is this throw the generator into another memory area when starting alone_с> besides, it needs a macro alone_сo> otherwise the symbol will not be declared where needed and when needed alone_сo> well, imagine - we have a code with #8000 alone_сo> there are many procedures there alone_co> and at the end - these generators alone_co> and they generate in the area immediately adjacent to end of code alone_с> preferably right from the place where you are generators are located alone_с> that is, yourselferase alone_с> where to put INCLUDE? mel> aa mel> smari Mel> you can keep the code for what current in the jar mel> and worker in main memory Mel> here is the 3d part mel> there is a code in #c000. +0 initialization before demo launch mel> +3 initialization before the effect mel> +6 output of one frame mel> +9 deinitialization mel> about thisalone_с> and if you need to generate something on a page alone_сo> for c2n you need alone_с> chunk board mel> what problems mel> kernal incl. decides alone_с> through dirt? alone_с> need to think... mel> some of the operations are directly embedded in the kernal stack mel> part in the initializer alone_с> what if there are a lot of effects? alone_сo> how will the main code receive their addresses? alone_с>in the sense of the mark mel> tags are included mel> alone_saw the link - did I give it to the kernel? mel> there at the beginning jp alone_сo> FINAL - what is this? mel>almost the same as release alone_сo> what kind of PROFI is there? mel> saving system variables to the top of memory Mel> I tested it on a professional... Mel> look at the very end. the whole demo is written there.. mel> this compiles in tacme 4.12 :) alone_с> .PLAYER when is it called? mel> at the end, where defw alone_с> .PLAYER is in the script - it comes out, calls it uhtepnpetyh alone_с> where is he? mel> find by search mel> after interruptions it alone_co> know what to look for mel> word .PLAYER ) alone_сo> so it is in the current script alone_с> and the start marks of the netuti script mel> .PLAYER ; effectmel> ; in: (sp)2 - frames number then nlay mel> ;-in: (sp+2)2 - main cycle address of effect alone_co> who calls it alone_co> or do the player and loader call each other? mel> at the end you see a bunch of defb defw? alone_с> is this a script? mel> IT'S A STACK! mel> sp crawls along it alone_сo> when the player plays the effect, it is delayed by several frames alone_co> Is this corrected later? mel> ha mel> more precisely, a little less frames are given mel> for 2d parts 4 frames plus or minus alone_сo> the stack will be erased - but how to play a second time? mel> no mel> store/load a copy
Share your thoughts about the article