c64mem: OCRing/formatting Texteinschub WIP
This commit is contained in:
parent
70a50cf07f
commit
a180572b2d
3 changed files with 58 additions and 9 deletions
|
|
@ -317,6 +317,7 @@ $0073-$008A CHRGET RAM code.
|
|||
* Z = ":" or end-of-line (a null)
|
||||
|
||||
[ACCA] = new char.
|
||||
|
||||
[TXTPTR]=[TXTPTR]+1
|
||||
|
||||
The following exists in ROM if ROM exists and is loaded
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import pprint
|
|||
import markdown
|
||||
|
||||
filenames = [
|
||||
'c64mem_src.txt',
|
||||
'c64mem_mapc64.txt',
|
||||
'c64mem_64er.txt',
|
||||
'c64mem_64intern.txt',
|
||||
|
|
@ -12,9 +13,9 @@ filenames = [
|
|||
'c64mem_prg.txt',
|
||||
'c64mem_64map.txt',
|
||||
'c64mem_jb.txt',
|
||||
'c64mem_src.txt',
|
||||
]
|
||||
names = [
|
||||
'Microsoft/Commodore Source',
|
||||
'Mapping the Commodore 64',
|
||||
'64\'er [German]',
|
||||
'Data Becker [German]',
|
||||
|
|
@ -22,9 +23,9 @@ names = [
|
|||
'Programmer\'s Reference Guide',
|
||||
'64map',
|
||||
'Jim Butterfield',
|
||||
'Microsoft/Commodore Source',
|
||||
]
|
||||
links = [
|
||||
'https://github.com/mist64/cbmsrc',
|
||||
'http://unusedino.de/ec64/technical/project64/mapping_c64.html',
|
||||
'https://archive.org/details/64er_sonderheft_1986_07/page/n6/mode/2up',
|
||||
'https://www.pagetable.com/?p=1015',
|
||||
|
|
@ -32,9 +33,9 @@ links = [
|
|||
'http://www.zimmers.net/cbmpics/cbm/c64/c64prg.txt',
|
||||
'http://unusedino.de/ec64/technical/project64/memory_maps.html',
|
||||
'https://www.atarimagazines.com/compute/issue29/394_1_COMMODORE_64_MEMORY_MAP.php',
|
||||
'https://github.com/mist64/cbmsrc',
|
||||
]
|
||||
descriptions = [
|
||||
'Comments from the original M6502 BASIC source by Microsoft and the original C64 KERNAL source by Commodore',
|
||||
'Reference from <i>Mapping the Commodore 64</i> by Sheldon Leemon, ISBN 0-942386-23-X.',
|
||||
'German-language reference from <i>Memory Map mit Wandervorschlägen</i> by Dr. H. Hauck, in 64\'er Sonderheft 1986/07.',
|
||||
'German-language reference from <i>Das neue Commodore-64-intern-Buch</i> by Data Becker, ISBN 3890113079. Some minor corrections have been made.',
|
||||
|
|
@ -42,7 +43,6 @@ descriptions = [
|
|||
'Reference from <i>Commodore 64 Programmer\'s Reference Guide</i>.',
|
||||
'Reference as found in "Commodore_64_Memory_Maps.txt" by anonymous.',
|
||||
'Reference by Jim Butterfield in COMPUTE! #29 (October 1982).',
|
||||
'Comments from the original M6502 BASIC source by Microsoft and the original C64 KERNAL source by Commodore',
|
||||
]
|
||||
|
||||
|
||||
|
|
@ -104,7 +104,7 @@ offset = 3; # data columns start at index 3
|
|||
print('<meta http-equiv="Content-type" content="text/html; charset=utf-8" />')
|
||||
print('<html>')
|
||||
print('<head>')
|
||||
print('<title>Ultimate Commodore 64 BASIC & KERNAL ROM Disassembly</title>')
|
||||
print('<title>Ultimate Commodore 64 Memory Map</title>')
|
||||
print('')
|
||||
print('<script language="javascript">')
|
||||
print(' window.onload = init;')
|
||||
|
|
|
|||
|
|
@ -510,7 +510,19 @@ erreichen wir eine entsprechende Änderung der Bytes 17 und 18, also des zweiten
|
|||
|
||||
In Bild 9 sind die Stellen eines Gleitkomma-Feldes grafisch dargestellt.
|
||||
|
||||
TODO Bild 9
|
||||
1 2 3 4 5 6 7 / a b c d e
|
||||
|---------|---------|------|------|--------|------|------|-\ |------|------|---------|---|---|---|---|-->
|
||||
| Erstes | Zweites | Low | High | | High | Low | / | High | Low | |
|
||||
| | Byte | Anzahl | Byte | \ | Byte |Exponent Mantisse |
|
||||
| Zeichen des |-------------| der |-------------| / |-------------| +125 |
|
||||
| Feld-Namens | Länge des | Dimen- | Anzahl der | \ | Anzahl der | des 1. Elements| des 2. Elements
|
||||
| | Feldes | sionen | Elemente | / | Elemente | |
|
||||
| | | | der letzten | \ | der ersten | |
|
||||
| | | | Dimension | / | Dimension | |
|
||||
|---------|---------|------|------|--------|-------------|-\-|-------------|---------|---|---|---|---|-->
|
||||
|<----------------------- KOPF ----------------------->| /
|
||||
|
||||
Bild 9. Gleitkomma-Feld
|
||||
|
||||
## Ganzzahliges Feld
|
||||
|
||||
|
|
@ -536,7 +548,18 @@ verändert das 15. Byte in ein f.
|
|||
|
||||
In Bild 10 ist der Inhalt eines Ganzzahl-Feldes grafisch dargestellt.
|
||||
|
||||
TODO
|
||||
1 2 3 4 \ a b c d
|
||||
|---|---|---|---|--/--|------|------|------|------|-->
|
||||
| \ | Low | High | Low | High |
|
||||
| / | Byte | Byte |
|
||||
| KOPF \ |-------------|-------------|
|
||||
| (wie in Bild 2) / | | |
|
||||
| \ | des | des | des
|
||||
| / | 1. Elements | 2. Elements | 2. Elements
|
||||
| \ | | |
|
||||
|---|---|---|---|--/--|------|------|------|------|->
|
||||
\
|
||||
|
||||
Bild 10. Ganzzahliges Feld
|
||||
|
||||
## Felder mit Zeichenketten
|
||||
|
|
@ -571,7 +594,7 @@ Jetzt weisen wir dem letzten Element auch noch eine Zeichenkette zu:
|
|||
|
||||
Die letzten drei Stellen des Feldes ändern sich ebenfalls, wobei die erste mit dem b eine Zeichenkettenlänge von 2 angibt, dementsprechend muß die Anfangsadresse um 2 niedriger sein als die vorher definierte Kette: Das Low-Byte 250 - 2 = 248, in der Codetabelle finden wir dafür das, was auch im Feld steht. Das High-Byte bleibt unverändert.
|
||||
|
||||
Bild 11 zeigt die grafische Darstellung des Zeichenketten- Feldes.
|
||||
Bild 11 zeigt die grafische Darstellung des Zeichenketten-Feldes.
|
||||
|
||||
Als letztes zeige ich Ihnen noch die im vierten Block gespeicherten Zeichenketten. Wir drucken einfach den CHR$-Wert der in den betreffenden Speicherzellen stehenden Codezahlen aus mit:
|
||||
|
||||
|
|
@ -585,5 +608,30 @@ Als letztes zeige ich Ihnen noch die im vierten Block gespeicherten Zeichenkette
|
|||
|
||||
... und wir erhalten die beiden Zeichenketten in umgekehrter Reihenfolge, also vom Speicherende her eingespeichert. Interessant ist, daß sich vor die Felder - wenn Sie sie noch auf dem Bildschirm hatten - die neu definierte Gleitkomma-Variable l@ geschoben hat. Auch das ist eine Demonstration des Speicherverfahrens der Variablen, genauso wie ich es Ihnen in der letzten Folge erklärt habe.
|
||||
|
||||
TODO
|
||||
1 2 3 4 \ a b c d e f
|
||||
|---|---|---|---|--/--|----------|-------|-------|-----|-----|-----|-->
|
||||
| \ | Länge | Low | High | |
|
||||
| / | der | Byte | |
|
||||
| KOPF \ | Zeichen- |---------------| |
|
||||
| (wie in Bild 2) / | kette der Adresse, | |
|
||||
| \ | ab der der | |
|
||||
| / | String ge- | |
|
||||
| \ | | speichert ist | |
|
||||
|---|---|---|---|--/--|--------------------------|-----------------|-->
|
||||
\ |<--- 1. Element --->|<- 2. Element ->|
|
||||
|
||||
Bild 11. Zeichenketten-Feld
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue