26 27 GET NEXT CHARACTER 28 29 00135'054413 GET: STA 3,GT3 ;SAVE AC'S 30 00136'034411 LDA 3,GETP ;GET BYTE POINTER 31 00137'010410 ISZ GETP ;UPDATE IT 32 00140'175220 MDVZR 3,3 ;MAKE WORD POINTER 33 00141'021400 LDA 0,0,3 ;GET BYTE 34 00142'101013 MOV@ 0,0,SNE ;TEST HALF 35 00143'101300 MOVS 0,0 ;SWAP 36 00144'034400 LDA 3,0377 ;CLEAN OFF 37 00145'163400 AND 3,0 38 00146'002402 JMP@ GT3 ;RETURN 39 40 00147'000000 GETP: 0 ;GET BYTE POINTER 41 00150'000000 GT3: 0 ;RETURN 42 00151'000377 C377: 377 43 44 .END 0004 DAN AN 000000 1/23 3/10 BLK 002000 1/35 3/05 BLK0 000105' 2/27 3/00 3/24 BLKA 000070' 2/33 3/00 3/11 3/24 C0 000001 1/25 3/19 C1 000002 1/26 C377 000151' 3/36 3/42 CMD 000074' 2/50 3/12 CMVLP 000037' 2/34 2/45 DAN 000001' 2/04 DLCNT 000073' 2/47 3/11 DLST 000077' 3/10 3/11 3/10 DLSTA 000072' 2/46 3/10 FS. 000005' 1/45 2/03 GET 000135' 2/34 2/40 3/29 GETP 000147' 2/32 3/30 3/31 3/40 GT3 000150' 3/29 3/30 3/41 ICB 177611 1/40 1/41 1/45 2/28 ITV 000075' 2/51 3/13 ITVW 000076' 2/52 3/14 IX 177614 1/43 1/44 2/05 IY 177615 1/44 1/45 2/10 LCM 016000 1/22 3/18 LE1 022000 1/33 3/03 3/22 LL1 032000 1/34 3/04 3/23 MVEND 000053' 2/39 2/46 NC 177612 1/41 1/42 2/15 NCCNT 000066' 2/18 2/36 2/44 3/06 NSC 177613 1/42 1/43 2/30 NWDS 000067' 2/22 2/48 3/07 RKBLK 000065' 2/25 3/05 RKLE1 000063' 2/07 3/03 RKLL1 000064' 2/12 3/04 RTKL 000075'X 3/13 RMTKW 000076'X 3/14 S0 000001 1/28 S1 000002 1/29 S2 000004 1/30 S3 000010 1/31 SBYTE 000045' 2/37 2/40 SDC 004000 1/24 3/19 SSC 006000 1/27 3/20 SSM 046000 1/32 3/21 TM 001000 1/36 3/09 TMFLG 000071' 2/19 3/09 X0 000103' 2/09 3/22 Y0 000104' 2/14 3/23 .CPYL 000001$X 2/04 .FRET 000002$X 2/17 2/53 . 8001 DERS 01 DERS.SR -- DISPLAY ERASE FOR RAMTEK 02 OR GX1000 DISPLAY 83 04 CALLING SEQUENCE: 05 06 CALL DERS 07 08 .TITL DERS 09 .ENT DERS 10 .EXTN RMTKL.RMTKW 11 .EXTB .CPYL,.FRET 12 .NREL 13 14 RAMTEK DISPALY COMMANDS 15 16 016000 LCM=16000 17 000000 AN = 0 18 004000 SDC=04000 19 000001 C0 = 1 20 000002 C1 = 2 21 000000 SSC=06000 22 000001 S0 = 1 23 000002 S1 = 2 24 000004 S2 = 4 25 000010 S3 = 10 26 046000 SSM=46000 27 022000 LE1=22000 28 032000 LL1=32000 29 002000 BLK= 2000 30 001000 TM = 1000 31 012000 ERS=12000 32 @ 0002 DERS 01 SETUP DISPLAY LIST 02 03 00000'000000 0 ;STACK VARIABLE LENGTH 04 00001'006001%DERS: JSR@ .CPYL ;PUSH STACK 05 00002'020411 LDA 0,DLSTA ;GET DISPLAY LIST ADDR 06 00003'024411 LDA 1.DLCNT ;GET FIXED COUNT 07 00004'030404 LDA 2.CMD ;GET DEVICE COMMAND 08 00005'006404 JSR@ ITVW ;HURRY UP 09 00006'006404 JSR@ ITVW ;HURRY UP 10 00007'006002$ JSR@ .RET ;RETURN 11 12 00010'001000 CMD: 1000 ;VIDED SELECT 13 00011'077777 ITV: RMTKL ;LOAD BUFFER 14 00012'077777 ITVW: RMTKW ;WAIT ROUTINE 15 16 DISPLAY LIST FOR ERASE 17 18 00013'000015'DLSTA: DLST ;LIST ADDRESS 19 00014'000004 DLCNT: DEND-DLST+1 ;LIST LENGTH 20 21 00015'004003 DLST: SDC+C0+C1 ;DISPLAY CHANNELS 22 00016'006017 SSC+17 ;SUBCHANELS 0 TO 3 23 00017'016000 LCM ;SET BACKGROUND BIT 24 00020'012000 DEND:ERS ;ERASE 25 26 27 .END 0003 DERS AN 000000 1/17 BLK 002000 1/29 C0 000001 1/19 2/21 C1 000002 1/20 2/21 CMD 000010 2/07 2/12 DEND 000020 2/19 2/24 DERS 000001 2/04 DLCNT 000012 2/06 2/19 DLST 000015 2/18 2/19 2/21 DLSTA 000013 2/05 2/18 ERS 012000 1/31 2/24 ITV 000011 2/08 2/13 ITVW 000012 2/09 2/14 LCN 016000 1/16 2/23 LE1 022000 1/27 LL1 032000 1/28 RMTKL 000011'X 2/13 RMTKW 000012'X 2/14 S0 000001 1/22 S1 000002 1/23 S2 000004 1/24 S3 000010 1/25 SDC 004000 1/10 2/21 SSC 006000 1/21 2/22 SSM 046000 1/26 TM 001000 1/30 .CPYL 000001$X 2/04 .FRET 000002$X 2/10 0001 RMTK 01 RMTK.SR - RAMTEK GX100B DISPLAY SUPPORT PACKAGE 02 03 THIS TAPE CONSISTS OF ASSEMBLY LANGUAGE ROUTINES WHICH 84 PROVIDE BASIC SERVICES FOR THE DISPLAY 85 06 RMTKL - LOAD THE DISPLAY BUFFER 07 RMTKW - WAIT FOR END OF BUFFER LOAD 08 09 .TITL RMTK 10 .ENT RMTKL,RMTKW 11 .EXTD .CPYL,.FRET 12 .EXTN .UIEX,.IXMT,.REC 13 .NREL 14 15 000056 DSP=56 ;GX1000 DEVICE CODE 16 000100 DSPM=189 ;INTERRUPT MASK 17 18 RMTKL - LOAD THE DISPLAY LIST 19 20 ENTER WITH AC0 = ADDRESS OF LIST 21 AC1 = CONT OF WORDS TO TRASFER ( > 0) 22 AC2 = DEVICE SELECT COMRAN 23 24 00000'040436 RMTKL:STA 0,R0 ;SAVE AC'S 25 00001'040441 STA 0,LSTA ;LIST START ADDRESS 26 00002'044435 STA 1,R1 27 00003'044440 STA 1,LSTC ;LIST WORD COUNT 28 00004'050434 STA 2,R2 29 00005'050455 STA 2,CMND ;SAVE DEVICE SELECT COMAND 30 00006'054433 STA 3 R3 31 00007'020435 LDA 0,FTFLG ;TEST FIRST TIME FLAG 32 00010'101014 MOV@ 0,0,S2R ;SEE IF IDEF REQUIRED 33 00011'000407 JMP IDDN ;IDEF WAS DONE EARLIER 34 00012'010432 ISZ FTFLG ;SET THE FLAG 35 00013'020432 LDA 0,DSPDV ;GET THE DEVICE CODE 36 00014'024432 LDA 1,DSPDT ;AD DCT 37 00015'006017 .SYSTM ;HELL 0 RDOS 38 00016'021007 .IDEF ;HAVE ANDTHER DEVICE 39 00017'000415 JMP ERR ;DOPS 40 00020'102400 IDDN:SU0 0,0 ;RESET SND OF LOAD FLAG 41 00021'040473 STA 0,XMTWD 42 00022'020440 LDA 0,CMND ;GET GX100B COMMAND 43 00023'061056 DOA 0,DSP ;SELECT VIDEO LOAD 44 00024'022416 LDA@ 0,LSTA ;GET FIRST ITEM IN LIST 45 00025'010415 ISZ LSTA ;UPDATE BERORE WE INTERRUPT 46 00026'062056 DOB 0,DSP ;START LOADING 47 00027'020407 LDA 0,R0 ;RESTORE 48 00030'024407 LDA 1,R1 49 00031'030407 LDA 2,R2 50 00032'034016 LDA 3,USP ;GET STACK 51 00033'002406 JMP@ R3 ;RETURN 52 53 00034'006017 ERR: .SYSTM ;NICE TRY 54 00035'006400 .ERTN 55 @ 0002 RMTK 01 STORAGE LOCATIONS 02 03 00036'000000 R0: 0 04 00037'000000 R1: 0 05 00040'000000 R2: 0 06 00041'000000 R3: 0 07 00042'000000 LSTA: 0 ;LIST ADDRESS POINTER 08 00043'000000 LSTC: 0 ;LIST WORD COUNT 09 00044'000000 FTFLG: 0 ;FIRST TIME FLAG 10 11 00045'000056 DSPDV:DSP ;DEVICE CODE 12 00046'000047'DSPDT: +1 ;DCT ADDRESS 13 00047'000052' DSSAV ;SAVE AREA 14 00050'000100 DSPM ;INTERRUPT MASK 15 00051'000063' DSPIS ;INTERRUPT SERVICE 16 000010 DSSAV: .BLK 10 ;INETRRUPT SAVE AREA 17 18 00062'001000 CMWD: 1000 ;SELECT VIDEO LOAD 19 28 INTERRUPT SERVICE FOR RAMTEK 21 22 LORD DISPLAY BUFFER 23 24 00063'054427 DSPIS: STA 3,1R3 ;SAVE INT. RETURN 25 00064'014757 DSPIL: DSZ LSTC ;TEST IF DONE VET 26 00065'000411 JMP DSPB ;NO, KEEP LOADING 27 00066'060256 NIOC DSP ;YES, CLEAR DONE 28 00067'126520 SUBZL 1,1 ;GET NONZERO MESSAGE 29 00070'020423 LDA 0,XMTWA 30 00071'077777 .IXMT 31 00072'000400 JMP.