rich-c: verify rich-c: refresh rich-c: refresh
moved to room Meeting Place
changed username to Daniel Bienvenu Daniel Bienvenu: Hello! I know, I'm late ;-) rich-c: bonjour, Daniel rich-c: late, but at least here! Daniel Bienvenu: I sent 25$ to you (20$ + 5$ in a letter). rich-c: OK, soon as I get it, your books will be on the way Daniel Bienvenu: it cost me approx 1.50$ to do a "cheque" or a money order. I decided that you will have the money, not postcanada or my bank ;-) rich-c: right - as long as you conceal it so it can't be seen from the outside Daniel Bienvenu: it looks like a normal letter... except that the paper I used is lined. rich-c: the trick is to fold something around it so even holding the envelope up to the light doesnt let is shopw through rich-c: yes, that should work well Daniel Bienvenu: Well, I hope it will be enough. rich-c: I'm just hoping the books will prove useful to you Daniel Bienvenu: I have no worring about that, rich. ;-) rich-c: right - the technical stuff on Adam will be very useful Daniel Bienvenu: As you may know, I'm still working on my tools and my document. it's in perpetual evolution. rich-c: do you think you will ever try to do a tape supergame? Daniel Bienvenu: so, it's possible that I decide one day to try doing a game on tape rich-c: I'm used to that, Daniel, with Dale and his incessant projects rich-c: I suspect Dale still has some projects going from when I first met him more than 20 years ago Daniel Bienvenu: Dale sent me emails, during this week. rich-c: yes, he maintains his interest in Adam maters rich-c: matters Daniel Bienvenu: one reply about my idea to encode a large rpg map. Daniel Bienvenu: one about a demo he did for the colecovision Daniel Bienvenu: one about my libraries, tools, etc. Daniel Bienvenu: one about suggestions rich-c: you are lucky to get a reply out of him - he has been so absorbed in his job he has been hard to reach lately Daniel Bienvenu: one about future projects, etc... rich-c: wow, you really got a response! Daniel Bienvenu: I added a new function in my "getput" library because of him. ;-) rich-c: maybe the demands of his job have tailed off o I would not be surprised if that is the case Daniel Bienvenu: he tell me that he will have "vancancies" (or "holidays"?) soon rich-c: having got the main program debugged and up and running, he can relax a little rich-c: right - now he is working for someone else he will get paid vacations (vacances; holidays) Daniel Bienvenu: I added double buffering function like I said in the previous adamcon chat session. rich-c: It's one of the advantages of selling your company rich-c: that was giving you a problem, I know - good that you solved it Daniel Bienvenu: I don't know exactly what he is planning to do but he still "testing" my "development kit" ;-) Daniel Bienvenu: I think he enjoy it rich-c: ah, he's been reviewing your work? that is good; you'll likely get a number of useful suggestions Daniel Bienvenu: he told me how he "negociate" with the nmi interrupts in his asm projects. rich-c: sort of trying to make non-maskable interrupts behave as if they're maskable? Daniel Bienvenu: in my getput library i encapsulated my function inside disable and enable nmi calls. the new version let the programmer do these disable and enable nmi calls where he wants. Daniel Bienvenu: exactly, rich! Daniel Bienvenu: I still have a problem to fix this new concept for two of my functions rich-c: that's OK, that you can do it at all is seriously neat Daniel Bienvenu: the joystick decoder function is encoded in the "header part" of the coleco library (by marcel de kogel) and this decoder function is called only during nmi interrupt. This way, when I want to do a pause until a fire button is pressed, the programmer need to enable nmi, otherwise the "pause" function don't work at all. Daniel Bienvenu: the simple solution is to tell this special case in the programming document
moved to room Meeting Place
changed username to rich-c Daniel Bienvenu: the also simple solution is to temporary enable the nmi in the function and then set the nmi as it was before calling the function after a fire button is pressed. rich-c: sorry, Daniel, this damn server keeps dropping me Daniel Bienvenu: when did you quit? rich-c: not quite sure when it cut me off; it doesn't tell you for a long time Daniel Bienvenu: what is the last thing I said before the server cut you off? rich-c: and you can't jump to conclusions too fast because of those server delays rich-c: I don't know; when the server dumps me the whole screen is lost rich-c: you were talking about the nmiss though Daniel Bienvenu: the joystick decoder function is encoded in the "header part" of the coleco library (by marcel de kogel) and this decoder function is called only during nmi interrupt. This way, when I want to do a pause until a fire button is pressed, the programmer need to enable nmi, otherwise the "pause" function don't work at all. Daniel Bienvenu: the simple solution is to tell this special case in the programming document rich-c: well, details of programming are far beyond me - Daniel Bienvenu: another almost simple soultion is to temporary enable the nmi interrupts and then set the nmi interrupts as it was before calling this function. rich-c: I can barely follow the ideas of programmers, up to a point rich-c: since you're talking essentially generalities here, I can more or less follow Daniel Bienvenu: the delay function in coleco library was done this way: check if nmi interrupt is enabled, if yes, count number of time the nmi function is called, otherwise, call the vdp_status function to do almost the same delay. The result is if the nmi was enabled, the joystick infos are updated. rich-c: that's getting pretty deep into the details of game construction Daniel Bienvenu: no nmi, no joystick update; no joystick update, no pause based on waiting for a fire button. rich-c: that would seem fairly unusual, wanting a pause for that function Daniel Bienvenu: no nmi, no joystick update; but no joystick update doesn't affect the delay not based on waiting for a fire button rich-c: you would only want that in a text game or something, wouldn't you? Daniel Bienvenu: my getput library have 2 functions based on waiting until a fire button is pressed rich-c: I tend to think of teh action games but there are others that have to stop till a function is decided Daniel Bienvenu: this is why I still have 2 functions to fix in my getput library Daniel Bienvenu: mostly the pause function are used for the "title screen" Daniel Bienvenu: or informations or credits rich-c: right, I can understand that - like selecting play level and number of players Daniel Bienvenu: well, the selecting play level is in another function, and I have to admit now that I have 2 more functions to fix ;-) Daniel Bienvenu: I fixed 3 errors in my coleco programming document. ;-) rich-c: seems it is always that way in programming - solve one problem, introduce another Daniel Bienvenu: well, in programming, all is a question of dependencies. rich-c: yes, everything connects, so to speak Daniel Bienvenu: in classic programming, dependencies are commun. rich-c: yes, that's what loops and jumps and counters and all are about, right? Daniel Bienvenu: in object-oriented programming, the idea is to avoid this kind of problem... but it still not the case. rich-c: when it comes to programming styles I am completely lost Daniel Bienvenu: yes, loops, jumps, counters are things different functions may SHARE to cause problem when one function did not the right thing rich-c: of course, the computer may just decide not to do the right thing all on its own Daniel Bienvenu: well, to keep it simple, let say that objet-riented programming is doing objects where inside functions and data are encapsulated. and the idea is only the functions inside the object have rights to update data in this object. rich-c: that's why we see the Blue Screen of Death in Windows often ;-) rich-c: I would still expect a program would have to be basically heirarchical Daniel Bienvenu: on this applet, the buttons are objects, the scrollbar is an aboject, etc. rich-c: so in object-oriented they'd be sort of shunted aside once initialized, and ignored until called upon? Daniel Bienvenu: well, object-oriented programming is doing objects based on classes, and classes are normally structured into an hiearchical tree like "families trees". rich-c: don't see it differing that much from top down method, except in detail, but maybe that's just me Daniel Bienvenu: a class "dog" may be a "subclass" of class "animal". and when the programmin is running, an object "fido" may be created by using the class "dig". rich-c: seems basicaly that semi-independent modules are being used, as much as anything else Daniel Bienvenu: and, some functions in the program may be trying to see based informations for all the animal whatever they are cats, dogs, etc... Daniel Bienvenu: yes, it still "stick" together but the idea of encapsulated data with the functions into a "class" is called object-oriented. rich-c: that's a little more complex a concept than I can cope with right now rich-c: I am not at my best today Daniel Bienvenu: The classic programming way is to share a part of (or all) data to all the functions. and this is mostly the case when programming in ASM with a total freedom of doing anything. rich-c: OK, I guess I can see that Daniel Bienvenu: sometimes, we said "spagetthi" when it's an impossible mission to read a code, to find which part is for this, and which part is for that, because of all jumps, all counters, all variables used everywhere. rich-c: yes, it's one of Dr. D's favourite terms in certain circumstances rich-c: I gather a couple of early Adam programmers were notorious for their spaghetti code Daniel Bienvenu: hehehe! rich-c: he didn't appreciate it at all when he was trying to figure out how some of the programs worked Daniel Bienvenu: the way I program my coleco projects is between classic way and object-oriented. I can make some variables restricted into a C file to not be modified by other C file and this way make these C file as my "classes". Daniel Bienvenu: but I can't do object-oriented programming rich-c: OK - but I am going to have to cut off now - I am not feeling too well Daniel Bienvenu: for the colecovision Daniel Bienvenu: Take care, Rich! rich-c: I need ti lie down and take a rest Daniel Bienvenu: see you wednesday rich-c: thank you, Daniel, hope to see you Wednesday rich-c: bye now Daniel Bienvenu: bye
rich-c left chat session
Daniel Bienvenu left chat session
moved to room Meeting Place
changed username to rich-c