Badenyon Castle

Badenyon Castle was a castle, dating from the 13th century around 7.5 miles (12.1 km) west of Kildrummy, north of Coulins Burn, in Aberdeenshire, Scotland.[1]

History

The castle was the residence of the Clan Gordon of Glenbuchat prior to the building of Glenbuchat Castle in 1590, although traditionally it was the home of John O'Badenyon in the 13th century.[2]

By 1898, a few pieces of sandstone against the wall of an adjacent cottage, and a recessed door inside were all that remained of the castle.[2]

Structure

The castle was surrounded by a fosse and protected by a tower. A door-hinge from the nearby steading is said to come from the castle. The precise site of the property in not entirely clear.[2]

gollark: I think this is technically possible to implement, so bee⁻¹ you.
gollark: This is underspecified because bee² you, yes.
gollark: All numbers are two's complement because bee you.
gollark: The rest of the instruction consists of variable-width (for fun) target specifiers. The first N target specifiers in an operation are used as destinations and the remaining ones as sources. N varies per opcode. They can be of the form `000DDD` (pop/push from/to stack index DDD), `001EEE` (peek stack index EEE if source, if destination then push onto EEE if it is empty), `010FFFFFFFF` (8-bit immediate value FFFFFFFF; writes are discarded), `011GGGGGGGGGGGGGGGG` (16-bit immediate value GGGGGGGGGGGGGGGG; writes are also discarded), `100[H 31 times]` (31-bit immediate because bee you), `101IIIIIIIIIIIIIIII` (16 bits of memory location relative to the base memory address register of the stack the operation is conditional on), `110JJJJJJJJJJJJJJJJ` (16 bit memory location relative to the top value on that stack instead), `1111LLLMMM` (memory address equal to base memory address of stack LLL plus top of stack MMM), or `1110NNN` (base memory address register of stack MMM).Opcodes (numbered from 0 in order): MOV (1 source, as many destinations as can be parsed validly; the value is copied to all of them), ADD (1 destination, multiple sources), JMP (1 source), NOT (same as MOV), WR (write to output port; multiple sources, first is port number), RE (read from input port; one source for port number, multiple destinations), SUB, AND, OR, XOR, SHR, SHL (bitwise operations), MUL, ROR, ROL, NOP, MUL2 (multiplication with two outputs).
gollark: osmarksISA™️-2028 is a VLIW stack machine. Specifically, it executes a 384-bit instruction composed of 8 48-bit operations in parallel. There are 8 stacks, for safety. Each stack also has an associated base memory address register, which is used in some "addressing modes". Each stack holds 64-bit integers; popping/peeking an empty stack simply returns 0, and the stacks can hold at most 32 items. Exceeding a stack's capacity is runtime undefined behaviour. The operation encoding is: `AABBBCCCCCCCCC`:A = 2-bit conditional operation mode - 0 is "run unconditionally", 1 is "run if top value on stack is 0", 2 is "run if not 0", 3 is "run if first bit is ~~negative~~ 1".B = 3-bit index for the stack to use for the conditional.C = 9-bit opcode (for extensibility).

References

  1. Coventry Martin (1997) The Castles of Scotland. Goblinshead. ISBN 1 899874 10 0 p63
  2. "Badenyon Castle". Retrieved 1 November 2014.

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.