Thought so... thanks for all the help!
On 23 March 2012 09:25, Brent Hilpert <hilpert at cs.ubc.ca> wrote:
Sounds like one of the switches is wired (or
positioned if one prefers)
the 'wrong way round'. Doublecheck the switch positions against the
measured state on the mode pins:
MODE RUN LOAD nCLEAR nWAIT
switch switch pin 3 pin 2
----- ------------------------------**--
RESET down down 0 +V
PROGRAM down up 0 0
RUN up down +V +V
PAUSE up up +V 0
The design is not the way one might expect it to be (RESET is not 0 & 0 at
the 1802).
On 2012 Mar 22, at 1:57 PM, Gergely L?rincz wrote:
Again, as opposed to what I expected the display changes only if in RESET
mode (both run and load low). When in LOAD mode
(LOAD up, RUN down)
nothing
seems to happen before/after flipping data switches and pushing the input
button. Isn't it supposed to be the other way?
On 22 March 2012 15:20, Gergely L?rincz <alkopop79 at gmail.com> wrote:
The display only updates after the input button is pressed if in RESET
> mode (RUN down, LOAD down). If RUN down, LOAD up, can't see the display
> changing.
>
> On 18 March 2012 00:38, Brent Hilpert <hilpert at cs.ubc.ca> wrote:
>
> Idle state for RAM-R/W (20) should HIGH (read).
>> I expect idle state for RAM-OD (18) is also HIGH (RAM outputs disabled).
>>
>> I would suggest before trying to run a program you confirm that you are
>> able to load and examine memory.
>>
>> One of the subtle points here is that when loading/examining/running you
>> generally need to go 'through' the RESET state with the mode switches to
>> reset the internal address pointer to zero.
>>
>> Here's a load/examine test sequence:
>>
>> Load:
>> L1 - set 2 mode switches for RESET (*RUN down, *LOAD down) (set 1802
>> address pointer=0)
>> L2 - set MEM-RD/WR switch for WRITE/LOAD (*MP down)
>> L3 - set mode for PROGRAM (flip *LOAD up)
>> L4 - set data switches to 0001 0000, press STEP/*INPUT (load $10 into
>> mem-0)
>> L5 - set data switches to 0001 0001, press STEP/*INPUT (load $11 into
>> mem-1)
>> L6 - set data switches to 0001 0010, press STEP/*INPUT (load $12 into
>> mem-2)
>>
>> Examine:
>> E1 - set 2 mode switches for RESET (*RUN down, *LOAD down) (set 1802
>> address pointer=0)
>> E2 - set MEM-RD/WR switch for READ/EXAMINE (*MP up)
>> E3 - set mode for PROGRAM (flip *LOAD up)
>> E4 - press STEP/*INPUT, display should be 0001 0000 ($10)
>> E5 - press STEP/*INPUT, display should be 0001 0001 ($11)
>> E6 - press STEP/*INPUT, display should be 0001 0010 ($12)
>>
>> If you miss step L1, you won't know where you are actually loading into
>> memory. If you miss step E1, the examine steps (E4,E5,E6) will display
>> addresses 3,4,5 rather than displaying addresses 0,1,2. The same issue
>> applies when running a program, you normally have to reset state with
>> the
>> mode switches so the program starts running at 0.
>>
>> I don't like the switch labels of the original Elf, they can be
>> misleading, but that's history. I relabelled/disambiguated them in my
>> schematic and unit, the * labels above are the original switch labels,
>> others are mine.
>>
>>
>>
>> On 2012 Mar 17, at 8:48 AM, Gergely L?rincz wrote:
>>
>> Getting there: finally I can see the hex result on the display after I
>>
>>> press the input button. Seems to me that the control circuit work fine.
>>> However I tried to test the machine by entering 7b (SEQ) and pressed
>>> INPUT
>>> and set to RUN mode, expecting the Q output change it's state. It
>>> didn't
>>> happen:( The 1802the input and output section and the whole control
>>> circuit
>>> seem to work fine so I checked the RAMs. It seems that the read/write
>>> enable and output disable pins (18 and 20) show different logic state
>>> in
>>> the two memory ICs. I assume this stops the instruction to be entered
>>> to
>>> the memory. Can you guys tell me what should be the state of pins 18
>>> and
>>> 20
>>> (output disable and write enable) in run and load mode and when
>>> pressing
>>> the input button? The datasheet doesn't have much info on this.
>>>
>>>
>>> On 16 March 2012 18:15, Gergely L?rincz <alkopop79 at gmail.com>
wrote:
>>>
>>> Problem (partially) solved: the LOAD switch stops the fliflop letting
>>>
>>>> anything pass through until it's set on ( RESET mode). As if someone
>>>> mentioned it that particular bit is wrong on the schematics. I assume
>>>> i
>>>> just have to rewire the thing.
>>>>
>>>> On 16 Mar 2012 00:51, "Gergely L?rincz" <alkopop79 at
gmail.com> wrote:
>>>>
>>>> All of these test are done. Conclusion: if I remove the wire to SC1
>>>> and
>>>>
>>>>> reset the 4013, it works fine, just as you described. In fact, I
>>>>> spent
>>>>> a
>>>>> few hours sending pulses from an Arduino (microsecond ones) to
>>>>> simulate
>>>>> SC1. I even managed to see the pulse from *Q* on the oscilloscope.
>>>>> But
>>>>>
>>>>> once the wire between the 4013 and the SC1 pin is used, nothing
>>>>> works.
>>>>> I
>>>>> even tried two different 1802s and they work fine (when the DMA IN
>>>>> pin
>>>>> is
>>>>> set low, SC1 instantly goes high). The only possible reason I can
>>>>> think of
>>>>> (since both the 1802 and 4013 works perfectly) is that one of the
>>>>> diodes
>>>>> are either broken or placed the wrong way around. An other thing is
>>>>> that I
>>>>> use a SPST button (input) instead of the SPDT. It still works (for
>>>>> some
>>>>> weird reason no SPDT buttons are rare and expensive in the UK).
I'll
>>>>> check
>>>>> this tomorrow. The other mystery is that why the 4023 never sets the
>>>>> HP
>>>>> displays to enable mode. The displays are stuck (latched) and even
>>>>> though
>>>>> they work perfectly, the NAND gate (4023) never sets the enable pins
>>>>> low. I
>>>>> wonder if that has to anything with the previous problem? Anyway, at
>>>>> least
>>>>> I know where the problem is, even though I don't know what it
is.
>>>>> It's
>>>>> certainly a good start! Thanks for all of your effort and
>>>>> indispensable
>>>>> help!
>>>>>
>>>>> Greg
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Debugging trial: remove the connection from SC1 to the diode at the
>>>>>> 4013
>>>>>> reset (10).
>>>>>> Now, when the input switch is released, nQ & nDMAIN should go
low
>>>>>> and
>>>>>> STAY low as there is nothing to reset the 4013 (until you flip
the
>>>>>> load
>>>>>> mode switch).
>>>>>> It follows SC1 should go high and stay high or repeatedly pulse
high
>>>>>> as
>>>>>> the 1802 is being held in the DMA state (which I think you
already
>>>>>> tested
>>>>>> by forcing nDMAIN low).
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>
>>
>