Schrijver
| BLOAD en BSAVE problematiek
|
DemonSeed online msx professional Berichten: 771 | Geplaatst: 31 Augustus 2007, 00:06   |
Quote:
|  Well done, master Tailz... The MSX Force is strong in you
(Fok, ik wil een <:yoda:> slimey!)
|
En ik wil wel een Slimer smiley! Leuke tongbreker, ook.
[enigszins on topic]Mee de fors bie wis joe![/enigszins on topic] |
|
Laurens msx friend Berichten: 7 | Geplaatst: 09 September 2007, 22:02   |
@D-Tail: Bedankt voor je inspanning. Ik ga er gelijk deze week mee aan de slag. (ben net terug van vakantie)
Quote:
|
Nu over de werking van je programma.
Als ik het goed begrijp wil je een BASIC programma binair laden (waarom is me eigenlijk een raadsel, maar toe maar). Dit is vrij eenvoudig. Maar het programma uitvoeren is totaal andere koek! Goed, de procedure.
|
De reden dat ik binair wil opslaan en inladen is kijken of het laden sneller gaat dan laden via Basic. Ik ben nl. met een menu aan het fabriceren dat vrij flexibel moet gaan werken, alleen wordt ie nu een beetje traag naarmate er meerdere opties in komen. |
|
AuroraMSX
 msx master Berichten: 1205 | Geplaatst: 12 September 2007, 20:35   |
Quote:
| De reden dat ik binair wil opslaan en inladen is kijken of het laden sneller gaat dan laden via Basic.
|
k Betwijfel het. Je verandert alleen 't formaat van de file, niet de eigenlijke info: t Blijft BASIC. Als je echt snelheidswinst wil halen zou je es kunnen kijken NestorBASIC/NestorPreter ...
|
|
[D-Tail]
 msx guru Berichten: 2891 | Geplaatst: 12 September 2007, 22:41   |
AuroraMSX: dat is bij de executie van de BASIC code, niet bij het laden ervan. Ik denk zeker dat een BLOAD (marginaal) sneller is dan een LOAD. Dit is puur speculatie van mijn kant, gebaseerd op het feit dat *alles* te BLOAD'en is, terwijl een LOAD ook kijkt naar de header van een bestand en met fouten gooit als er iets niet 100% in de haak is. Maargoed, aan de andere kant denk ik dat het snelheidsverschil te verwaarlozen is. Laurens' motief om 'te kijken wat sneller gaat' is dus terecht, dat scheelt ons weer testen he!
Maar de reden dat een menu trager wordt naarmate die groter wordt, en dat in verband brengen met het laden van een BASIC file ontgaat mij een beetje. Vanuit dat menu laad je pas een programma op het moment dat je keuze daarop gevallen is, toch? In het geval van een filelisting uitlezen kun je dan beter NBASIC gebruiken ja.
|
|
AuroraMSX
 msx master Berichten: 1205 | Geplaatst: 16 September 2007, 14:24   |
Quote:
| het feit dat *alles* te BLOAD'en is,
|
Ehm... alleen files die beginnen met #FE  Ook hier wordt naar de header gekeken. Namelijk om begin, eind en executie adres van de file te bepalen.
Quote:
| terwijl een LOAD ook kijkt naar de header van een bestand en met fouten gooit als er iets niet 100% in de haak is.
|
Hm, dat hangt vermoed ik (ja, ook speculaasjes  ) af van t type BASIC file. Als je de platte ASCII versie neemt (BSAVE"blah.bas",A) wordt t laden inderdaad traag: elke regel text wordt afzonderlijk ingelezen en net zo verwerkt alsof je m versch hebt ingetypt (voor de kenners: via (P)INLIN). Een getokenized BASIC progje (BSAVE"blah.bas" ) wordt volgens mij gewoon naar RAM gedumpt, als ware het een BLOAD dinges.
Maar ik ben wel nieuwsgierig naar Laurens' bevindingen... |
|
Laurens msx friend Berichten: 7 | Geplaatst: 17 September 2007, 10:34   |
Bij dezen heb ik een aantal tests gedaan, en met het opstarten van de msx met de disk in de drive tot aan het aanwezig zijn van het menu op het scherm van de tweede diskette is de binaire variant niets sneller dan de gewone, het lijkt zelfs dat de binaire variant iets trager is. Beide zijn in 17 seconden opgestart, de binaire soms in 18. Dan komt idd het Nestor Basic verhaal eerder aan bod, maar dan moet ik me daar eerst in verdiepen. Toen ik de msx voor het laatst in de kast gezet had jaren geleden wist ik van het bestaan ervan nog niet af... ben toen met de pc in Quick Basic / Turbo Basic verder gegaan. Het menu programma is dan ook een vervolg op programma's die ik toentertijd voor de pc gemaakt heb in het verleden voor DOS en nu ik dat weer op de MSX wil doorborduren is het net kantje boord met het geheugen en de snelheid van de machine. Wat ik misschien ook nog zou kunnen doen is het programma in twee afzonderlijke programma's opsplitsen waarbij er een menu programma en een menu editor ontstaat. Dan hoeft bij elke diskette de editor in ieder geval niet meer meegeladen te worden...
Met het trager worden bedoel ik de tijd die het programma nodig heeft om in te laden en op het scherm te verschijnen. Het programma laadt bij opstart het menu
Bdw: ik save de basic bestanden alleen in ascii formaat als het echt niet anders kan, zoals het aanmaken van ldr bestanden vanuit een basic bestand of communicatie met de pc om met een geavanceerde text editor een heel programma onder handen te nemen.
|
|
|
|
|