juice2839 Posted November 27, 2015 Author Share Posted November 27, 2015 Hmmm... from that program listing, it looks like you are working on a Voice Synthesizer on the CV? Amazing eye Niad Yes yes I am If I can figure out the way to get the A port to work on the SGM sometime this week that is.. Been going at it most of the day. 1 Quote Link to comment Share on other sites More sharing options...
NIAD Posted November 28, 2015 Share Posted November 28, 2015 Say the video in the other thread that you got it working... congrats! Quote Link to comment Share on other sites More sharing options...
juice2839 Posted November 28, 2015 Author Share Posted November 28, 2015 Say the video in the other thread that you got it working... congrats! It works pretty good. I just suck at making words with the Allophones. Someone that was more artistic or creatively inclined could make the thing do some really cool stuff. I'd like to make a program where you could pick the Allophones with the joystick and arrange them, then play them to make a word on the Coleco itself, but I'd have to get up to speed on programming for the Coleco. I'm hoping someone will find this interesting and decide to make something cool with it. Like Berzerk or WOW. Check out the other thread I uploaded a video of it saying "You've just been fried by the wizard of war ha ha ha" well it kinda sounds like that. Like I said I suck at making words with it.. Quote Link to comment Share on other sites More sharing options...
juice2839 Posted November 28, 2015 Author Share Posted November 28, 2015 (edited) Say the video in the other thread that you got it working... congrats! If you want to see some horrible code this is what I used to test it.. To bad the formatting goes to crap when you paste it here. I am so rusty at assembly, but this weekend maybe I'll brush up... org #8000 vdp1: equ #be ;mtx #1 - cv=$be - msx=$98 vdp2: equ #bf ;mtx #2 - cv=$bf - msx=$99 sound: equ #f0 ;mtx #6 - cv=#f0 - msx=n/a ;ALL 64 OF THE ALLOPHONES PA1: equ 0 PA2: equ 1 PA3: equ 2 PA4: equ 3 PA5: equ 4 OY: equ 5 AY: equ 6 EH: equ 7 KK3: equ 8 PP: equ 9 JH: equ 10 NN1: equ 11 IH: equ 12 TT2: equ 13 RR1: equ 14 AX: equ 15 MM: equ 16 TT1: equ 17 DH1: equ 18 IY: equ 19 EY: equ 20 DD1: equ 21 UW1: equ 22 AO: equ 23 AA: equ 24 YY2: equ 25 AE: equ 26 HH1: equ 27 BB1: equ 28 TH: equ 29 UH: equ 30 UW2: equ 31 AW: equ 32 DD2: equ 33 GG3: equ 34 VV: equ 35 GG1: equ 36 SH: equ 37 ZH: equ 38 RR2: equ 39 FF: equ 40 KK2: equ 41 KK1: equ 42 ZZ: equ 43 NG: equ 44 LL: equ 45 WW: equ 46 XR: equ 47 WH: equ 48 YY1: equ 49 CH: equ 50 ER1: equ 51 ER2: equ 52 OW: equ 53 DH2: equ 54 SS: equ 55 NN2: equ 56 HH2: equ 57 OR: equ 58 AR: equ 59 YR: equ 60 GG2: equ 61 EL: equ 62 BB2: equ 63 org #8000 db #aa,#55 ;55aa show title aa55 jmp to START db #00,#00 ;vector 1 (always 0000 or ram 7xxx) db #00,#00 ;vector 2 (always 0000 or ram 7xxx) db #00,#00 ;vector 3 (always 0000 or ram 7xxx) db #00,#00 ;vector 4 (always 0000 or ram 7xxx) dw START ;vectorcode db #C9,#00,#00 ;jmp rst $08 db #C9,#00,#00 ;jmp rst $10 db #C9,#00,#00 ;jmp rst $18 db #c9,#00,#00 ;jmp rst $20 db #c9,#00,#00 ;jmp rst $28 db #c9,#00,#00 ;jmp rst $30 db #c9,#00,#00 ;jmp rst $38 db #c9,000,000 ;jmp nmi (vert.blank int vdp) db "TEST CV",#2F ;titlescreen (if aa55) db "LINE 2",#2F ;Line 2 db "2013",#2F ;display year ;************************************************************** START: di ld sp,#73b9 ;SET STACK POINTER call #1FD6 ;TURN OFF SOUND TRYPORT: ld d,7 ; ld e,%11000000 ;MAKE PSG OUTPUT call outer1 ;send it to PSG AGAIN2: ld d,14 ; ld e,0 ;PORT ALL 0's call outer1 ;send it to PSG ld bc,5000 call PAUSE ;wait a second LETSTALK: ;HELLO ;HH EH LL AX OW ld d,14 ld e,27 ;HH1 call SAYIT ld e,7 ;EH call SAYIT ld e,45 ;LL call SAYIT ld e,15 ;AX call SAYIT ld e,53 ;OW call SAYIT ld e,#0 ;STARTED ;SS SS PA3 TT2 AR PA3 TT2 IH PA1 DD2 ld d,14 ld e,55 ;SS call SAYIT ld e,55 ;ss call SAYIT ld e,2 ;PA3 call SAYIT ld e,13 ;TT2 call SAYIT ld e,59 ;AR call SAYIT ld e,2 ;PA3 call SAYIT ld e,13 ;TT2 call SAYIT ld e,12 ;IH call SAYIT ld e,0 call SAYIT ld e,33 ;DD2 call SAYIT ld e,0 call SAYIT ;AND ;AE NG DD1 ld d,14 ld e,26 ;AE call SAYIT ld e,44 ;EH call SAYIT ld e,21 ;DD1 call SAYIT ld e,0 ;PA1 call SAYIT ;READY ;RR1 EH EH PA1 DD2 IY ld d,14 ld e,14 ;RR1 call SAYIT ld e,7 ;EH call SAYIT ld e,7 ;EH call SAYIT ld e,0 ;PA1 call SAYIT ld e,33 ;DD2 call SAYIT ld e,19 ;IY call SAYIT ld e,0 call SAYIT ld bc,20000 call PAUSE ;jp LETSTALK ;LETS SAY THE WOW PHRASE ld hl,WOW1 MORE: ld a,(hl) ld d,14 ld e,a call SAYIT ld a,e cp #ff jp z,ENDWOW inc hl jp MORE ENDWOW: ld bc,20000 call PAUSE jp LETSTALK SAYIT: ld a,#c0 ;THIS IS MY HORRIBLE WAY OF TOGGLING BIT 7 AND 8 FROM HIGH TO LOW TO CONTROL THE ALD LINE OF THE add a,e ;SPO256-AL2 i ACTUALLY ONLY NEED BIT 8. LATER I WILL USE BIT 7 TO WATCH THE LRQ LINE FROM THE SPO256 ld e,a call outer1 ld a,e sub #c0 ld e,a call outer1 ld bc,1000 ;INSTEAD OF THIS PAUSE call PAUSE ;EVENTUALLY I WILL LOOK AT ret ;A BIT FROM THE AY-3-8912 HOOKED ;TO THE LRQ LINE OF THE SPO256 ;AND WAIT FOR IT TO GO LOW :THIS INDICATES IT IS READY FOR ;THE NEXT ALLOPHONE. NOW I JUST ;PAUSE TILL I THINK IT SHOULD BE DONE :WITH THE LAST SPOKEN ALLOPHONE outer1: ld a,d out (#50),a ; send specified value ld a,e out (#51),a ; send specified value ret ;****************************************************************** ; SUB-RUTINE..: PAUSE ; ; Function....: Pause in 100uS. times value in BC ; ; Input.......: BC reg ; ; Output......: no ; ; call........: NONE ; ; ; ;****************************************************************** PAUSE: push af inc b inc c ; ADJUST THE LOOP PAUSELOOP1: ld a,#13 ; ADJUST THE TIME 13h IS FOR 4 MHZ PAUSELOOP2: dec a ; DEC COUNTER. 4 T-states = 1 uS. jp nz,PAUSELOOP2 ; JUMP TO PAUSELOOP2 IF A <> 0. dec c ; DEC COUNTER jp nz,PAUSELOOP1 ; JUMP TO PAUSELOOP1 IF C <> 0. djnz PAUSELOOP1 ; JUMP TO PAUSELOOP1 IF B <> 0. PAUSESLUT: pop af ret STOP: jp STOP ;LIBRARY OF WORDS ;EACH WORD TERMINATED WITH A #FF ;AND HOLDS A MAX OF 10 ;ALLOPHONES LIBRARY: db ZZ,YR,OW,00,00,00,00,00,00,#ff ;ZERO db WW,AX,NN1,00,00,00,00,00,00,#ff ;ONE WON db TT2,UW2,00,00,00,00,00,00,00,#ff;TWO,TOO,TO db TH,RR1,IY,00,00,00,00,00,00,#ff ;THREE db FF,FF,OR,00,00,00,00,00,00,#ff ;FOUR,FOR,FORE db FF,FF,AY,VV,00,00,00,00,00,#ff ;FIVE db SS,SS,EH,EH,VV,IH,00,00,00,#ff ;SIX db SS,SS,EH,EH,VV,IH,NN1,00,00,#ff ;SEVEN db EY,PA3,TT2,00,00,00,00,00,00,#ff;EIGHT,ATE db NN1,AA,AY,NN1,00,00,00,00,00,#ff;NINE db TT2,EH,EH,NN1,00,00,00,00,00,#ff;TEN db AX,LL,AR,MM,00,00,00,00,00,#ff ;ALARM ;WIZARD OF WAR WORDS ;You've just been fried by the Wizard of Wor! Ha ha ha ha WOW1: db YY2,UW2,UW2,VV,00,JH,AX,SS,SS,TT1,00 ;YOU'VE JUST db BB2,EH,EH,NN1,00,FF,FF,RR1,AY,DD1,PA3 ;BEEN FRIED db BB1,AY,PA3,PA3,TH,AE,AA,PA3 ;BY THE db WW,IY,SS,SS,IH,IH,RR2,DD2,PA3,AW,VV,PA3 ;WIZARD OF db WW,AO,RR2,PA3,PA3,PA3,PA3 ;wor LAUGH: db TT2,AO,HH2,HH2,AO,AO,PA4,TT2,AO,HH2,HH2 db AO,AO,PA4,TT2,AO,HH2,HH2,AO,AO,PA4,#ff ;LAUGH Edited November 28, 2015 by juice2839 1 Quote Link to comment Share on other sites More sharing options...
Tony Cruise Posted December 6, 2015 Share Posted December 6, 2015 If you need some information on assembly language programming for the Coleco (and other related systems), I started a series on this, which includes templates to get you started etc. I also shows you how to setup an editor to get error information back from the assembler, so you can jump to the error etc. First article is located here There is an associated video for each article. 1 Quote Link to comment Share on other sites More sharing options...
juice2839 Posted December 13, 2015 Author Share Posted December 13, 2015 If you need some information on assembly language programming for the Coleco (and other related systems), I started a series on this, which includes templates to get you started etc. I also shows you how to setup an editor to get error information back from the assembler, so you can jump to the error etc. First article is located here There is an associated video for each article. Nice. Very nice editing. Looks professional. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.