Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.sys.apple2.programmer > #3717 > unrolled thread
| Started by | Anthony Ortiz <anthonypaulo@gmail.com> |
|---|---|
| First post | 2017-07-20 07:12 -0700 |
| Last post | 2017-07-29 19:18 -0600 |
| Articles | 9 — 6 participants |
Back to article view | Back to comp.sys.apple2.programmer
Mixed mode graphics w/vapor lock Anthony Ortiz <anthonypaulo@gmail.com> - 2017-07-20 07:12 -0700
Mixed mode graphics w/vapor lock Michael Pohoreski <michael.pohoreski@gmail.com> - 2017-07-20 08:06 -0700
Mixed mode graphics w/vapor lock Michael Pohoreski <michael.pohoreski@gmail.com> - 2017-07-20 08:17 -0700
Re: Mixed mode graphics w/vapor lock Anthony Ortiz <anthonypaulo@gmail.com> - 2017-07-20 18:11 -0700
Re: Mixed mode graphics w/vapor lock Antoine Vignau <antoine.vignau@laposte.net> - 2017-07-20 18:18 -0700
Re: Mixed mode graphics w/vapor lock Michael Pohoreski <michael.pohoreski@gmail.com> - 2017-07-20 19:00 -0700
Re: Mixed mode graphics w/vapor lock Marco Verpelli <mverpelli@libero.it> - 2017-07-20 08:07 -0700
Re: Mixed mode graphics w/vapor lock mmphosis <mmphosis@macgui.com> - 2017-07-21 06:12 +0000
Re: Mixed mode graphics w/vapor lock awanderin <awanderin@gmail.com> - 2017-07-29 19:18 -0600
| From | Anthony Ortiz <anthonypaulo@gmail.com> |
|---|---|
| Date | 2017-07-20 07:12 -0700 |
| Subject | Mixed mode graphics w/vapor lock |
| Message-ID | <36ef2b47-4555-4c79-964d-e330a0b23135@googlegroups.com> |
I've been doing some light reading of "Understanding the Apple IIe" by Sathers and from what I can tell you should be able to display portions of text. For example, I should be able to switch to text mode for one row and graphics for another row, thereby creating what appears to be graphic lines going horizontally through the text. Am I correct in stating this is possible, and are there any demos/examples of text being mixed this way? I've seen demos where text is placed in the middle of some graphics but that's different, they always keep the text characters fully intact... I've never seen partial characters being displayed.
[toc] | [next] | [standalone]
| From | Michael Pohoreski <michael.pohoreski@gmail.com> |
|---|---|
| Date | 2017-07-20 08:06 -0700 |
| Message-ID | <3f4a6553-a7ce-4c6a-8358-14f58572233c@googlegroups.com> |
| In reply to | #3717 |
> I've been doing some light reading of "Understanding the Apple IIe" by Sathers and from what I can tell you should be able to display portions of text.
Yes, with accurate cycle counting / delays.
> For example, I should be able to switch to text mode for one row and graphics for another row,
You can switch video modes not only per scanline, but *mid* scanline as well ! French Touch is (semi?) famous for this.
Anyways, you'll probably want to check out the famous RAINBOW demo
10 A = 9200 :B = 13168:C=100:X=279
20 TEXT : HOME :GOTO 40
30 HPLOT 0,Y TO X,Y:RETURN
40 DATA 173,87,192,173,83,192,173,84,192,173,80,192
50 DATA 208,251,173,86,192,160,22,136,208,253,234,173,87,192,76,9,3
60 FOR I = 768 TO 796:READ N:POKE I,N:NEXT
70 HGR : POKE - 16302,0
80 HCOLOR= 4:HPLOT 0,0: CALL 62454
90 HCOLOR= 2:Y=63:GOSUB 30:Y=62:GOSUB 30
100 HCOLOR= 6:Y=61:GOSUB 30:Y=60:GOSUB 30
110 HCOLOR= 1:Y=59:GOSUB 30:Y=58:GOSUB 30
120 HCOLOR= 5:Y=55:GOSUB 30:Y=54:GOSUB 30
130 HCOLOR= 0:X=C
140 Y=123:GOSUB 30:Y=122:GOSUB 30
150 Y=119:GOSUB 30:Y=118:GOSUB 30
160 COLOR= 0:FOR I = 0 TO 39:VLIN 0,39 AT I:NEXT
170 COLOR= 13:HLIN 0,39 AT 14
180 FOR I = 0 TO 7:POKE A + I,0:POKE B + I,0:NEXT
190 COLOR= 1:HLIN 0,39 AT 13
200 VTAB 21:? TAB( 16)"RAINBOW"
210 ?:? "MIXED GRAPHICS (HI-RES/COLOR)"
220 CALL 768
They are using this Assembly
LDA SW.HIRES
LDA SW.MIXSET
LDA SW.LOWSCR
_309
LDA SW.TXTCLR
BNE _309
LDA SW.LORES
LDY #16
_313
DEY
BNE _313
NOP
LDA SW.HIRES
JMP _309
We can modify $309 to show an HGR / TEXT split
300:AD 57 C0
303:AD 53 C0
306:AD 54 C0
309:AD 50 C0
30C:D0 FB
30E:AD 51 C0
311:A0 16
313:88
314:D0 FD
316:EA
317:AD 57 C0
31A:4C 09 03
Here's a quick demo I threw together that lets you play around with some of these concepts:
(Press a key to quit)
0300:20 E2 F3 A2 20 A0 00 84
0308:FE 86 FF A2 00 BD 41 03
0310:91 FE E6 FF E6 FF E6 FF
0318:E6 FF E8 E0 08 D0 EE 8D
0320:51 C0 A9 01 20 A8 FC 8D
0328:57 C0 8D 54 C0 8D 53 C0
0330:8D 50 C0 A9 01 20 A8 FC
0338:AD 00 C0 10 E2 8D 10 C0
0340:60 D5 D5 D5 D5 AA AA AA
0348:AA
Some fun effects
323:1 N 334:08 N 300G
323:4 N 334:01 N 300G
323:4 N 334:10 N 300G
Obviously it is not as refined and more accurate cycle delay is needed to get a "stable" image -- left as an exercise for the reader -- but it shows what is possible.
Source in case you wan to assemble it yourself with Merlin32
- - - 8< videofun.s - --
; Apple 2 Video Fun
zDst = $FE
KEYBOARD = $C000
KEYSTROBE = $C010
TXTCLR = $C050
TXTSET = $C051
MIXCLR = $C052
MIXSET = $C053
PAGE1 = $C054
PAGE2 = $C055
LORES = $C056
HIRES = $C057
AS_HGR = $F3E2 ; Applesoft BASIC ][+ or newer
WAIT = $FCA8
ORG $300
Main
jsr AS_HGR
ldx #$20
ldy #$00
sty zDst+0
stx zDst+1
ldx #0
Copy
lda Data,X
sta (zDst),Y
inc zDst+1
inc zDst+1
inc zDst+1
inc zDst+1
inx
cpx #8
bne Copy
Text
sta TXTSET
lda #04
jsr WAIT
Graphics
sta HIRES
sta PAGE1
sta MIXSET
STA TXTCLR
lda #01
jsr WAIT
lda KEYBOARD
bpl Text
sta KEYSTROBE
rts
Data
db $D5,$D5,$D5,$D5,$AA,$AA,$AA,$AA
; 323:1 N 334:08 N 300G
; 323:4 N 334:01 N 300G
; 323:4 N 334:10 N 300G
[toc] | [prev] | [next] | [standalone]
| From | Michael Pohoreski <michael.pohoreski@gmail.com> |
|---|---|
| Date | 2017-07-20 08:17 -0700 |
| Message-ID | <e48b9938-671c-472d-bc65-468cd1d1f7f5@googlegroups.com> |
| In reply to | #3718 |
Correction, we can modify $30E to show an HGR / TEXT split From: LDA SW.LORES To: LDA SW.TXTSET
[toc] | [prev] | [next] | [standalone]
| From | Anthony Ortiz <anthonypaulo@gmail.com> |
|---|---|
| Date | 2017-07-20 18:11 -0700 |
| Message-ID | <45be77a2-ab28-4000-a48b-be92121b3e85@googlegroups.com> |
| In reply to | #3718 |
On Thursday, July 20, 2017 at 11:06:45 AM UTC-4, Michael Pohoreski wrote: > > I've been doing some light reading of "Understanding the Apple IIe" by Sathers and from what I can tell you should be able to display portions of text. > > Yes, with accurate cycle counting / delays. > > > > For example, I should be able to switch to text mode for one row and graphics for another row, > > You can switch video modes not only per scanline, but *mid* scanline as well ! French Touch is (semi?) famous for this. > > Anyways, you'll probably want to check out the famous RAINBOW demo > > 10 A = 9200 :B = 13168:C=100:X=279 > 20 TEXT : HOME :GOTO 40 > 30 HPLOT 0,Y TO X,Y:RETURN > 40 DATA 173,87,192,173,83,192,173,84,192,173,80,192 > 50 DATA 208,251,173,86,192,160,22,136,208,253,234,173,87,192,76,9,3 > 60 FOR I = 768 TO 796:READ N:POKE I,N:NEXT > 70 HGR : POKE - 16302,0 > 80 HCOLOR= 4:HPLOT 0,0: CALL 62454 > 90 HCOLOR= 2:Y=63:GOSUB 30:Y=62:GOSUB 30 > 100 HCOLOR= 6:Y=61:GOSUB 30:Y=60:GOSUB 30 > 110 HCOLOR= 1:Y=59:GOSUB 30:Y=58:GOSUB 30 > 120 HCOLOR= 5:Y=55:GOSUB 30:Y=54:GOSUB 30 > 130 HCOLOR= 0:X=C > 140 Y=123:GOSUB 30:Y=122:GOSUB 30 > 150 Y=119:GOSUB 30:Y=118:GOSUB 30 > 160 COLOR= 0:FOR I = 0 TO 39:VLIN 0,39 AT I:NEXT > 170 COLOR= 13:HLIN 0,39 AT 14 > 180 FOR I = 0 TO 7:POKE A + I,0:POKE B + I,0:NEXT > 190 COLOR= 1:HLIN 0,39 AT 13 > 200 VTAB 21:? TAB( 16)"RAINBOW" > 210 ?:? "MIXED GRAPHICS (HI-RES/COLOR)" > 220 CALL 768 > > They are using this Assembly > > LDA SW.HIRES > LDA SW.MIXSET > LDA SW.LOWSCR > _309 > LDA SW.TXTCLR > BNE _309 > LDA SW.LORES > LDY #16 > _313 > DEY > BNE _313 > NOP > LDA SW.HIRES > JMP _309 > > > We can modify $309 to show an HGR / TEXT split > > 300:AD 57 C0 > 303:AD 53 C0 > 306:AD 54 C0 > 309:AD 50 C0 > 30C:D0 FB > 30E:AD 51 C0 > 311:A0 16 > 313:88 > 314:D0 FD > 316:EA > 317:AD 57 C0 > 31A:4C 09 03 > > > Here's a quick demo I threw together that lets you play around with some of these concepts: > (Press a key to quit) > > 0300:20 E2 F3 A2 20 A0 00 84 > 0308:FE 86 FF A2 00 BD 41 03 > 0310:91 FE E6 FF E6 FF E6 FF > 0318:E6 FF E8 E0 08 D0 EE 8D > 0320:51 C0 A9 01 20 A8 FC 8D > 0328:57 C0 8D 54 C0 8D 53 C0 > 0330:8D 50 C0 A9 01 20 A8 FC > 0338:AD 00 C0 10 E2 8D 10 C0 > 0340:60 D5 D5 D5 D5 AA AA AA > 0348:AA > > Some fun effects > > 323:1 N 334:08 N 300G > 323:4 N 334:01 N 300G > 323:4 N 334:10 N 300G > > Obviously it is not as refined and more accurate cycle delay is needed to get a "stable" image -- left as an exercise for the reader -- but it shows what is possible. > > Source in case you wan to assemble it yourself with Merlin32 > > - - - 8< videofun.s - -- > > ; Apple 2 Video Fun > > zDst = $FE > > > KEYBOARD = $C000 > KEYSTROBE = $C010 > > TXTCLR = $C050 > TXTSET = $C051 > MIXCLR = $C052 > MIXSET = $C053 > PAGE1 = $C054 > PAGE2 = $C055 > LORES = $C056 > HIRES = $C057 > > AS_HGR = $F3E2 ; Applesoft BASIC ][+ or newer > WAIT = $FCA8 > > ORG $300 > > Main > jsr AS_HGR > > ldx #$20 > ldy #$00 > sty zDst+0 > stx zDst+1 > ldx #0 > Copy > lda Data,X > sta (zDst),Y > inc zDst+1 > inc zDst+1 > inc zDst+1 > inc zDst+1 > inx > cpx #8 > bne Copy > > Text > sta TXTSET > lda #04 > jsr WAIT > > Graphics > sta HIRES > sta PAGE1 > sta MIXSET > STA TXTCLR > lda #01 > jsr WAIT > > lda KEYBOARD > bpl Text > sta KEYSTROBE > rts > > Data > db $D5,$D5,$D5,$D5,$AA,$AA,$AA,$AA > > > ; 323:1 N 334:08 N 300G > ; 323:4 N 334:01 N 300G > ; 323:4 N 334:10 N 300G Holy baby Jesus... Did you have this ready just in case someone asked this question? wow!
[toc] | [prev] | [next] | [standalone]
| From | Antoine Vignau <antoine.vignau@laposte.net> |
|---|---|
| Date | 2017-07-20 18:18 -0700 |
| Message-ID | <aa2e8b37-d0fc-46fc-b237-d8827d1606f1@googlegroups.com> |
| In reply to | #3721 |
French Touch's demos @ http://www.ctrl-pomme-reset.fr/ av
[toc] | [prev] | [next] | [standalone]
| From | Michael Pohoreski <michael.pohoreski@gmail.com> |
|---|---|
| Date | 2017-07-20 19:00 -0700 |
| Message-ID | <4679d735-b688-48f1-b2aa-382142316b6a@googlegroups.com> |
| In reply to | #3721 |
No, but since I originally logged AppleWin bug #254 ... https://github.com/AppleWin/AppleWin/issues/254 ... RAINBOW was one of the programs we used to test the NTSC rendering mode in AppleWin 1.26. :-)
[toc] | [prev] | [next] | [standalone]
| From | Marco Verpelli <mverpelli@libero.it> |
|---|---|
| Date | 2017-07-20 08:07 -0700 |
| Message-ID | <146d37da-5de2-451c-9768-6c69f55f00d4@googlegroups.com> |
| In reply to | #3717 |
On Thursday, July 20, 2017 at 4:12:43 PM UTC+2, Anthony Ortiz wrote: > I've been doing some light reading of "Understanding the Apple IIe" by Sathers and from what I can tell you should be able to display portions of text. For example, I should be able to switch to text mode for one row and graphics for another row, thereby creating what appears to be graphic lines going horizontally through the text. Am I correct in stating this is possible, and are there any demos/examples of text being mixed this way? I've seen demos where text is placed in the middle of some graphics but that's different, they always keep the text characters fully intact... I've never seen partial characters being displayed. Yes it is possible! Bob Bishop article in Softalk http://rich12345.tripod.com/aiivideo/softalk.html Marco.
[toc] | [prev] | [next] | [standalone]
| From | mmphosis <mmphosis@macgui.com> |
|---|---|
| Date | 2017-07-21 06:12 +0000 |
| Message-ID | <mmphosis-1500617805@macgui.com> |
| In reply to | #3717 |
Holy baby Jesus... wow! I had this ready just in case you asked this question... The infamous rainbow: http://hoop-la.ca/apple2/2011/rainbow/ Vertically: 300:AD C0 50 EA AD 51 C0 4C 0 3 N 300G More vapor: http://hoop-la.ca/apple2/2015/winterwarmup/#2015-01-25
[toc] | [prev] | [next] | [standalone]
| From | awanderin <awanderin@gmail.com> |
|---|---|
| Date | 2017-07-29 19:18 -0600 |
| Message-ID | <m3o9s2vi1e.fsf@gmail.com> |
| In reply to | #3724 |
mmphosis <mmphosis@macgui.com> writes: Also see Don Lancaster's books Enhancing Your Apple II volumes I and II. He describes the whole "vapor-lock" technique thoroughly. ftp://ftp.apple.asimov.net/pub/apple_II/unsorted/Enhancing_your_Apple_II_Volume_1_Second_Edition.pdf ftp://ftp.apple.asimov.net/pub/apple_II/documentation/hardware/machines/Enhancing Your II and IIe v2.pdf -- Jerry awanderin at gmail dot com
[toc] | [prev] | [standalone]
Back to top | Article view | comp.sys.apple2.programmer
csiph-web