Skip to content

Conversation

@AaronJackson
Copy link
Owner

The Dowty SBD card is a video output controller for the PDP-11 and VAX. Commands can be sent in ASCII or binary over serial, or through DMA transfer. The DMA interface is very simple, using three 8 bit registers to set the location of a command block in RAM. When the Ready bit is set to 1, the SBD begins execution. I'm not currently sure how it knows when it has reached the last command.

@AaronJackson
Copy link
Owner Author

Nice, it compiles... I will test tomorrow.

This comes after quite a few hours spent in ODT trying to get the machine to draw a string...

1000/26    ; 22 bytes total
1002/14    ; 0 FCPIX
1004/6     ; 0 FCRUB
1006/2035  ; 2  FCALP
1010/300   ; x coord
1012/300   ; y coord
1014/6     ; 6 characters
1016/62510 ; eh
1020/66154 ; ll
1022/20557 ; !o
1024/177777 ; -1

C strings are packed in byte-addressing order, so the least significant bits will become the first character - meaning we don't need to worry about swapping characters around. An odd number of characters can be terminated with a 0 - this should not be included in the character count.

Instructing the SBD to execute the command block at 1000(8) via DMA:

17760046/0
17760044/2
17760042/0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants