› PASSWORD FILE RECORD SET-UP›› When CARINA II's password file is created, it starts out as a length of 256 bytes (for the first account) and grows by multiples of 256 as each account is added (i.e., 256 bytes are reserved for each user's account within the password file). The DEL item (the first byte) determines whether the account is active, If this value equals 0, then the account is deleted, 1 means that it is in use, and 2 means this user is black-listed (still in use). All other items refer to items within a user's configuration status (e.g., items within the status window).› Take note of the "NOT USED" bytes within this file. You can use these extra bytes to implement your own features; however, take note that they may be used at a later date to implement other features with future revisions of CARINA II.›› CARINA II'S MESSAGE BASES›› The DIR file located in the MSGSEC folder contains all of the important information about messages within a section. The BSE file contains the TEXT for the message and that is all. Each entry within the message base DIR file corresponds to one message. Each entry is 100 byte long; however, this file also has 10 bytes allocated at the beginning of the file which contains information about the message base (namely, how many messages it can store); therefore, your message base's DIR file should be a multiple of 100 plus 10 in length.› Take note of the "NOT USED" bytes within this file. You can use these bytes to implement your own features; however, they may be used at a later date to implement other features with future revisions of CARINA II.›› CARINA II'S DOWNLOAD DIRECTORY›› The INF file located in the FLESEC folder contains all of the important information about file descriptions within a section. The DSC file contains the TEXT for the description and that is all. Each entry within the file area's INF file corresponds to one download file. Each entry is 256 bytes long; therefore, the INF file should be a multiple of 256 in length.› Take note of the "NOT USED" bytes within this file. You can use these bytes to implement your own features however, they may be used at a later date to implement other features with future revisions of CARINA II.›› MODEM OPERATING ENVIRONMENT VERSION II›› The Modem Operating Environment (MOE for short) is a patch into the operating systems of the ATARI computer. It takes control of these operating systems and incorporates the modem handler so that it thinks your modem is another computer. MOE is the program that allows your CARINA II to run on-line BASIC, on-line DOS, etc. It also does quite a few other things. It supplies support routines for CARINA II (like binary load routines, block memory move routines, etc...), translates ATASCII graphics and cursor controls into VT-52 graphics (or ST users), converts text into 40 or 80 columns, word-wraps text, performs centering, and justifying of text, allows editing of a user's status while on-line, allows printing of items within the user's status area through print macros, etc.. In other words, it does lot! MOE is the heart of CARINA II. It's what makes CARINA II so easy to modify and expand. Without MOE, CARINA II could not exist. Here is an example of how MOE can greatly simplify a BASIC program to be used over the modem.› To print a directory of drive 1 to the screen and the modem without MOE, you would need to something like the following:›› 10 DIM A$(40)› 20 CLOSE #2:TRAP 40:OPEN #1,4,0,"D1:*.*"› 30 CLOSE #2:INPUT #1,A$:GOSUB 100:GOTO 30› 40 CLOSE #1:END› 100 OPEN #2,13,0,"R:":XIO 40,#2,0,0,"R:"› 110 PRINT A$:PRINT #2,A$: RETURN›› To do the same thing with MOE you would only need to this:›› 10 DIM A$(40)› 20 TRAP 40:OPEN #1,6,0,"D1: *.*"› 30 INPUT #1,A$:PRINT A$: GOTO 30› 40 CLOSE #1:END››› MEMORY LOCATIONS FOR CARINA II AND MOE›› From here on, the rest of this manual will be dealing mainly with technical information that will help you understand the inner workings of CARINA II. If you are planning to modify your CARINA II BBS, or if you are planning to make your own modules, it would be a good idea to familiarize yourself with some of the material that will follow.›› The following is a list of the "page 6" memory locations that CARINA II and MOE use extensively:››1536 CMD..............Location used to tell a module what to do after it has been run›1537 CHATBELL.........Set to 1 if a user access the command and is› reset after the user logs off›1538 PLANLEN..........Length of remaining command line (used› command stacking)›1539 LENGTH_INPUT.....Length of a user's input at the command› prompt›1540 MARKER...........Used to tell how› many files have been marked› for batch download›1541 PRIVATE_DRIVE....Drive on which› electronic mail's message base› resides›1542 WRITE_SECTION....Set to 1 when a› user has read/write access to› a section (0 otherwise)›1543 READ_ALL.........Current section› number that the user is in› when doing a read/browse all›1544 SIGOP............Set to 1 if the› user is a SysOp of this section (0 otherwise)›1545 SECTION..........Section number the user is currently in (0-25)›1546 CS_MOD...........Drive number of the MODSEC folder of the› current section›1547 CS_DAT...........Drive number of› the DATSEC folder of the› current section›1548 CS_MSG...........Drive number of› the MSGSEC folder of the› current section›1549 CS_FLE...........Drive number of› the FLESEC folder of the› current section›1550 INTERRUPT_CMD....Used when doing a› download from the directory or› browse command›1551 INTERRUPT_PARAM..File number of the file being downloaded from the directory/browse command›1552 SYSTEM...........Drive number of› the SYSTEM folder›1553 SYSTXT...........Drive number of› the SYSTXT folder›1554 SYSFLE...........Drive number of› the SYSFLE Folder›1555 MODULE...........Drive number of› the MODULE folder›1556 SYSMOD...........Drive number of› the SYSMOD folder›1557 MODEM_BAUD.......Baud rate to› program modem at (0=300, 1=1200, 2=2400)›1558 ATASCII_ONLY.....Set to 1 if› ATASCII only configuration is› active (0 otherwise)›1559 PRINTER_SUPPORT..Set to 1 if› printer support is active›1560 CHAT_BELL........Set to 1 if your› chat bell is to be turned on› upon bootup›1561 BACKUP...........Backup after this› many hours (0=never backup)›1562 MAX..............Maximum number of› messages possible in this› section's message base›1563 LAST.............Last message› pointer (relative to beginning› of file)›1564 COUNT_HIGH.......High byte of› counter (counts number of› times a message base has› wrapped)›1565 COUNT_LOW........Low byte of› counter›1566 LASTFILE_HIGH....High byte of last› file counter›1567 LASTFILE_LOW.....Low byte of last› file counter›1568 not used at this time›1569 not used at this time›1570 NEW_DAY..........Used by the› backup facility›1571 NEW_HOUR.........Used by the› backup facility›1572 USER_ON..........Set to 1 when a › user successfully logs on›1573 not used at this time›1574 not used at this time›1575 NEW_FILES........Number of F-Mail› files waiting›1576 not used at this time›1577 not used at this time›1578 CALLLIST.........Set to 1 if a› call list is to be made by› CARINA II›1579 AT_SIZE..........Size of the› following AT modem command›1580-1589.............AT modem command› characters›1590 not used at this time›1591 not used at this time›1592-1597.............Zero page› emulation variables (used by› MOE)›1598 not used at this time›1599 not used at this time›1600 MOE_OUT..........Setting to 0› disables screen output through› MOE (1 enables)›1601 ECHOMODE.........Setting to 0› diables screen output through› modem (1 enables)›1602 HOSTMODE.........Setting to 0› disables keyboard input through modem (1 enables)›1603 MOE_IN...........Setting to o› diables keyboard input› through MOE (1 enables)›1604 DUPLEX...........Used by the› terminal mode›1605 PRT_WRAP.........Setting to 1 makes text output word wrap›1606 KEY_WRAP.........Setting to 1› makes keyboard input word wrap›1607 PMACROS..........Setting to 1› enables print macros (%01-&049)›1608 COUNTFLAG........Setting to 1› enables the countdown timer› (item 10 in status window)›1609 COLOR_stat.......Setting to 0› turns off border color I/O› status›1610 TOGGLE...........Status window› position (0=not visible,› 1=5 line, 2=full page)›1611 HEADSET..........Setting to 1› disables OPTION from toggling› the status window›1612 ALERT_TOG........Setting to 1› enables border luminance› rotation (as with chat)›1613 P_MASK...........Enables input masking (like when entering› your password)›1614 TERM_START.......Setting to 0› disables the START key from› entering into chat mode›1615 MACRO_FLAG.......Setting to 1› enables macros›1616 TRAN_MOD.........Monitor switching› from ASCII to ATASCII upon› hitting RETURN (when set to 1)›1617 MACRO_TERM.......Enable macros› while in chat mode›1618 PRINT_MASK.......Setting to 1› enables masking of inverse› characters being sent to› printer›1619 BAUD_2400........Set to 1 if user› is logged on at 2400 baud›1620 ALL_CAPS.........Setting to 1 will› force keyboard input into› upper case›1621 USE_TIMER........Setting to 1› enables an error to occur when› the timer runs out›1622 PRT_SYS..........Setting to 0› disables printing to the› screen›1623 KEY_TYPE.........Equals 1 if last› key-press was from the local› keyboard›1624 ALL_BREAK........Setting to 1› makes RETURN or SPACE abort› printing (2 makes all keys› abort)›1625 RESET_VAL........Timeout value› used to determine when to› reset the BBS due to› inactivity›1626 MOEAX1...........Auxilliary› variable 1›1627 MOEAX2...........Auxilliary› variable 2›1628 TEXT_FORMAT......Setting to 1› enables Ctrl-C (centering) and› Ctrl-R (justify) for screen› output›1629 PRINTER..........Setting to 1› redirects all output from› screen to printer›1630 NO_CARRIER.......Setting to 1› enables hangup when NO CARRIER› is received by modem›1631 RESET_PRINT......Reset BBS due to› buffer overflow while also› printing (along with› inputting)›1632 M_IOCB...........Modem IOCB times› 16›1633 D_IOCB...........Disk IOCB times› 16›1634 HOT_CHR..........Input character› that aborted printing (only› used when ALL_BREAK is› non-zero)›1635 BUFF_L...........Length of› keyboard INPUT buffer (0-127)›1636 C_BREAK..........Error returned› when printing is aborted›1637 CW_POINT.........Pointer into› (CMD) area of window› increments after a command› executes›1638 COL_HEAD.........Color of status› window (default=blue)›1639 MACRO_LEN........Maximum length of› all key-macros›1640 not used at this time›1641 not used at this time›1642 MASK_CHR.........ASCII value of› the character used to mask› input (used with P_MASK)›1643 MORE_LINE........Current line› number of page that is› compared to page break value›1644 CMD_VAL..........Value stored in› CMD when CARINA II attempts to› reset (warm start)›1645 not used at this time›1646 not used at this time›1647 not used at this time›1648 TERM_TEXT........Points to address› where text displayed when› entering chat mode is located›1649›1650 EXIT_TEXT........Points to address› where text displayed when› exiting chat mode is located›1651›1652 MACRO_KEY........Points to table› of characters to be redefined› as macros›1563›1654 MACRO_TAB........Points to macros› that characters will be› redefined to›1655›1656 FP_TAB...........Points to table› where items within the window› are by type/length, and› position›1657›1658 MASK_DAT.........Points to› translation table used by› COMMASK routine›1659›› The following are read-only values:››1660 not used at this time›1661 not used at this time›1662 not used at this time›1663 not used at this time›1664 MARKER_ADR.......Points to area of› memory where message/file› markers are kept›1665›1666 STAT_RAM.........Points to area of› memory where the status window› is kept›1667›1668 MAC_KEY..........Points to table› where CARINA II's default› macro keys are kept›1669›1670 MAC_TAB..........Points to table› where CARINA II's default› macros are kept›1671›1672 POINTER_DAT......Points to area of› memory where high message/file› pointers are kept›1673›1674 BULLETIN_DAT.....Points to area of› memory where bulletin's last› update dates are kept›1675›1676 not used at this time››