View Single Post
Old 3rd May 2021, 11:49 pm   #29
julie_m
Dekatron
 
Join Date: May 2008
Location: Derby, UK.
Posts: 7,735
Default Merge of 29-32

Oops ..... R9 pin 2 should go to node 16 (), not 19. Corrected version now uploaded to GitHub.

And now I've spotted another wiring list error. Need food before fixing it, though!

EDIT:
ZD1 should have its anode to ground (node 0) and cathode to node 3, and not the way it was in the above wiring list. You probably have parts roughly placed and maybe even some tracks routed, all a bit bodgily but still far to nice to spoil by starting again from scratch, for an error which is literally just two wrong bytes. And I haven't yet written a way into the program to alter the wiring list in an active design. Never mind. We will just have to hack into the database and change it that way! The maths library includes a static jump table, effectively providing a crude API for the maths, database and graphics libraries. (WL2DES uses this to parse lines within the wiring list ..... that probably needs to be rewritten in assembler when the database library is next updated.) This is good enough to help us find out exactly which two bytes in memory we need to alter to correct the wiring error.

Type Q (or any other unrecognised command) to exit the design program and get back to a BASIC prompt, and press CTRL+L to clear the text window so you can see what is going on. (You can even press CTRL+Z, CTRL+L to go full screen, if you like.) Note that ZD1 is the seventh part in the wiring list above (which is indexed starting from zero, so it will be number 6). Enter
A%=6:CALLselect_part
Now we have selected part 6 in the wiring list, which we think is ZD1, but we can make sure by entering
CALLdisp_desr
It should display "ZD1" without starting a new line, so the prompt will move to the right. (Don't continue if you see anything different.) Enter
P.~FNpeek(wlb)
This should display a 4-digit hex number; mine said 22BA so that's what I will use here, but change it to whatever yours said. That is the base address of the wiring data for the part whose index is 6, which is ZD1. Enter
P.?&22BA,?&22BB
to see the current contents of that address and the following one; the screen will show two numbers, which should be 4 and 0. (Again, don't continue if you see anything different.) These are the node numbers for the pins of ZD1. So now all we need enter is
?&22BA=0:?&22BB=3
to connect pin 1 to node 0 and pin 2 to node 3. Lastly press f1 to restart the program, enter D to redraw the design; and Save the modified design. Enter R ZD1 if you like, to prove that the wiring list has been changed.

EDIT:
Just uploaded another new version to GitHub, which incorporates the corrected wiring list data in the saved file D.PDS0D and also removes some debugging information which perhaps we don't need anymore
__________________
If I have seen further than others, it is because I was standing on a pile of failed experiments.

Last edited by Radio Wrangler; 4th May 2021 at 2:02 pm. Reason: replies to self merged
julie_m is offline