Podstawowe procedury systemu operacyjnego
From Atariki
Wersja z dnia 10:13, 1 mar 2005 KMK (Dyskusja | wkład) (roboczo kopia tabeli z I/O) ← Previous diff |
Aktualna wersja KMK (Dyskusja | wkład) |
||
Linia 1: | Linia 1: | ||
- | Książka [[Wojciech Zientara|Wojciecha Zientary]] "Mapa pamięci Atari XL/XE: Podstawowe procedury systemu operacyjnego" | + | '''"Mapa pamięci Atari XL/XE: Podstawowe procedury systemu operacyjnego"''' to książka [[Wojciech Zientara|Wojciecha Zientary]] wydana w 1988 roku przez [[SOETO]]. |
- | Jest to kompletny procedur inicjujących XL OS-u, podsystemu przerwań oraz pakietu artymetyki zmiennoprzecinkowej wraz z komentarzem. Wydano w roku 1988. Brak informacji o nakładzie. Format A-5, 114 stron. Pierwotna cena 920 zł. (od 1,5 do dwóch złotych obecnych). | + | Jest to kompletny listing procedur inicjujących [[XL OS]]-u, podsystemu przerwań oraz [[pakiet matematyczny|pakietu arytmetyki zmiennoprzecinkowej]] wraz z komentarzem. |
+ | |||
+ | Brak informacji o nakładzie (prawdopodobnie 5050 egzemplarzy). Format A-5, 114 stron. Pierwotna cena 920 zł. (od 1,5 do dwóch złotych obecnych). | ||
+ | |||
+ | Wersja elektroniczna dostępna w [http://tajemnice.atari8.info/ Elektronicznym Archiwum Tajemnic Atari] (w dziale: Książki) | ||
==Errata== | ==Errata== | ||
+ | Podane na str. 97 i 98 adresy procedur trygonometrycznych SIN, COS oraz ATAN i SQR [[Atari BASIC|Atari BASIC-a]] (na str. 98 opisane jako "Adresy procedur OS") dotyczą wersji A języka. Zostało to skorygowane w innej pozycji, pt. [[Procedury interpretera Basica]], wydanej w tej samej serii. | ||
+ | === Wersja drukowana === | ||
<table border = 1 cellpadding = 5> | <table border = 1 cellpadding = 5> | ||
<tr><td><b>Strona</b></td><td><b>Wiersz<br>od góry</b></td><td><b>Wiersz<br>od dołu</b></td><td><b>Jest</b></td><td><b>Powinno być</b></td></tr> | <tr><td><b>Strona</b></td><td><b>Wiersz<br>od góry</b></td><td><b>Wiersz<br>od dołu</b></td><td><b>Jest</b></td><td><b>Powinno być</b></td></tr> | ||
- | <tr><td>15</td><td> 6</td><td>-</td> | + | <tr><td>8</td><td>-</td><td>2</td> |
- | <td><pre>0620 BCC EXIT</pre></td><td><pre>0620 BCC $E547 ;do JMP CIORET</pre></td></tr> | + | <td><pre>0420 JSR SIOINT</pre></td><td><pre>0420 JSR SIOINIT</pre></td></tr> |
- | <tr><td>24</td><td>23</td><td>-</td> | + | |
- | <td><pre>0320 LDA COMTAB+3,Y</pre></td><td><pre>0320 LDA COMTAB-3,Y</pre></td></tr> | + | <tr><td>22</td><td>28</td><td>-</td> |
- | <tr><td>32</td><td>-</td><td>18-17</td> | + | <td><pre>0220 CPX #$04</pre></td><td><pre>0220 CPY #$04</pre></td></tr> |
+ | |||
+ | <tr><td>25</td><td>-</td><td>5-6</td> | ||
+ | <td><pre>(po 256 KB)</pre></td><td><pre>(po 256 B)</pre></td></tr> | ||
+ | |||
+ | <tr><td>48</td><td>-</td><td>4</td> | ||
+ | <td><pre>0190 BEQ DCL</pre></td><td><pre>0190 BEQ NOT0</pre></td></tr> | ||
+ | |||
+ | <tr><td>56</td><td>3</td><td>-</td> | ||
+ | <td>''brak pierwszych dwóch<br>rozkazów procedury''</td> | ||
<td><pre> | <td><pre> | ||
- | 0190 DEC ICBAZ | + | 0251 TYA |
- | 0200 END RTS</pre> | + | 0252 PHA</pre> |
- | </td> | + | </td></tr> |
+ | |||
+ | <tr><td>79</td><td>-</td><td>23</td> | ||
<td><pre> | <td><pre> | ||
- | 0190 END DEC ICBAZ | + | 0290 CPX #$05</pre> |
- | 0200 RTS</pre> | + | </td><td><pre> |
- | </td></tr> | + | 0290 CPY #$05</pre> |
</td></tr> | </td></tr> | ||
- | <tr><td>44</td><td>-</td><td>9</td> | + | <tr><td>84</td><td>16</td><td>-</td> |
- | <td><pre>0550 .BYTE 't,'h,'d,NU</pre></td><td><pre>0550 .BYTE 'f,'h,'d,NU</pre></td></tr> | + | <td><pre> |
- | + | 0600 BCS RR</pre> | |
- | <tr><td>45</td><td>9</td><td>-</td> | + | </td><td><pre> |
- | <td><pre>0720 .BYTE 'T,'H,'D,NU</pre></td><td><pre>0720 .BYTE 'F,'H,'D,NU</pre></td></tr> | + | 0600 BCS ADJ</pre> |
+ | </td></tr> | ||
- | <tr><td>48</td><td>1</td><td>-</td> | + | <tr><td>86</td><td>10</td><td>-</td> |
- | <td>''brak dalszego ciągu<br>listingu ze strony 47''</td> | + | |
<td><pre> | <td><pre> | ||
- | 0630 .BYTE $1C | + | 0150 EVSGN = $DCE0</pre> |
- | 0640 .WORD CRSHOM | + | </td><td><pre> |
- | 0650 .BYTE $1D | + | 0150 MVARG = $DCE0</pre> |
- | 0660 .WORD BTMLIN | + | |
- | 0670 .BYTE $1E | + | |
- | 0680 .WORD CRSLMR | + | |
- | 0690 .BYTE $1F | + | |
- | 0700 .WORD CRSRMR</pre> | + | |
</td></tr> | </td></tr> | ||
- | <tr><td>52</td><td>-</td><td>3</td> | + | <tr><td>86</td><td>-</td><td>21</td> |
<td><pre> | <td><pre> | ||
- | 1210 STA TXTMSC+1</pre> | + | 0400 JSR EVSGN</pre> |
</td><td><pre> | </td><td><pre> | ||
- | 1210 STY TXTMSC+1</pre> | + | 0400 JSR MVARG</pre> |
</td></tr> | </td></tr> | ||
- | <tr><td>62</td><td>1-4</td><td>-</td> | + | <tr><td>87</td><td>22</td><td>-</td> |
<td><pre> | <td><pre> | ||
- | 0660 STA DSTAT | + | 0820 JSR EVSGN</pre> |
- | 0670 PLA | + | |
- | 0680 PLA | + | |
- | 0690 SWP LDA SWPFLG</pre> | + | |
</td><td><pre> | </td><td><pre> | ||
- | 0660 SWP STA DSTAT | + | 0820 JSR MVARG</pre> |
- | 0670 PLA | + | |
- | 0680 PLA | + | |
- | 0690 LDA SWPFLG</pre> | + | |
</td></tr> | </td></tr> | ||
- | <tr><td>74</td><td>26</td><td>-</td> | + | <tr><td>92</td><td>13</td><td>-</td> |
<td><pre> | <td><pre> | ||
- | 0640 JMP EXIT</pre> | + | 0220 FRE = $E6</pre> |
</td><td><pre> | </td><td><pre> | ||
- | 0640 JMP $F6AB ;do JMP COMLOG</pre> | + | 0460 FR2 = $E6</pre> |
</td></tr> | </td></tr> | ||
- | <tr><td>82</td><td>-</td><td>21</td> | + | <tr><td>92</td><td>-</td><td>19</td> |
<td><pre> | <td><pre> | ||
- | 0440 BEQ CHR</pre> | + | 0460 LDX #FRE</pre> |
</td><td><pre> | </td><td><pre> | ||
- | 0440 BNE CHR</pre> | + | 0460 LDX #FR2</pre> |
</td></tr> | </td></tr> | ||
- | <tr><td>105</td><td>29</td><td>-</td> | + | <tr><td>92</td><td>-</td><td>9</td> |
<td><pre> | <td><pre> | ||
- | 0160 *= $FE07</pre> | + | 0560 LDX #FRE</pre> |
</td><td><pre> | </td><td><pre> | ||
- | 0160 *= $FF07</pre> | + | 0560 LDX #FR2</pre> |
</td></tr> | </td></tr> | ||
+ | </table> | ||
- | <tr><td>149</td><td>18</td><td>-</td> | + | === Wersja elektroniczna === |
- | <td>NOTE SECTOR)</td><td>SEND HANDLER)</td></tr> | + | |
- | <tr><td>198</td><td>1</td><td>-</td> | + | Dodatkowe błędy można znaleźć w wersji elektronicznej: |
- | <td>2,217 MHz</td><td>1,77 MHz</td></tr> | + | |
- | <tr><td>199</td><td>-</td><td>22</td> | + | <table border = 1 cellpadding = 5> |
- | <td>2,217 MHz</td><td>1,77 MHz</td></tr> | + | |
- | + | ||
- | <tr><td>199</td><td>-</td><td>19</td> | + | |
- | <td>2,217 MHz</td><td>1,77 MHz</td></tr> | + | |
- | <tr><td>199</td><td>-</td><td>14</td> | + | <tr><td><b>Sekcja</b> |
- | <td>2,217 MHz</td><td>1,77 MHz</td></tr> | + | <td><b>Strona<br>druku</b></td><td><b>Wiersz<br>od góry</b></td><td><b>Wiersz<br>od dołu</b></td> |
+ | </td><td><b>Jest</b></td><td><b>Powinno być</b></td></tr> | ||
- | <tr><td>219</td><td>-</td><td>26</td> | + | <tr><td>2.1.2</td> |
+ | <td>16</td><td>6</td><td>-</td> | ||
<td><pre> | <td><pre> | ||
- | $35 - LTEMP - </pre> | + | 1050 LOOP LDA #$FF</pre> |
</td><td><pre> | </td><td><pre> | ||
- | $36 - LTEMP - </pre> | + | 1050 LOOP1 LDA #$FF</pre> |
</td></tr> | </td></tr> | ||
- | <tr><td>225</td><td>-</td><td>26</td> | + | <tr><td>2.1.2</td> |
- | <td>2,217 MHz</td><td>1,77 MHz</td></tr> | + | <td>17</td><td>-</td><td>27</td> |
- | + | <td><pre> | |
- | <tr><td>225</td><td>-</td><td>24</td> | + | 2350 LDA CARTBOOT</pre> |
- | <td>2,217 MHz</td><td>1,77 MHz</td></tr> | + | </td><td><pre> |
- | + | 2350 LDA CARTOPT</pre> | |
- | <tr><td>226</td><td>12</td><td>-</td> | + | </td></tr> |
- | <td>(192 punkty)</td><td>(256 punktów)</td></tr> | + | |
- | + | ||
</table> | </table> | ||
+ | |||
+ | [[Kategoria:Atari 8-bit]] | ||
+ | [[Kategoria:Dokumentacja Atari 8-bit]] |
Aktualna wersja
"Mapa pamięci Atari XL/XE: Podstawowe procedury systemu operacyjnego" to książka Wojciecha Zientary wydana w 1988 roku przez SOETO.
Jest to kompletny listing procedur inicjujących XL OS-u, podsystemu przerwań oraz pakietu arytmetyki zmiennoprzecinkowej wraz z komentarzem.
Brak informacji o nakładzie (prawdopodobnie 5050 egzemplarzy). Format A-5, 114 stron. Pierwotna cena 920 zł. (od 1,5 do dwóch złotych obecnych).
Wersja elektroniczna dostępna w Elektronicznym Archiwum Tajemnic Atari (w dziale: Książki)
Errata
Podane na str. 97 i 98 adresy procedur trygonometrycznych SIN, COS oraz ATAN i SQR Atari BASIC-a (na str. 98 opisane jako "Adresy procedur OS") dotyczą wersji A języka. Zostało to skorygowane w innej pozycji, pt. Procedury interpretera Basica, wydanej w tej samej serii.
Wersja drukowana
Strona | Wiersz od góry | Wiersz od dołu | Jest | Powinno być |
8 | - | 2 | 0420 JSR SIOINT | 0420 JSR SIOINIT |
22 | 28 | - | 0220 CPX #$04 | 0220 CPY #$04 |
25 | - | 5-6 | (po 256 KB) | (po 256 B) |
48 | - | 4 | 0190 BEQ DCL | 0190 BEQ NOT0 |
56 | 3 | - | brak pierwszych dwóch rozkazów procedury |
0251 TYA 0252 PHA |
79 | - | 23 | 0290 CPX #$05 | 0290 CPY #$05 |
84 | 16 | - | 0600 BCS RR | 0600 BCS ADJ |
86 | 10 | - | 0150 EVSGN = $DCE0 | 0150 MVARG = $DCE0 |
86 | - | 21 | 0400 JSR EVSGN | 0400 JSR MVARG |
87 | 22 | - | 0820 JSR EVSGN | 0820 JSR MVARG |
92 | 13 | - | 0220 FRE = $E6 | 0460 FR2 = $E6 |
92 | - | 19 | 0460 LDX #FRE | 0460 LDX #FR2 |
92 | - | 9 | 0560 LDX #FRE | 0560 LDX #FR2 |
Wersja elektroniczna
Dodatkowe błędy można znaleźć w wersji elektronicznej:
Sekcja | Strona druku | Wiersz od góry | Wiersz od dołu |
Jest | Powinno być |
2.1.2 | 16 | 6 | - | 1050 LOOP LDA #$FF | 1050 LOOP1 LDA #$FF |
2.1.2 | 17 | - | 27 | 2350 LDA CARTBOOT | 2350 LDA CARTOPT |