Add notes from the last two weeks
This commit is contained in:
parent
1ad4020574
commit
796735daec
|
|
@ -0,0 +1,119 @@
|
||||||
|
# 2023-09-13 — Dev notes
|
||||||
|
|
||||||
|
Highlights in this note:
|
||||||
|
|
||||||
|
- [BEFLIX](#beflix)
|
||||||
|
- [aperture cards](#aperture-cards)
|
||||||
|
|
||||||
|
## Tools that could be fun to use for simulators
|
||||||
|
|
||||||
|
- try Love2D for graphical simulator
|
||||||
|
- + fennel
|
||||||
|
- also P5
|
||||||
|
- pico8 / tic80
|
||||||
|
- C + Raylib
|
||||||
|
- [Defold](http://defold.com)
|
||||||
|
|
||||||
|
## Quick incomplete survey of decimal computers
|
||||||
|
|
||||||
|
- ENIAC
|
||||||
|
- 1951 — UNIVAC I
|
||||||
|
- & II
|
||||||
|
- …
|
||||||
|
- 1955/56 — TX-0
|
||||||
|
- 1959-1971 — IBM 1401
|
||||||
|
- 1964 — IBM System/360
|
||||||
|
- z80, 6502, x86… include instructions for BCD
|
||||||
|
|
||||||
|
## Quick survey of early computeres that *weren't* decimal
|
||||||
|
|
||||||
|
- 1950
|
||||||
|
- 1959-1969 — PDP-1 (spacewar)
|
||||||
|
- 1965 — PDP-8 (“DEC’s first major success and the start of the minicomputer revolution”)
|
||||||
|
- 1970 — PDP-11 (“the archetypical minicomputer” — wikipedia)
|
||||||
|
|
||||||
|
## Cardiac
|
||||||
|
|
||||||
|
- 1966-1968
|
||||||
|
|
||||||
|
### Links
|
||||||
|
|
||||||
|
- https://americanhistory.si.edu/collections/search/object/nmah_1465426
|
||||||
|
- https://www.drdobbs.com/embedded-systems/paper-to-fpga/240155922
|
||||||
|
- https://www.cs.drexel.edu/~bls96/museum/cardiac.html
|
||||||
|
- https://www.cs.drexel.edu/~bls96/museum/cardiac.pdf
|
||||||
|
|
||||||
|
(I'm looking for info about what computers they were using at Bell Labs, and what they were doing with them...)
|
||||||
|
|
||||||
|
From CARDIAC manual:
|
||||||
|
|
||||||
|
> The computer is playing an increasingly important part in all areas of research at Bell Laboratories. Today, about 30 per cent of the technical personnel there spend more than half their time programming computers.
|
||||||
|
>
|
||||||
|
> Currently, a Bell Laboratories task force is <mark>developing BIS (Business Information System)</mark> to supply Bell System management with the kind of up-to-the-minute information needed to reduce operating costs and provide better customer service. BIS will use new third generation computers-high-speed, on-line, real-time random-access machines with mass information storage and retrieval capabilities.
|
||||||
|
>
|
||||||
|
> It is no exaggeration to say the story of Bell Laboratories and computers is a significant one. Information theory, error detection and correction codes, electronic switching, <mark>programs for visual computer displays such as BEFLIX</mark>, as well as for design, simulation and modeling—these and many others are only highlights in the long story. And as a by-product of this story, CARDIAC was developed, which we hope will help you to understand computers.
|
||||||
|
|
||||||
|
## BEFLIX
|
||||||
|
|
||||||
|
→ https://en.wikipedia.org/wiki/BEFLIX
|
||||||
|
|
||||||
|
> BEFLIX is the name of the first embedded domain-specific language for computer animation, invented by Ken Knowlton at Bell Labs in 1963.[1] The name derives from a combination of <mark>Bell Flicks</mark>. Ken Knowlton used BEFLIX to create animated films for educational and engineering purposes. He also <mark>collaborated with the artist Stan Vanderbeek at Bell Labs to create a series of computer-animated films called Poemfields between 1966 and 1969.</mark>
|
||||||
|
>
|
||||||
|
> BEFLIX was <mark>developed on the IBM 7090 mainframe computer using a Stromberg-Carlson SC4020 microfilm recorder for output</mark>. The programming environment targeted by BEFLIX consisted of a FORTRAN II implementation with FORTRAN II Assembly Program (FAP) macros. The first version of BEFLIX was implemented through the FAP macro facility. A later version targeting FORTRAN IV resembled a more traditional subroutine library and lost some of the unique flavor to the language.
|
||||||
|
>
|
||||||
|
> <mark>Pixels are produced by writing characters to the screen of the microfilm recorder with a defocused electron beam. The SC4020 used a charactron tube to expose microfilm. In BEFLIX, the electron beam is defocused to draw pixels as blurred character shapes. Characters are selected to create a range of grayscale values for pixels.</mark> The microfilm recorder is not connected directly to the 7090, but communicates through magnetic tape. BEFLIX writes the magnetic tape output on the 7090 and the film recorder reads the tape to create the film output. BEFLIX also supports a preview mode where selected frames of the output are written to the line printer.
|
||||||
|
|
||||||
|
!!!
|
||||||
|
|
||||||
|
→ [Using his BEFLIX Computer Animation Language, Ken Knowlton Produces "A Computer Technique for the Production of Animated Movies" ](https://historyofinformation.com/detail.php?id=3467)
|
||||||
|
|
||||||
|
## IBM 7090
|
||||||
|
|
||||||
|
→ https://en.wikipedia.org/wiki/IBM_7090
|
||||||
|
|
||||||
|
- first install December 1959
|
||||||
|
- The basic instruction formats were the same as the IBM 709
|
||||||
|
- seems like this wasn’t a decimal machine
|
||||||
|
- great console
|
||||||
|
- very Full Room
|
||||||
|
|
||||||
|
→ https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP7094.html
|
||||||
|
|
||||||
|
|
||||||
|
## One Instruction Set Computer
|
||||||
|
|
||||||
|
Relevenat to CARDIAC?
|
||||||
|
|
||||||
|
https://www.cs.drexel.edu/~bls96/oisc/
|
||||||
|
|
||||||
|
|
||||||
|
## <mark>Aperture cards</mark>
|
||||||
|
|
||||||
|
- [Aperture Cards: The Last of an Art Form - The Crowley Company](https://thecrowleycompany.com/aperture-microfilm-cards-last-artform/)
|
||||||
|
- https://thecrowleycompany.com/aperture-microfilm-cards-last-artform/
|
||||||
|
- https://wwl.co.uk/micrographic-scanning-systems/microfilm-cards/
|
||||||
|
- https://homepage.divms.uiowa.edu/~jones/cards/collection/i-aperture.shtml
|
||||||
|
|
||||||
|
## TO READ: IBM System/360 etc.
|
||||||
|
|
||||||
|
- [Building the System/360 Mainframe Nearly Destroyed IBM](https://spectrum.ieee.org/building-the-system360-mainframe-nearly-destroyed-ibm)
|
||||||
|
- TODO: read
|
||||||
|
- includes great pictures of components + factory-floor photos
|
||||||
|
- https://news.ycombinator.com/item?id=19614548
|
||||||
|
|
||||||
|
- [IBM System/360 Principles of Operation (1964) [pdf] | Hacker News](https://news.ycombinator.com/item?id=21481045)
|
||||||
|
- Bitsavers: http://bitsavers.org/pdf/ibm/360/princOps/A22-6821-0_360PrincOps.pdf
|
||||||
|
|
||||||
|
- [System/360 Announcement](https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PR360.html) — "press release distributed on April 7, 1964"
|
||||||
|
- [System/360 Announcement (1964) | Hacker News](https://news.ycombinator.com/item?id=30942342)
|
||||||
|
|
||||||
|
- [IBM: Producer or Predator ](https://reason.com/archives/1974/04/01/ibm/print)
|
||||||
|
- April 1974
|
||||||
|
|
||||||
|
|
||||||
|
## To do
|
||||||
|
|
||||||
|
- look at ibm reference cards
|
||||||
|
- download manuals for decimal machines
|
||||||
|
- + PDP
|
||||||
|
- **aperture cards as slides**
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
# 2023-09-20 — Dev notes
|
||||||
|
|
||||||
|
- TODO: look at punch cards for knitting machines
|
||||||
|
|
||||||
|
## BEFLIX + related research projects
|
||||||
|
|
||||||
|
[The Incredible Machine (1968)
|
||||||
|
](https://www.youtube.com/watch?v=iwVu2BWLZqA)
|
||||||
|
|
||||||
|
- great reference
|
||||||
|
- includes brief demo of BEFLIX
|
||||||
|
- which is of relevance to my work, as an early comp graphics project
|
||||||
|
- and which makes it (iirc) contemporary with the Cardiac
|
||||||
|
|
||||||
|
- TODO listen to the *Advent of Computing* podcast's episode about BEFLIX
|
||||||
|
- https://adventofcomputing.com/?guid=a7aecef4-16f9-4c4b-811b-0c93320c6aa9
|
||||||
|
- https://www.youtube.com/watch?v=IL7dsFtauN4&pp=ygUPYmZsaXggYmVsbCBsYWJz
|
||||||
|
|
@ -0,0 +1,39 @@
|
||||||
|
# 2023-09-22 — Dev notes
|
||||||
|
|
||||||
|
## How did DMA work on the PDP-8?
|
||||||
|
|
||||||
|
[https://gunkies.org/wiki/PDP-8_architecture](https://gunkies.org/wiki/PDP-8_architecture):
|
||||||
|
|
||||||
|
> All supported DMA, called "data break" in the PDP-8's. There were two types.
|
||||||
|
In one, "three cycle data break", the buffer address and word count were kept in main memory (at an address usually specified by jumpers on the device). This required the assistance of the processor, placing the processor in charge of maintaining the DMA address and word count. This moved some of common logic (needed to implement the I/O device) from each I/O device into one common copy of the logic within the processor, reducing the device complexity (and thus cost). In three successive memory cycles, the processor would update the word count, update the transfer address, and finally store or retrieve the actual I/O data word.
|
||||||
|
The other, "single cycle data break", moved back to the individual I/O devices all the responsibility for maintaining the word count and transfer address (in registers in the device); this effectively tripled the DMA transfer rate because only the target data needed to be transferred to/from the main memory.
|
||||||
|
|
||||||
|
|
||||||
|
+ here's an overview of the PDP-8 [Another Real Machine: The DEC PDP-8](http://www.quadibloc.com/comp/cp0306.htm)
|
||||||
|
|
||||||
|
|
||||||
|
## How did DMA/memory access work on the IBM 709?
|
||||||
|
|
||||||
|
[1958 IBM 709 – First Use of DMA](https://storagesystemshistory.wordpress.com/2021/05/31/1958-ibm-709-first-use-of-dma/)
|
||||||
|
|
||||||
|
> DMA did exist in two military systems prior to these commercial machines. Smotherman notes:
|
||||||
|
>
|
||||||
|
> > “The DYSEAC also appears to be the first computer to provide DMA, although IBM was granted a patent for DMA cycle-stealing on the SAGE system (US 3,319,230 Astrahan, et al., ‘Data Processing Machine Including Program Interrupt Feature,’ filed Sept. 1956 and granted May 1967). (The SAGE project started in 1952, and I cannot yet determine the date of the first use of DMA in the design.)”
|
||||||
|
|
||||||
|
> IBM developed a buffered I/O system on its 709 computer, in which data channels attached to the memory could perform I/O at the same time as the processor was doing computation. The first 709 was delivered in late summer 1958.
|
||||||
|
|
||||||
|
> Whether interrupts are a necessary feature of DMA I/O may be subject to debate and I argue they aren’t as the 709 did not have interrupts. It doesn’t matter if the I/O DMA address was part of the CPU logic or part of the peripheral controller in order to qualify.
|
||||||
|
|
||||||
|
## IBM 709 — more material
|
||||||
|
|
||||||
|
http://sky-visions.com/ibm/ibm709_instr.shtml
|
||||||
|
|
||||||
|
http://www.piercefuller.com/collect/main.html
|
||||||
|
|
||||||
|
http://www.piercefuller.com/library/ibm709diagrams.html
|
||||||
|
|
||||||
|
http://www.piercefuller.com/collect/709dwg/index.html
|
||||||
|
|
||||||
|
https://ed-thelen.org/comp-hist/BRL61-ibm0709.html
|
||||||
|
|
||||||
|
https://www.computer-history.info/Page4.dir/pages/IBM.7090.dir/index.html
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
# 2023-09-23 — Dev notes
|
||||||
|
|
||||||
|
## BEFLIX
|
||||||
|
|
||||||
|
- [THE FIRST MAN TO FILL A MOVIE SCREEN WITH PIXELS-- the great career of Ken Knowlton](https://m.youtube.com/watch?v=gwPY7-jcLjk)
|
||||||
|
- Knowlton interviewed by Ted Nelson
|
||||||
|
|
||||||
|
- [Visualing Poetry With 1960s Computer Graphics - AT&T Archives
|
||||||
|
](https://m.youtube.com/watch?v=V4agEv3Nkcs)
|
||||||
|
|
||||||
|
## Interrupts - their history
|
||||||
|
|
||||||
|
- http://cap-lore.com/Hardware/int.html
|
||||||
|
- https://people.computing.clemson.edu/~mark/interrupts.html
|
||||||
|
|
||||||
|
## IBM 709 info + drawings
|
||||||
|
|
||||||
|
- http://www.piercefuller.com/collect/709dwg/index.html
|
||||||
|
|
||||||
|
|
||||||
|
## MIDSAC Pool game, 1954
|
||||||
|
|
||||||
|
https://ultimatehistoryvideogames.jimdofree.com/pool/
|
||||||
|
|
||||||
|
"First game with real time graphics (updated in real time, rather than only when the player making a move)"
|
||||||
Loading…
Reference in New Issue