mirror of
https://github.com/antoinevignau/source.git
synced 2025-03-04 11:31:07 +00:00
Adding VOCPopuli
Antoine's source code of VOC Populi, a program to display the characteristics of your Video Overlay Card
This commit is contained in:
parent
ba63c9b7c1
commit
b02202c7f1
416
vocpopuli/vocpopuli.s
Normal file
416
vocpopuli/vocpopuli.s
Normal file
@ -0,0 +1,416 @@
|
||||
*
|
||||
* VOC Populi
|
||||
* The features of your VOC
|
||||
*
|
||||
* (c) 2022, Brutal Deluxe Software
|
||||
* Visit brutaldeluxe.fr
|
||||
*
|
||||
|
||||
xc
|
||||
xc
|
||||
mx %00
|
||||
|
||||
rel
|
||||
typ S16
|
||||
dsk VOCPopuli.l
|
||||
lst off
|
||||
|
||||
*----------
|
||||
|
||||
VDNoVideoDevice = $2110
|
||||
VDAlreadyStarted = $2111
|
||||
|
||||
vdVideoOverlay = 1 ; 1st feature
|
||||
vdTextMonoOver = 20 ; Last feature
|
||||
|
||||
vdTrue = $01
|
||||
vdFalse = $00
|
||||
vdAvail = $01
|
||||
vdNotAvail = $00
|
||||
vdYes = $01
|
||||
vdNo = $00
|
||||
vdOn = $01
|
||||
vdOff = $00
|
||||
vdNil = $00
|
||||
|
||||
vdNone = $00
|
||||
vdNTSC = $01
|
||||
vdPAL = $02
|
||||
vdSECAM = $04 ; doc says $03
|
||||
vdSNTSC = $08
|
||||
vdSPAL = $10
|
||||
vdSSECAM = $20
|
||||
vdRGB60 = $40
|
||||
vdRGB50 = $80
|
||||
|
||||
dpTABLE = $00 ; DP index of the VOC table
|
||||
|
||||
*----------
|
||||
|
||||
use 4/Int.Macs
|
||||
use 4/Locator.Macs
|
||||
use 4/Mem.Macs
|
||||
use 4/Misc.Macs
|
||||
use 4/Text.Macs
|
||||
use 4/Util.Macs
|
||||
use 4/Video.Macs
|
||||
|
||||
GSOS = $e100a8
|
||||
|
||||
*----------
|
||||
|
||||
phk
|
||||
plb
|
||||
|
||||
clc
|
||||
xce
|
||||
rep #$30
|
||||
|
||||
_TLStartUp
|
||||
pha
|
||||
_MMStartUp
|
||||
pla
|
||||
sta appID
|
||||
ora #$0100
|
||||
sta myID
|
||||
|
||||
_MTStartUp
|
||||
_TextStartUp
|
||||
|
||||
_IMStartUp
|
||||
|
||||
*----------
|
||||
|
||||
PushWord #$00FF
|
||||
PushWord #$0080
|
||||
_SetInGlobals
|
||||
PushWord #$00FF
|
||||
PushWord #$0080
|
||||
_SetOutGlobals
|
||||
PushWord #$00FF
|
||||
PushWord #$0080
|
||||
_SetErrGlobals
|
||||
|
||||
PushWord #0
|
||||
PushLong #3
|
||||
_SetInputDevice
|
||||
PushWord #0
|
||||
PushLong #3
|
||||
_SetOutputDevice
|
||||
PushWord #0
|
||||
PushLong #3
|
||||
_SetErrorDevice
|
||||
|
||||
PushWord #0
|
||||
_InitTextDev
|
||||
PushWord #1
|
||||
_InitTextDev
|
||||
PushWord #2
|
||||
_InitTextDev
|
||||
|
||||
*----------------------------
|
||||
* DO WE HAVE A VOC?
|
||||
*----------------------------
|
||||
|
||||
PushWord #33
|
||||
PushWord #0
|
||||
_LoadOneTool
|
||||
bcc okTOOL
|
||||
|
||||
PushLong #strTOOL
|
||||
bra theEND
|
||||
|
||||
okTOOL _VDStartUp
|
||||
bcc mainMENU
|
||||
cmp #VDAlreadyStarted
|
||||
beq mainMENU
|
||||
|
||||
PushLong #strNOVOC
|
||||
|
||||
theEND _WriteCString
|
||||
PushLong #strINSTALL
|
||||
_WriteCString
|
||||
jsr waitKEY
|
||||
jmp doQUIT
|
||||
|
||||
*----------------------------
|
||||
* MAIN MENU
|
||||
*----------------------------
|
||||
|
||||
mainMENU
|
||||
PushWord #$0c ; home
|
||||
_WriteChar
|
||||
|
||||
PushLong #strMAINMENU
|
||||
_WriteCString
|
||||
|
||||
jsr waitKEY
|
||||
cmp #"Q"
|
||||
beq doQUIT
|
||||
cmp #"q"
|
||||
beq doQUIT
|
||||
cmp #"1"
|
||||
bne mainMENU
|
||||
|
||||
jmp showMENU
|
||||
|
||||
*----------------------------
|
||||
* QUIT PROGRAM
|
||||
*----------------------------
|
||||
|
||||
doQUIT _IMShutDown
|
||||
_TextShutDown
|
||||
_MTShutDown
|
||||
|
||||
PushWord myID
|
||||
_DisposeAll
|
||||
|
||||
PushWord appID
|
||||
_MMShutDown
|
||||
|
||||
_TLShutDown
|
||||
|
||||
jsl GSOS
|
||||
dw $2029
|
||||
adrl proQUIT
|
||||
|
||||
brk $bd
|
||||
|
||||
*----------------------------
|
||||
* ASCII DATA
|
||||
*----------------------------
|
||||
|
||||
strTOOL asc 0d'Video Overlay Toolset not found!'00
|
||||
strNOVOC asc 0d'No Video Overlay card found!'00
|
||||
strINSTALL asc 0d'Please install it and come back here...'0d00
|
||||
|
||||
strMAINMENU asc 0d'VOC Populi'0d
|
||||
asc '(c) 2022, Brutal Deluxe Software'0d
|
||||
asc ' 1. Show VOC Features'0d
|
||||
asc ' Q. Quit'0d00
|
||||
|
||||
*----------------------------
|
||||
* SEARCH MENU
|
||||
*----------------------------
|
||||
|
||||
showMENU
|
||||
|
||||
* 1. Get all the features
|
||||
|
||||
lda #vdVideoOverlay
|
||||
]lp pha ; push index
|
||||
pea $0000
|
||||
pha
|
||||
_VDGetFeatures
|
||||
ply ; get value
|
||||
|
||||
lda 1,s ; get index
|
||||
asl
|
||||
tax
|
||||
sty dpTABLE,x ; save value
|
||||
|
||||
pla ; next index
|
||||
inc
|
||||
cmp #vdTextMonoOver+1
|
||||
bcc ]lp
|
||||
|
||||
* 2. Show the results
|
||||
|
||||
lda #vdVideoOverlay ; from 1
|
||||
]lp pha
|
||||
asl
|
||||
tax
|
||||
pea ^tblSEL
|
||||
lda tblSEL,x
|
||||
pha
|
||||
_WriteCString
|
||||
|
||||
pla
|
||||
pha
|
||||
asl
|
||||
tax
|
||||
lda dpTABLE,x ; get value
|
||||
jsr (cmdSEL,x) ; show value
|
||||
|
||||
pla ; next index
|
||||
inc
|
||||
cmp #vdTextMonoOver+1 ; to 20
|
||||
bcc ]lp
|
||||
|
||||
* 3. Wait for key
|
||||
|
||||
jsr waitKEY
|
||||
jmp mainMENU ; loop
|
||||
|
||||
*--- Data
|
||||
|
||||
tblSEL da strSEL1
|
||||
da strSEL1,strSEL2,strSEL3,strSEL4,strSEL5
|
||||
da strSEL6,strSEL7,strSEL8,strSEL9,strSEL10
|
||||
da strSEL11,strSEL12,strSEL13,strSEL14,strSEL15
|
||||
da strSEL16,strSEL17,strSEL18,strSEL19,strSEL20
|
||||
|
||||
strSEL1 asc 0d'Video Overlay : '00
|
||||
strSEL2 asc 0d'Frame grabber : '00
|
||||
strSEL3 asc 0d'Input video standards : '00
|
||||
strSEL4 asc 0d'Output video standards : '00
|
||||
strSEL5 asc 0d'Key dissolve levels : '00
|
||||
strSEL6 asc 0d'Non-key dissolve levels : '00
|
||||
strSEL7 asc 0d'Adjust save side effect : '00
|
||||
strSEL8 asc 0d'Key color bits of significance : '00
|
||||
strSEL9 asc 0d'Input hue adjustment : '00
|
||||
strSEL10 asc 0d'Input saturation adjustment : '00
|
||||
strSEL11 asc 0d'Input contrast adjustment : '00
|
||||
strSEL12 asc 0d'Input brightness adjustment : '00
|
||||
strSEL13 asc 0d'Output setup : '00
|
||||
strSEL14 asc 0d'Output chroma filter : '00
|
||||
strSEL15 asc 0d'Pass external VBL interval : '00
|
||||
strSEL16 asc 0d'Enhanced dissolve mode : '00
|
||||
strSEL17 asc 0d'Scan line interrupts support : '00
|
||||
strSEL18 asc 0d'Graphics generator disability : '00
|
||||
strSEL19 asc 0d'Dual graphics display support : '00
|
||||
strSEL20 asc 0d'Text monochrome override : '00
|
||||
|
||||
cmdSEL da cmdAVAIL
|
||||
da cmdAVAIL,cmdAVAIL,cmdSTDS,cmdSTDS,cmdNUM
|
||||
da cmdNUM,cmdYESNO,cmdNUM,cmdAVAIL,cmdAVAIL
|
||||
da cmdAVAIL,cmdAVAIL,cmdAVAIL,cmdAVAIL,cmdAVAIL
|
||||
da cmdAVAIL,cmdAVAIL,cmdAVAIL,cmdAVAIL,cmdAVAIL
|
||||
|
||||
*-----------------------------------
|
||||
|
||||
cmdAVAIL cmp #vdAvail
|
||||
bne cmdNOTAVAIL
|
||||
|
||||
PushLong #strAVAIL
|
||||
_WriteCString
|
||||
rts
|
||||
|
||||
cmdNOTAVAIL cmp #vdNotAvail
|
||||
bne cmdAVAIL99
|
||||
|
||||
PushLong #strNOTAVAIL
|
||||
_WriteCString
|
||||
|
||||
cmdAVAIL99 rts
|
||||
|
||||
*---
|
||||
|
||||
strAVAIL asc 'Available'00
|
||||
strNOTAVAIL asc 'Not available'00
|
||||
|
||||
*-----------------------------------
|
||||
|
||||
cmdSTDS pha
|
||||
jsr cmdNUM
|
||||
pla
|
||||
|
||||
ldx #0
|
||||
]lp cmp tblSTDSVAL,x
|
||||
beq cmdSTDSOK
|
||||
|
||||
inx
|
||||
inx
|
||||
cpx #9*2
|
||||
bcc ]lp
|
||||
rts
|
||||
|
||||
cmdSTDSOK pea ^tblSTDSSTR
|
||||
lda tblSTDSSTR,x
|
||||
pha
|
||||
_WriteCString
|
||||
rts
|
||||
|
||||
*---
|
||||
|
||||
tblSTDSVAL dw vdNone,vdNTSC,vdPAL,vdSECAM,vdSNTSC
|
||||
dw vdSPAL,vdSSECAM,vdRGB60,vdRGB50
|
||||
|
||||
tblSTDSSTR da strSTDS1,strSTDS2,strSTDS3,strSTDS4,strSTDS5
|
||||
da strSTDS6,strSTDS7,strSTDS8,strSTDS9
|
||||
|
||||
strSTDS1 asc ' None'00
|
||||
strSTDS2 asc ' NTSC'00
|
||||
strSTDS3 asc ' PAL'00
|
||||
strSTDS4 asc ' SECAM'00
|
||||
strSTDS5 asc ' SNTSC'00
|
||||
strSTDS6 asc ' SPAL'00
|
||||
strSTDS7 asc ' SSECAM'00
|
||||
strSTDS8 asc ' RGB60'00
|
||||
strSTDS9 asc ' RGB50'00
|
||||
|
||||
*-----------------------------------
|
||||
|
||||
cmdYESNO cmp #vdYes
|
||||
bne cmdNO
|
||||
|
||||
PushLong #strYES
|
||||
_WriteCString
|
||||
rts
|
||||
|
||||
cmdNO cmp #vdNo
|
||||
bne cmdYESNO99
|
||||
|
||||
PushLong #strNO
|
||||
_WriteCString
|
||||
|
||||
cmdYESNO99 rts
|
||||
|
||||
*---
|
||||
|
||||
strYES asc 'Yes'00
|
||||
strNO asc 'No'00
|
||||
|
||||
*-----------------------------------
|
||||
|
||||
cmdNUM pha ; from a word to a string
|
||||
pha
|
||||
pha
|
||||
_HexIt
|
||||
PullLong strNUM
|
||||
|
||||
PushLong #strNUM
|
||||
_WriteCString
|
||||
rts
|
||||
|
||||
*---
|
||||
|
||||
strNUM asc '0000'00
|
||||
|
||||
*-----------------------------------
|
||||
* COMMANDES
|
||||
*-----------------------------------
|
||||
|
||||
waitKEY PushWord #$0d
|
||||
_WriteChar
|
||||
|
||||
PushWord #0
|
||||
PushWord #0 ; don't echo char
|
||||
_ReadChar
|
||||
|
||||
lda 1,s ; check CR
|
||||
and #$ff ; of typed
|
||||
sta 1,s ; in char
|
||||
cmp #$8d
|
||||
beq waitKEY9
|
||||
|
||||
PushWord #$0d ; return
|
||||
_WriteChar
|
||||
|
||||
waitKEY9 pla ; restore entered char
|
||||
rts
|
||||
|
||||
*----------------------------
|
||||
* DATA
|
||||
*----------------------------
|
||||
|
||||
proQUIT dw 2 ; pcount
|
||||
ds 4 ; pathname
|
||||
ds 2 ; flags
|
||||
|
||||
*---
|
||||
|
||||
myID ds 2
|
||||
appID ds 2
|
||||
|
||||
*--- End of code
|
Loading…
x
Reference in New Issue
Block a user