00001 *************************
00002 *
00003 * GNP.ASM
00004 * MDJ 01-23-91
00005 *
00006 * "GET NEW PAGE" OPERATOR
00007 *
00008 *************************
00009 *
00010 XCURS   EQU     $F3
00011 YCURS   EQU     $F5
00012 XCURSH  EQU     $56CE
00013 YCURSH  EQU     $56D0
00014 TYPF    EQU     $4F02
00015 CPRMT1  EQU     $571D
00016 CPRMT2  EQU     $5747
00017 GPAGE   EQU     $58E3
00018 GETNUM  EQU     $5A89
00019 PNV     EQU     $598B
00020 PPN     EQU     $57B6
00021 PTV     EQU     $59F6
00022 PMOVET  EQU     $55F8
00023 PPTT    EQU     $57EE
00024         ORG     $5AA9
00025 GNP     PSHS    A,X
00026         JSR     CPRMT1  GO CLEAR PROMPTS
00027         JSR     CPRMT2
00028         LDX     XCURS   SAVE X-LOCATION
00029         STX     XCURSH
00030         LDX     YCURS   SAVE Y-LOCATION
00031         STX     YCURSH
00032         CLR     XCURS   SET X-LOCATION
00033         CLR     XCURS+1
00034         LDX     #176    SET Y-LOCATION
00035         STX     YCURS
00036         LDX     #MSG2E  MESSAGE ADDRESS
00037         PSHU    X
00038         LDX     MSGN2E  CHARACTER COUNT
00039         PSHU    X
00040         JSR     TYPF    GO TYPE MESSAGE TO SCREEN
00041         JSR     GETNUM  GO GET NEW PAGE NUMBER
00042         PULU    X       GET FLAG FROM U-STACK
00043         CMPX    #0      IS IT FALSE?
00044         BEQ     GNP2    GO IF YES
00045         CMPX    #$FFFF  IS IT 16-BIT?
00046         BEQ     GNP1    GO IF YES
00047         PULU    X       DROP 32-BIT HIGH BYTES
00048 GNP1    JSR     GPAGE   GO GET NEW PAGE
00049         LDX     PNV     GET NEW PAGE NUMBER
00050         PSHU    X
00051         JSR     PPN     GO TYPE NEW PAGE NUMBER TO SCREEN
00052         CLRA            RESET THIRD CODE
00053         STA     PTV
00054         JSR     PMOVET  TOP THIRD
00055         JSR     PPTT
00056         BRA     GNP3
00057 GNP2    CLR     XCURS   RESET X-LOCATION
00058         CLR     XCURS+1
 
 
 
 
 
 
 
 
00059         LDX     #184    RESET Y-LOCATION
00060         STX     YCURS
00061         LDX     #MSG1F  MESSAGE ADDRESS
00062         PSHU    X
00063         LDX     MSGN1F  CHARACTER COUNT
00064         PSHU    X
00065         JSR     TYPF    GO TYPE MESSAGE TO SCREEN
00066 GNP3    LDX     XCURSH  RESTORE X-LOCATION
00067         STX     XCURS
00068         LDX     YCURSH  RESTORE Y-LOCATION
00069         STX     YCURS
00070         PULS    A,X
00071         RTS
00072 MSGN2E  FDB     17
00073 MSG2E   FCC     'New Page Number? '
00074 MSGN1F  FDB     26
00075 MSG1F   FCC     'This is not a valid number'
00076 ZEND    NOP
00077         END
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
