Page 5 of 6

Re: g – a multitasking OS for Ultimem/VICMIDI (WIP)

Posted: Fri Apr 08, 2016 1:16 pm
by Mike
pixel wrote:O.K. But please take a look at this new set: [...]
Indeed. Shortly after I made my last post, I nocited in the Guru-Meditation you updated the 't' anyhow (and it's also now there in the *.asm file).

One suggestion regarding the frame characters: they allow for all 4 combination of single or double width frames with that single/double characteristic independently for the vertical and horizontal lines. It should be possible to have the double lines separated as in the original - no need to insist that they 'concentrate' in the middle third of each char:

Code: Select all

.... .... .*.. *.*.
.... .... .*.. *.*.
.... **** .*.. *.*.
**** .... .*.. *.*.
.... **** .*.. *.*.
.... .... .*.. *.*.
.... .... .*.. *.*.
.... .... .*.. *.*.

....|....|.... ....|....|.... ....|....|.... ....|....|....
....|....|.... ....|....|.... ....|....|.... ....|....|....
....|....|.... .***|****|**.. ....|....|.... ****|****|***.
.***|****|**.. .*..|....|.*.. ****|****|***. *...|....|..*.
.*..|.*..|.*.. .***|****|**.. *.*.|*.*.|*.*. *.**|*.**|*.*.
.*..|.*..|.*.. .*..|.*..|.*.. *.*.|*.*.|*.*. *.*.|*.*.|*.*.
.*..|.*..|.*.. .*..|.*..|.*.. *.*.|*.*.|*.*. *.*.|*.*.|*.*.
.*..|.*..|.*.. .*..|.*..|.*.. *.*.|*.*.|*.*. *.*.|*.*.|*.*.
----+----+---- ----+----+---- ----+----+---- ----+----+----
.*..|.*..|.*.. .*..|.*..|.*.. *.*.|*.*.|*.*. *.*.|*.*.|*.*.
.*..|.*..|.*.. .*..|.*..|.*.. *.*.|*.*.|*.*. *.*.|*.*.|*.*.
.*..|.*..|.*.. .***|****|**.. *.*.|*.*.|*.*. *.**|*.**|*.*.
.***|****|**.. .*..|.*..|.*.. *.**|****|*.*. *...|....|..*.
.*..|.*..|.*.. .***|****|**.. *.*.|*.*.|*.*. *.**|*.**|*.*.
.*..|.*..|.*.. .*..|.*..|.*.. *.*.|*.*.|*.*. *.*.|*.*.|*.*.
.*..|.*..|.*.. .*..|.*..|.*.. *.*.|*.*.|*.*. *.*.|*.*.|*.*.
.*..|.*..|.*.. .*..|.*..|.*.. *.*.|*.*.|*.*. *.*.|*.*.|*.*.
----+----+---- ----+----+---- ----+----+---- ----+----+----
.*..|.*..|.*.. .*..|.*..|.*.. *.*.|*.*.|*.*. *.*.|*.*.|*.*.
.*..|.*..|.*.. .*..|.*..|.*.. *.*.|*.*.|*.*. *.*.|*.*.|*.*.
.*..|.*..|.*.. .***|****|**.. *.*.|*.*.|*.*. *.**|*.**|*.*.
.***|****|**.. .*..|....|.*.. ****|****|***. *...|....|..*.
....|....|.... .***|****|**.. ....|....|.... ****|****|***.
....|....|.... ....|....|.... ....|....|.... ....|....|....
....|....|.... ....|....|.... ....|....|.... ....|....|....
....|....|.... ....|....|.... ....|....|.... ....|....|....
What do you think?

(IMO, it's once again a matter of aesthetics, whether the single line shall cross the double line in the middle characters, like I also did, or be overlaid by the double line. For some reason I just found examples on the 'net, where the outer frame chars end the single line at the 'inner' side, whereas the middle chars let the single lines cross. ...)

Re: g – a multitasking OS for Ultimem/VICMIDI (WIP)

Posted: Fri Apr 08, 2016 8:31 pm
by brain
So, how do I load and run this on a real unit?

Jim

Re: g – a multitasking OS for Ultimem/VICMIDI (WIP)

Posted: Sun Apr 10, 2016 4:48 am
by Mike
g now urgently needs a boot loader I guess.

Re: g – a multitasking OS for Ultimem/VICMIDI (WIP)

Posted: Sun Apr 10, 2016 9:49 am
by brain
Well when it is the right time, I would like to test on a real unit. Vice is a nice Dev tool but we have seen difference during patching it to support the unit

Re: g – a multitasking OS for Ultimem/VICMIDI (WIP)

Posted: Sun Apr 10, 2016 2:36 pm
by pixel
Mike wrote: What do you think?
Pretty neat idea! Will do.

Re: g – a multitasking OS for Ultimem/VICMIDI (WIP)

Posted: Sun Apr 10, 2016 2:43 pm
by pixel
Mike wrote:g now urgently needs a boot loader I guess.
At the moment I'm just generating an 8MB image for quick hacks in VICE.I suggest I'll come up with a regular app to boot it from disk instead of flash as soon as the file systen and CBM driver is up. Unless you want to hack some low–level stuff g ain't much fun yet.

If you want to pick a programmer to hire, let them do a keyboard scanner… :lol:

Re: g – a multitasking OS for Ultimem/VICMIDI (WIP)

Posted: Mon Apr 11, 2016 10:51 am
by pixel
brain wrote:So, how do I load and run this on a real unit?
I've switched to a BASIC loader, so no image is required anymore. http://hugbox.org/pixel/external/denial/g.zip.
Just start "g"; it will boot the kernal "core" and that in turn will start "sh".

Re: g – a multitasking OS for Ultimem/VICMIDI (WIP)

Posted: Mon Apr 11, 2016 9:08 pm
by pixel
Image
Writing a keyboard scanner really wasn't for me. Lots of time "wasted". So, after only just a couple of hours, I threw it away and didn't expect this to work:

Code: Select all

wait_key:
    lda $c6         ; Key in buffer?
    beq wait_key
    lda #0          ; Reset buffer.
    sta $c6
    ldx $c5         ; Get scan code.
    cpx #$40        ; No key pressed?
    beq wait_key
    lda $28d        ; Get CTRL/SHIFT/C= status.
    and #1          ; Shift?
    beq +n
    lda devkbd_map_shifted,x
    rts
n:  lda devkbd_map_normal,x
    rts
Oh, no! Evil day star and screaming dinosaurs! …

Re: g – a multitasking OS for Ultimem/VICMIDI (WIP)

Posted: Mon Apr 11, 2016 11:02 pm
by brain
Hmmm, both VIC-MIDI and ULTIMEM show:

booting g...
checking memory...ultimem 1024k ram (or 128k RAM)
<top right circle><pi><top left corner>
<bottom left circle><top left corner><top left corner triangle><underscore>

and nothing.

Jim

Re: g – a multitasking OS for Ultimem/VICMIDI (WIP)

Posted: Tue Apr 12, 2016 8:34 am
by pixel
brain wrote:and nothing.
Owdge. The screen should go black and a simple green dollar shell prompt should show up.

Did you have the files CORE and SH in the same directory as G?

Re: g – a multitasking OS for Ultimem/VICMIDI (WIP)

Posted: Tue Apr 12, 2016 10:19 am
by brain
pixel wrote:
brain wrote:and nothing.
Owdge. The screen should go black and a simple green dollar shell prompt should show up.

Did you have the files CORE and SH in the same directory as G?
Yes, I created a g dir on uIEC/SD and put all the files from the ZIP into the dir.

My device is #10, does that cause an issue?

Jim

Re: g – a multitasking OS for Ultimem/VICMIDI (WIP)

Posted: Tue Apr 12, 2016 11:29 am
by pixel
brain wrote:My device is #10, does that cause an issue?
Oh, yes, that should be it. Am just getting used to the KERNAL and set it to 8 by default – thanks for the hint.

Re: g – a multitasking OS for Ultimem/VICMIDI (WIP)

Posted: Thu Apr 14, 2016 11:29 pm
by pixel
For those who just want to see what happens, here is a video:

Now the KERNAL's device number at $BA is used. I hope that helps.

If you want to play around with your own charset just replace file CHARSET. It starts with two bytes containing its size, tho.

The VicMIDI expansion is pretty much out of the game with 56K left when running the "shell" (which only understand "echo" and "exit" at this time). Each process occupies at least 16K, applications compiled with cc65 always use up 32K – well, that could be fixed by tweaking vic20g.cfg, of course.

I guess it's a good idea to port g to as65, so that'll happen as well if something reasonable came out of this project.

Thought I'd have absolutely no time to work on this really but my new job is to hack on Windoze. :lol:

Re: g – a multitasking OS for Ultimem/VICMIDI (WIP)

Posted: Mon Apr 18, 2016 11:26 pm
by pixel
Image
New shell command 'ls' and the rise of a CBM file system driver. 6.2K kernel. :)

Re: g – a multitasking OS for Ultimem/VICMIDI (WIP)

Posted: Mon Apr 18, 2016 11:46 pm
by brain
Well, it loads now, but the 40 col text mode shows black text on a black background , with a green cursor.

?

Jim