Close

0x27 + 0x43 = ?

A project log for Ferrite Core Memory Module

A sub-project of the ED-64 Computer to document the development of a 64-byte ferrite core memory module

andrew-starrAndrew Starr 04/23/2017 at 03:243 Comments

A while ago I wrote an assembler, and an emulator for the arduino that allows it to emulate the ED-64 instruction set (such as it is). Now that the FC memory is functional, I have modified the emulator to use it as the program and data store (instead of the arduino internal memories).

The output of the assembler is a header file which contains the assembled ED-64 program as an array of constant unsigned chars. When the emulator is loaded into the arduino, it includes the header file. During the setup phase of the emulator, it loads the program array into the FC memory. The program can then be inspected, single-stepped, or executed.

Here's a very short test program:

         JCC start
add1:
         db 0x27
add2:
         db 0x43
sum:
         db 0x00
start:
         SAC sum   ; clear accumulator
         ADD add1  ; add 0x27 into accumulator
         ADD add2 ; add 0x43 into accumulator
         SAC sum   ; store result into sum
loop:
         JCC loop   ; now loop forever
Here is the assembly output:
static union
{
	unsigned char data;
	struct
	{
		unsigned char operand : 6;
		unsigned char opcode : 2;
	} instr;
} mem[64] =
{
0xC4,
0x27,
0x43,
0x00,
0x83,
0x41,
0x42,
0x83,
0xC8,
};
Inspecting the program via the emulator (before execution):

The yellow box indicated the numbers to be added at locations 0x01 and 0x02. The red box is the destination memory location 0x03.

After starting execution (and interrupting the endless loop to inspect the memory):

Location 0x03 now holds the result of our calculation, 0x6a.

Temperature is still an issue. I found I needed to occasionally tweak the biases on the sense amps as the room warmed up in the late morning/early afternoon. I may eventually do something about this, or I might not. My priority now is the rest of the computer.

Discussions

Andrew Starr wrote 04/25/2017 at 09:59 point

Yeah man :) Things should move ahead (relatively) rapidly now that the major R&D is over, the rest is just logic modules!

  Are you sure? yes | no

Yann Guidon / YGDES wrote 04/25/2017 at 10:29 point

yeah, "it's just logic", that's what they all think hahahaha :-P

  Are you sure? yes | no

Yann Guidon / YGDES wrote 04/25/2017 at 09:55 point

It's alive ! ALIIIIIIVE !!!!

  Are you sure? yes | no