GW-BASIC icon indicating copy to clipboard operation
GW-BASIC copied to clipboard

Minimal OEM.ASM

Open dmsc opened this issue 5 years ago • 5 comments

With this minimal OEM.ASM at least the interpreter shows the initial banner.

OEM.ASM.txt

Sadly, still far: image

dmsc avatar May 25 '20 01:05 dmsc

Also, the link order is significant: see the comments on BIBOOT.ASM, the first 256 bytes of the CS are overwritten. This means that GWDATA must be the first file in the link command.

dmsc avatar May 25 '20 12:05 dmsc

Hello @dmsc,

I built on your OEM.ASM, and here is what I have so far:

https://github.com/tkchia/GW-BASIC/commit/5ce9e0f0c6d07445b8705a18b8b7efae9e4af304

20200527

Thank you!

tkchia avatar May 27 '20 14:05 tkchia

Hi!

tkchia@5ce9e0f

Wow, you have a working screen :)

I see that you added breakpoints on all unimplemented functions, instead I was parsing the linker map output and adding breakpoints from the symbol addresses.

dmsc avatar May 27 '20 16:05 dmsc

tkchia, I just went to your repository this morning and cloned and compiled with jwasm/jwlink (very convenient!) and encountered the following issues with your (largely working!) gwbasic.exe:

1) cannot scroll from the bottom of the screen
2) pressing F9 KEY for example offers no " " after it
3) TIMER ON and TIMER OFF aren't there
4) SHELL isn't there
5) pressing the INS button doesn't enter insert mode
6) pressing the DEL or BS buttons deletes from the end of the line, not from here
7) listing my program, I may get spaces after each line, or incomplete length
 - with this, it may be related to not scrolling properly

all in all I'm glad to see gwbasic working so well! here is the code I tested with:

1 X$ = ""
2 GOTO 10
5 STOP
6 CLS
7 PRINT TIME$"] "X$;
8 RETURN
10 CLS
30 ON TIMER( 3 ) GOSUB 6
33 TIMER ON
36 CLS
40 PRINT TIME$"] "X$;
41 Y$ = INKEY$
42 IF LEN( Y$ ) = 0 THEN GOTO 41
48 X$ = X$ + Y$
50 IF Y$=CHR$(27) THEN GOTO 5
52 IF Y$=CHR$(8) THEN GOSUB 92
53 IF Y$CHR$(13) THEN GOTO 36
60 PRINT "  [working]"
62 TIMER OFF
70 SHELL X$
72 X$ = ""
75 LOCATE 24, 1
78 PRINT "taco. . .";
80 Y$ = INPUT$( 1 )
90 GOTO 10
92 WELL = LEN( X$ )
93 IF WELL 

mdasoh avatar Jun 04 '20 14:06 mdasoh

Hello @mdasoh,

Thanks for your feedback. Since it is (mostly) regarding my repository, I thought it will be best to move the discussion there: https://github.com/tkchia/GW-BASIC-export/issues/5 .

Thank you!

(Edit: I have moved my fork to GitLab: https://gitlab.com/tkchia/GW-BASIC .)

tkchia avatar Jun 05 '20 12:06 tkchia