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

Basic and Machine Language

Moderator: Moderators

User avatar
Mike
Herr VC
Posts: 4816
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

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

Post 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. ...)
brain
Vic 20 Nerd
Posts: 531
Joined: Sun Jul 04, 2004 10:12 pm

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

Post by brain »

So, how do I load and run this on a real unit?

Jim
User avatar
Mike
Herr VC
Posts: 4816
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

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

Post by Mike »

g now urgently needs a boot loader I guess.
brain
Vic 20 Nerd
Posts: 531
Joined: Sun Jul 04, 2004 10:12 pm

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

Post 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
User avatar
pixel
Vic 20 Scientist
Posts: 1330
Joined: Fri Feb 28, 2014 3:56 am
Website: http://hugbox.org/
Location: Berlin, Germany
Occupation: Pan–galactic shaman

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

Post by pixel »

Mike wrote: What do you think?
Pretty neat idea! Will do.
A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
User avatar
pixel
Vic 20 Scientist
Posts: 1330
Joined: Fri Feb 28, 2014 3:56 am
Website: http://hugbox.org/
Location: Berlin, Germany
Occupation: Pan–galactic shaman

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

Post 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:
A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
User avatar
pixel
Vic 20 Scientist
Posts: 1330
Joined: Fri Feb 28, 2014 3:56 am
Website: http://hugbox.org/
Location: Berlin, Germany
Occupation: Pan–galactic shaman

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

Post 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".
A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
User avatar
pixel
Vic 20 Scientist
Posts: 1330
Joined: Fri Feb 28, 2014 3:56 am
Website: http://hugbox.org/
Location: Berlin, Germany
Occupation: Pan–galactic shaman

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

Post 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! …
A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
brain
Vic 20 Nerd
Posts: 531
Joined: Sun Jul 04, 2004 10:12 pm

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

Post 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
User avatar
pixel
Vic 20 Scientist
Posts: 1330
Joined: Fri Feb 28, 2014 3:56 am
Website: http://hugbox.org/
Location: Berlin, Germany
Occupation: Pan–galactic shaman

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

Post 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?
A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
brain
Vic 20 Nerd
Posts: 531
Joined: Sun Jul 04, 2004 10:12 pm

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

Post 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
User avatar
pixel
Vic 20 Scientist
Posts: 1330
Joined: Fri Feb 28, 2014 3:56 am
Website: http://hugbox.org/
Location: Berlin, Germany
Occupation: Pan–galactic shaman

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

Post 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.
A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
User avatar
pixel
Vic 20 Scientist
Posts: 1330
Joined: Fri Feb 28, 2014 3:56 am
Website: http://hugbox.org/
Location: Berlin, Germany
Occupation: Pan–galactic shaman

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

Post 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:
A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
User avatar
pixel
Vic 20 Scientist
Posts: 1330
Joined: Fri Feb 28, 2014 3:56 am
Website: http://hugbox.org/
Location: Berlin, Germany
Occupation: Pan–galactic shaman

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

Post by pixel »

Image
New shell command 'ls' and the rise of a CBM file system driver. 6.2K kernel. :)
A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
brain
Vic 20 Nerd
Posts: 531
Joined: Sun Jul 04, 2004 10:12 pm

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

Post by brain »

Well, it loads now, but the 40 col text mode shows black text on a black background , with a green cursor.

?

Jim
Post Reply