.LL30 STY YSAV \ Store Y in YSAV so we can retrieve it below LDA #%00001111 \ Set bits 1 and 2 of the Access Control Register at STA VIA+&34 \ SHEILA &34 to switch screen memory into &3000-&7FFF JSR LOIN \ Draw a line from (X1, Y1) to (X2, Y2) LDA #%00001001 \ Clear bits 1 and 2 of the Access Control Register at STA VIA+&34 \ SHEILA &34 to switch main memory back into &3000-&7FFF LDY YSAV \ Retrieve the value of Y we stored above RTS \ Return from the subroutineName: LL30 [Show more] Type: Subroutine Category: Drawing lines Summary: Draw a one-segment lineContext: See this subroutine in context in the source code Variations: See code variations for this subroutine in the different versions References: This subroutine is called as follows: * BLINE calls LL30 * BOMBLINES calls LL30 * DVLOIN calls LL30 * LASLI calls LL30 * LL9 (Part 12 of 12) calls LL30 * LLX30 calls LL30 * TT15 calls LL30 * WPLS2 calls LL30
Arguments: X1 The screen x-coordinate of the start of the line Y1 The screen y-coordinate of the start of the line X2 The screen x-coordinate of the end of the line Y2 The screen y-coordinate of the end of the line
[X]
Subroutine LOIN (Part 1 of 7) (category: Drawing lines)
Draw a line: Calculate the line gradient in the form of deltas
[X]
Configuration variable: VIA = &FE00
Memory-mapped space for accessing internal hardware, such as the video ULA, 6845 CRTC and 6522 VIAs (also known as SHEILA)