....
$regfile = 'm8def.dat'
$baud = 19200
$crystal = 3690000
....
....
Kann Bascom-AVR nicht für mich immer diese informationen schreiben?
Wenn du in Bascom über "Options-Compiler" die Einstellungen für den richtigen Controller, die Quarzfrequenz und die Baudrate einstellst, brauchst du die 3 Zeilen oben im Programmcode normalerweise nicht.

Wenn du ein Programm downloadest kennst du aber die Bascom-Einstellungen von dem Author nicht, da bist du dann wohl besser dran, wenn sie im Quellcode angegeben sind.

Ich würde die Einstellungen aber auch in eigenen Programmen lieber immer wie oben im Quellcode festlegen, weil man sie da immer vor Augen hat.
Wenn du mal aus irgendeinem Grund die Einstellungen in Bascom änderst, wunderst du dich sonst warum dein Programm plötzlich nicht mehr funktioniert.

Für den AT90S2313 lautet die Angabe $regfile = '2313def.dat'

Was die Baudrate angeht, macht es grundsätzlich wenig Sinn irgendwelche Werte einzustellen, die die Gegenstelle nicht beherrscht. Wenn du mit dem Controller z.B. über ein Terminalprogramm am PC kommunizieren willst, solltest du eine der Einstellungen wählen, die dein Terminalprogramm beherscht und die für deinen Controller nicht zu schnell ist.

Auf Controllerseite spielt der verwendete Quarz eine wichtige Rolle. Je höher dessen Frequenz ist, desto höhere Baudraten kanst du erzielen.

Was den Gast angeht, vermute ich mal er hat deine Frage noch nicht wirklich verstanden, aber wenn er sie oben nochmal nachliest erlangt er ja vielleicht Klarheit und ansonsten kann er ja nachfragen

Die Tabelle im Datenblatt sind sicherlich interessant, aber um in Bascom eine serielle Verbindung zu programmieren brauchst du die nicht.

Die Baudrate ist eine Teiler der Quarzfrequenz. Da als Baudrate nur ganzzahlige Werte in Frage kommen, die Quarzfrequenz durch den entsprechenden Teiler aber meist kein ganzzahliger Wert ist, ergeben sich je nach Kombination aus Quarzfrequenz und Baudrate unterschiedlich grosse Fehler.
Diese Zusammenhänge sind im Datenblatt tabellarisch aufgelistet und interessant, wenn du in Assembler programmierst oder wenn du unbedingt eine möglichst geringe Fehlerrate erzielen willst.

In Bascom kannst du über Optionen-Communication eine Baudrate einstellen und direkt ablesen, welcher Fehler sich bei der von dir verwendeten Quarzfrequenz ergibt.
Da die serielle Kommunikation eine automatische Fehlerkerrektur beinhaltet, darf sich da auch ruhig ein Fehler ergeben.
Die Kommunikation funktioniert trotzdem. Bei grösserem Fehler-Werten wird sie nur langsamer, aber ich bezweifle, dass du davon etwas mitbekommen wirst.

Da der AT90S2131 keinen internen Oszillator hat, wirst du wohl zwangsläufig einen externen Quarz anschliessen müssen.
Bei einem 4 MHz Quarz (oder grösser) würde ich für 9600 oder 19200 als Baudrate einstellen. Das funktioniert, ist in fast allen Terminalprogrammen einstellbar und für die meisten Belange schnell genug.