Comments
Loading Dream Comments...
You must be logged in to write a comment - Log In
ArtistA wireframe elevation drawing of a fitted kitchen, with dimensions.
(See the description of the other KDS5000 drawings if you need context). The KDS5000 (Kitchen Design System) CAD application for the Apple ][ held the data for the user's designed kitchen in a special format Buf in the ::MEMDMP:: (Memory Dump) Seg : the sequential bytestring of kitchen units, followed by the fixed size array of coordinates of those units. The latter contained the X, Y, Z, and rotation of each chosen unit, along with the bounding box for collision detection. The sequential bytestring had the following opcode-like format :
$00_$EF : Use Library Shape N (the Library Shapes were stored in a Seg on Disk Volume 1)
$F0 : Move the "pen" to X,Y,Z (coordinates held in the following three bytes: see below for format)
$F1 : Move the "pen" while down (i.e. "draw" to X,Y,Z)
$F2 : Draw a "cuboid" (six adjoined polygons) from the current pen position to X,Y,Z
$F3 : Draw a "left hinged door" with profile texture, to X,Y,Z
$F4 : Draw a "right hinged door" with profile texture, to X,Y,Z
$F5 : Draw a "user choosable" door (user selects left or right hinged) to X,Y,Z
$F6 : *** Note to me : Check source notes and review (lol)
$F7 :
...
$FD : Immediate Operate on Register One or Register Two (takes 1 byte function code and two bytes immediate data (LSB, MSB)
$FE : Operate on Register One or Register Two (takes 1 byte function code and 1 byte Param)
$FF : Return to item that called this one
Param Format :
The Param byte (X,Y,Z or Operate) took the following format :
3 bits Mode :
0 : Endpoint
1 : Endpoint * Register One
2 : Positive Distance
3 : + Distance * Register One
4 : + Distance * Register Two
5 : Negative Distance
6 : - Distance * Register One
7 : - Distance * Register Two
5 bits Variable :
0: Zero
1 : Use Register One
2 : Use Register Two
3 : use the variable specified in the corresponding field of the Unit Record
4 : Prompt the User for the value
5_30 : Use the appropriate Manufacturer Dimension (from ::MANUFS::)
31 : Spare
An "Update" application was run by the kitchen manufacturer to create this data, i.e. the Manufacturer Dimensions (Cupboard Width, Plinth Height, etc) and the Shape Definitions, producing a "Catalogue Disk" for that kitchen manufacturer, representing their printed catalogue and price list.