> chat > Sat 2004-07-24

Chat for Sat 2004-07-24 14:57:12

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 > chat > Sat 2004-07-24
Send comments to the feedback page. I am Dale Wick