I'm getting places--- slowly, but getting there.
Posted Sat Nov 13, 2010 2:57 PM
Posted Sun Nov 14, 2010 12:08 AM
Posted Sun Nov 14, 2010 2:56 AM
insomnia, on Sun Nov 14, 2010 12:08 AM, said:
Posted Sun Nov 14, 2010 12:02 PM

********@*****@*********************@************************** AORG >6000 *-------------------------------------------------------------- * Cartridge header *-------------------------------------------------------------- GRMHDR BYTE >AA,1,1,0,0,0 DATA PROG4 ; Address of last menu item BYTE 0,0,0,0,0,0,0,0 PROG4 DATA PROG3 ; Address of next menu item DATA INIT4 MSG4 BYTE 14 TEXT 'FOURTH PROGRAM' PROG3 DATA PROG2 ; Address of next menu item DATA INIT3 MSG3 BYTE 13 TEXT 'THIRD PROGRAM' PROG2 DATA PROG1 ; Address of next menu item DATA INIT2 MSG2 BYTE 14 TEXT 'SECOND PROGRAM' PROG1 DATA 0 ; No more menu items following. DATA INIT1 MSG1 BYTE 13 TEXT 'FIRST PROGRAM' EVEN *-------------------------------------------------------------- * Include required files *-------------------------------------------------------------- COPY "D:\Projekte\spectra2\tms9900\runlib.a99" *-------------------------------------------------------------- * SPECTRA2 startup options *-------------------------------------------------------------- SPVMOD EQU GRAPH1 ; Video mode. See VIDTAB for details. SPFONT EQU FNOPT7 ; Font to load. See LDFONT for details. SPFCLR EQU >F0 ; Foreground/Background color for font. SPFBCK EQU >01 ; Screen background color. *************************************************************** * Execute this before RUNLIB ********@*****@*********************@************************** INIT1 LI R0,MSG1 ; String 'First program' JMP RUNINI INIT2 LI R0,MSG2 ; String 'Second program' JMP RUNINI INIT3 LI R0,MSG3 ; String 'Third program' JMP RUNINI INIT4 LI R0,MSG4 ; String 'Fourth program' RUNINI MOV R0,@>8300 ; R0 in the SPECTRA2 workspace, not the GPL workspace (!) B @RUNLIB ; Initialize SPECTRA2 library *************************************************************** * Main ********@*****@*********************@************************** MAIN LI TMP0,>0169 ; VDP target address in PNT table (Pattern Name Table), row 11/col 9. MOVB *R0+,TMP2 ; Get string length into TMP2. SRL TMP2,8 ; Move high byte into low byte. MOV R0,TMP1 ; Address of string to display. BL @XPYM2V ; Dump string to VDP memory. B @TMGR ; Handle FCTN-QUIT key, etc. END
Edited by retroclouds, Sun Nov 14, 2010 12:16 PM.
Posted Sun Nov 14, 2010 12:16 PM
Posted Sun Nov 14, 2010 12:29 PM
Edited by retroclouds, Sun Nov 14, 2010 12:31 PM.
Posted Sun Nov 28, 2010 2:17 PM
Posted Sun Nov 28, 2010 2:36 PM
Thread
Thread{timer}
-DEC 1 PER 10
Thread{clicker}
-INC 1 PER 15
Thread{score}
-INC 1 PER 5
.
.
.
THREAD syntax: CALL THREAD(T,C,S)=100,-1,10""0,1,15""0,50,5 The T, C, and S represent "Timer", "Clicker", and Score. The 3 sets of numbers indicate "starting value", "modification", and "thread count". In this case, Timer starts at 100, decrements every 10 cycles. Clicker starts at 0 and increments every 10 cycles. Score starts at 0 and increases by 50 every 5 cycles.
Edited by Opry99er, Sun Nov 28, 2010 2:37 PM.
Posted Thu Dec 16, 2010 5:58 AM
(A) +--------------------------+ (B) ................................> | Read VDP status register | <....................... . +-------------.------------+ . . | . . VDP int flag set? . . | . . __________________|____________________ . . Y | | N . . | | . . +-------------.------------+ Speech player on? . . | Do internal housekeeping | | . F . | | +---------.---------+ . A . | * Unblock kernel thread | | Run speech player | . S . | * Unblock user hook | +---------.---------+ (*) . T . | * Update tick counter | | . . +-------------.------------+ Kernel thread unblocked/enabled? . . | | . . +---------.--------+ +--------.--------+ . . | Update slot data | <............ | Set block flag | . . | counter, etc. | . | and run | . . +---------.--------+ . | kernel thread | . . | . +--------.--------+ (*) . . Internal counter = target count in slot? . | . . | . User hook unblocked/enabled? . . +-----.-----+ . | . . | Run slot | . +-------.-------+ . . +-----.-----+ (*) . | Run user hook | . . | . +-------.-------| (*) . . Last slot done? . . . . __________________|___________ . ........>......... . Y | | N . . | | . . +-----.------+ +------.------+ . . | Reset tick | | Prepare for | . . | counter | | next slot | . . +-----.------+ +------.------+ . . . . . ....<...... ......>..... (A) = Executed once per frame (1/60th for NTSC, 1/50th for PAL) (B) = User hook repeats until blocked from user hook code. Kernel thread (sound player, keyboard scan) runs once per frame. (*) = Skipped depending on result of check
Posted Fri Dec 17, 2010 1:03 PM
retroclouds, on Sun Nov 28, 2010 2:17 PM, said:
retroclouds, on Sun Nov 28, 2010 2:17 PM, said:
retroclouds, on Sun Nov 28, 2010 2:17 PM, said:
Posted Fri Dec 17, 2010 3:46 PM
matthew180, on Fri Dec 17, 2010 1:03 PM, said:
matthew180, on Fri Dec 17, 2010 1:03 PM, said:
retroclouds, on Sun Nov 28, 2010 2:17 PM, said:
matthew180, on Fri Dec 17, 2010 1:03 PM, said:
retroclouds, on Sun Nov 28, 2010 2:17 PM, said:
Edited by retroclouds, Fri Dec 17, 2010 4:13 PM.
Posted Sun Dec 19, 2010 2:30 PM
retroclouds, on Fri Dec 17, 2010 3:46 PM, said:
retroclouds, on Fri Dec 17, 2010 3:46 PM, said:
retroclouds, on Fri Dec 17, 2010 3:46 PM, said:
Posted Sun Jan 9, 2011 11:52 AM
Posted Thu Jan 13, 2011 9:29 AM
Posted Thu Jan 13, 2011 9:49 AM
Opry99er, on Thu Jan 13, 2011 9:29 AM, said:
Edited by retroclouds, Thu Jan 13, 2011 10:00 AM.
Posted Thu Jan 13, 2011 10:09 AM
Posted Thu Jan 13, 2011 10:16 AM
Edited by retroclouds, Thu Jan 13, 2011 10:17 AM.
Posted Thu Jan 13, 2011 12:08 PM
Posted Mon Jan 17, 2011 12:37 PM
Posted Mon Jan 17, 2011 12:41 PM
Opry99er, on Mon Jan 17, 2011 12:37 PM, said:
Posted Mon Jan 17, 2011 2:04 PM

Edited by retroclouds, Mon Jan 17, 2011 2:15 PM.
Posted Sun Feb 6, 2011 9:56 AM
Edited by retroclouds, Sun Feb 6, 2011 11:13 AM.
Posted Thu Feb 10, 2011 2:03 PM
Posted Thu Feb 10, 2011 2:31 PM
Opry99er, on Thu Feb 10, 2011 2:03 PM, said:
0 members, 0 guests, 0 anonymous users