Jump to content
IGNORED

#FujiNet Programming Challenge. convert existing game to #FujiNet - Oil Wells


Recommended Posts

Looks like it would be a fun project... though I may need to get a second FujiNet for one of my other Atari’s for testing :) We are in the middle of a good snow storm here in New England, so a perfect time for 8 but hacking. 

 

One sort of off topic question, did you speed up the disk accesses (mounting the tnfs servers and showing files, copying the disk, loading the basic program)? It seemed much faster than when I use mine. The WiFi access point is about 5’ from the FujiNet so I’m assuming signal isn’t the issue. Just curious. 

Link to comment
Share on other sites

@tsom if you can't get one, then you can simulate the "other side" with python, just use $9B for a line ending. :)

 

If you have a U1MB or a HSIO patched OS rom, FujiNet can use it to speed up SIO accesses for all of its virtual devices.

 

I am preparing a notes sheet for variables and program structure, will post shortly.

 

-Thom

Link to comment
Share on other sites

Oil Wells Variables:

RX = X Center of oil hot spot
RY = Y center of oil hot spot

(3,14) arrays are four players of 15 weeks of data, so:

X(3,14) - The X position of well for player and week
Y(3,14) - The Y position of well for player and week
D(3,14) - The color of well at this position (0-3)
T(3,14) - Taxes for well for player and week
BL(3,14) - Income for well for player and week
COST(3,14) - Cost of each well for player and week
PL(3,14) - Profit and loss values

C(3) - Total profit for each player.

These are only used during the final map drawing, to fully render out the diffusion map.
SX(30) - Plot X
SY(30) - Plot Y
SC(30) - Plot Color

LOCO(20) - Used for cursor location during portfolio well selling.

A$ - Player 1 name (7 chars)
B$ - Player 2 name
C$ - Player 3 name
D$ - Player 4 name

Program routines:

100 - Program start. Define variables, open keyboard.
700 - Clear screen, Get players, go
1000 - Game main loop.
2000 - Map of game played after game ends
3000 - calculate oil probability at X,Y relative to hot spot RX,RY
4000 - The oil derrick display.
5030 - Drilling
6000 - we hit oil
9000-9050: Clear oil field, generate new hot spot values in RX,RY
10000 - scoreboard display, uses PEEK(741,742) to modify display list.
11000 - Portfolio display
20000 - Well Depreciation modeling

 

Link to comment
Share on other sites

27 minutes ago, tschak909 said:

@tsom if you can't get one, then you can simulate the "other side" with python, just use $9B for a line ending. :)

 

If you have a U1MB or a HSIO patched OS rom, FujiNet can use it to speed up SIO accesses for all of its virtual devices.

 

I am preparing a notes sheet for variables and program structure, will post shortly.

 

-Thom

Ah ok, cool. That could work. And that makes sense about the speed issues. I'm using on stock 800xl/130xe.

 

(and it's not that I "can't" get one, I just haven't ordered another ;)  (Do I really need one for each system (4 in total), no probably not, but "need" really doesn't enter in to it)

 

Thanks.

ps. Following the directions to get a copy of the .atr brought up a feature that would be cool - the ability to "move" a disk image from one drive slot to another. Now I have to eject both disks, then go back and find the one I mounted in D2 and re-mount it in D1. Would be nice to be able to just say "move the disk in D2 to D1". Just a nice to have.

Edited by tsom
  • Like 1
Link to comment
Share on other sites

22 hours ago, tsom said:

ps. Following the directions to get a copy of the .atr brought up a feature that would be cool - the ability to "move" a disk image from one drive slot to another. Now I have to eject both disks, then go back and find the one I mounted in D2 and re-mount it in D1. Would be nice to be able to just say "move the disk in D2 to D1". Just a nice to have.

i second this. swap images/disks would be very handy indeed. When swapping mounted slot with not mounted slot you simply move the mounted disk to desired location. This is probably not the right thread for FN improvement ideas, but i'll add two more anyway :)

 

1) can we please get basic on/off switch with a push of a key in FN menu? - It's few lines of code. Since Basic is enabled by default on stock XL, and most of the programs do not require it, one need to hold Option key pressed for quite a long time if there are few atr images mounted. Sometimes it takes 30-60 seconds in my case.

 

http://www.wudsn.com/index.php/productions-atari800/tutorials/tips

 

 

2) would it be possible to increase number of hosts? With the growing number of publicly available hosts, the list gets full quite fast and one needs to remove some hosts in order to try new ones out.

 

to all Fujinet developers: you are doing amazing work. keep it up! :)

 

Marco

 

Edited by mchorvat
Link to comment
Share on other sites

7 hours ago, mchorvat said:

i second this. swap images/disks would be very handy indeed. When swapping mounted slot with not mounted slot you simply move the mounted disk to desired location. This is probably not the right thread for FN improvement ideas, but i'll add two more anyway :)

 

1) can we please get basic on/off switch with a push of a key in FN menu? - It's few lines of code. Since Basic is enabled by default on stock XL, and most of the programs do not require it, one need to hold Option key pressed for quite a long time if there are few atr images mounted. Sometimes it takes 30-60 seconds in my case.

 

http://www.wudsn.com/index.php/productions-atari800/tutorials/tips

 

 

2) would it be possible to increase number of hosts? With the growing number of publicly available hosts, the list gets full quite fast and one needs to remove some hosts in order to try new ones out.

 

to all Fujinet developers: you are doing amazing work. keep it up! :)

 

Marco

 

Since we're hijacking a topic, Can some people check out the config repository and start adding features? :)

https://github.com/FujiNetWIFI/fujinet-config

 

-THom

Link to comment
Share on other sites

17 minutes ago, tsom said:

Am I mis-remembering, didn’t you put out a video on how to build and test the Config app? Would like to give it a try...

there's not much to it, you just need:

* GNU Make
* A copy of CC65 (http://github.com/cc65/cc65)
* some sort of POSIX environment, e.g. Linux, Mac OS X, or Windows Services for Linux.

 

To build

* clone it

* make && make dist

 

You'll get an autorun.atr that you can load and test.

 

If you want to flash it onto your device, you'll need to follow the board bring-up instructions in the Wiki:

https://github.com/FujiNetWIFI/fujinet-platformio/wiki/Board-bring-up-for-FujiNet-Platform.IO-code

 

copy autorun.atr to the data/ folder, overwriting the autorun.atr, and use the build and upload filesystem task in platform.io to upload it to your fujinet.

 

-Thom

 

  • Like 1
Link to comment
Share on other sites

9 hours ago, tschak909 said:

there's not much to it, you just need:

* GNU Make
* A copy of CC65 (http://github.com/cc65/cc65)
* some sort of POSIX environment, e.g. Linux, Mac OS X, or Windows Services for Linux.

 

To build

* clone it

* make && make dist

 

You'll get an autorun.atr that you can load and test.

 

If you want to flash it onto your device, you'll need to follow the board bring-up instructions in the Wiki:

https://github.com/FujiNetWIFI/fujinet-platformio/wiki/Board-bring-up-for-FujiNet-Platform.IO-code

 

copy autorun.atr to the data/ folder, overwriting the autorun.atr, and use the build and upload filesystem task in platform.io to upload it to your fujinet.

 

-Thom

 

Trying to get this set up. Some notes.

I'm using cc65 installed via Homebrew.

The make functions are dependent on having https://github.com/FujiNetWIFI/fujinet-config-tools downloaded.

Also needs a command line dir2atr program installed.

 

However I'm having issues getting the configuration (c_cpp_properties.json) configured to use MacOS and Homebrew. The build commands and paths assume Windows install of cc65. Still working on it, will report in when/if I get it working.

 

For what it's worth, here's the edits to the config files to get it to build using Homebrew installed cc65:

 

c_cpp_properties.json:

{
    "env": {
        "cc65_home": "/usr/local/Cellar/cc65/2.19"

    },
    "configurations": [
        {
            "name": "Atari 8-bit",
            "includePath": [
                "${cc65_home}/share/cc65/**",
                "${workspaceFolder}/**"
            ],
            "defines": [
            ],
            "compilerPath": "${cc65_home}/bin/cc65",
            "cStandard":"c89",
            "cppStandard":"gnu++98",
            "intelliSenseMode":"gcc-x86"
        }
    ],
    "version": 4
}

 

tasks.json:

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "GNU Make CC65",
            "type": "shell",
            "command": "/usr/bin/make",
            "args": [
                "all"
            ],
            "options": {
                "cwd": "${workspaceFolder}",
                "env": {
                    "CC65_HOME": "/usr/local/Cellar/cc65/2.19"
                }
            },
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": []
        }
    ]
}

 

Edited by tsom
  • Thanks 1
Link to comment
Share on other sites

  • 1 year later...
3 hours ago, tschak909 said:

the complete lack of engagement, despite the several thousand of FujiNet devices out there being used by people, IS SOUL CRUSHING.

 

What the fuck is wrong with all of you?

 

-Thom

 

Lack of time, not wanting a demanding spazz swearing and screaming everytime shit doesn't go his way (while not being paid or at a job for this) might be a small part of it?  Just spewing random ideas.

 

How do you think the creators of VBXE feel?  10+ years of that device and look how little has been done for it.

  • Like 5
Link to comment
Share on other sites

On 10/5/2022 at 11:38 AM, tschak909 said:

What the fuck is wrong with all of you?

Wow the great Wizard of OZ has spoken. You know it really is truly great what you and your fellow FujiNet team have accomplished -- and I mean that sincerely. However your pompus over the top attitude is really a buzzkill, and I find myself agreeing with Stephen that it might very well have something to do with what you find lacking in others. It also reminds me of several times in the past where out of the blue you would send me a PM asking for help or requesting some item, at which I would take the time to respond as best I could only to never here a damn thing in return.

 

Good luck with getting any help on this one as well :lolblue:

  • Like 4
Link to comment
Share on other sites

2 minutes ago, tschak909 said:

And you chiming in on this, is rich, you deleted the programming/reset circuit from the NUC FujiNet board, for what? to save a buck?

"...It just works" ;)

 

Let me see, pushing a button on power-up to enter programming mode is way too complicated. Point taken.

 

I guess if a person were needing to update the firmware every day or every hour it might warrant adding in the circuit you describe, but then again that should only be the case in the early days of development. Surely things are much more stable now, to the point where important updates are now weeks if not months apart. Yes you are absolutely correct that it likely saved only a dollar or two to leave it out. But if you also took the time to really look at what else I did with the hardware, you'll see that I not only reduced the number of components for that aspect, but also obtained complete isolation from the SIO bus and audio-in when FN is switched off, and did so with only two 14 pin chips. This was the same number of chips as the FN team design used, while my altered design achieved 100% SIO interface isolation. Also a couple of Mosfets got tossed into the pile as well. Like I said, I simplified the design, leaving out multiple components. Is it cheaper to build? Yes. Is it really sacrificing anything of importance? No, at least not that I can think of. Is it a good design? All I can say is that it does seem to work, even with all the parts that got left out. Stuff evolves if given enough time and effort -- that's usually called progress.

 

BTW, next time you might try leaving out the F word and the insinuation that there is something wrong with everyone if you expect to get someone's cooperation and/or appreciation.

 

On a side note; I think mozzwald and I did a great job collaborating on the inclusion of the SD Card Detect into the FN hardware :)

 

Anyway that is all I really have to say, and I see no point in going on. I probably shouldn't have even posted anything.

  • Like 4
Link to comment
Share on other sites

@mytek NUH UH. You're not glossing over that, I won't let you.

 

...you literally caused me to jump out of bed just to type this.

 

You're not getting off that easy.

 

You deleted the programming/reset circuit. FOR A PROJECT THAT IS MOSTLY FIRMWARE DRIVEN, WHERE NEW FEATURES ARE REGULARLY BEING ADDED!!!

 

The consequence of this? A seperate programming cable is now required, IN ADDITION to needing to press the RESET to program, making it more difficult for users, again, for what? to save a buck?

 

--- now onto your other point.

 

Yes, point taken. I guess I just need to keep my own frustrations to myself, because I have spent two and a half years, writing a lion's share of the firmware _AND_ THE EXAMPLE SOFTWARE, in the hope that others would take the examples and run with them. GOSH, SILLY ME FOR WISHING!

 

-Thom

Link to comment
Share on other sites

That reply right there is why you won't get anyone jumping to help you.  Your attitude is simply stunning.  BTW - the FujiNet + cart port on the 576 does not need an additional programming cable.  I plug in USB, and run the update.  Why do I mention that particular hardware?  It's the only reason I have a FujiNet in the 1st place.

Link to comment
Share on other sites

31 minutes ago, Stephen said:

That reply right there is why you won't get anyone jumping to help you.  Your attitude is simply stunning.  BTW - the FujiNet + cart port on the 576 does not need an additional programming cable.  I plug in USB, and run the update.  Why do I mention that particular hardware?  It's the only reason I have a FujiNet in the 1st place.

You, were never going to do anything.

I have yet, to see you DO anything, except talk trash.

 

Ever.

 

I mean

 

EVER.

 

---

 

My recent posts have come after a long slog of frustration, and spending hundreds of hours in the last two years creating content, and offering mentorship for engagement. Labeling me as an arsehole for barking out my frustrations is disingenuous, and only serves to justify that the person replying back was never going to contribute. It's a very convenient cop-out.

 

-Thom

Edited by tschak909
Link to comment
Share on other sites

10 hours ago, tschak909 said:

You're not getting off that easy.

 

You deleted the programming/reset circuit. FOR A PROJECT THAT IS MOSTLY FIRMWARE DRIVEN, WHERE NEW FEATURES ARE REGULARLY BEING ADDED!!!

 

The consequence of this? A seperate programming cable is now required, IN ADDITION to needing to press the RESET to program, making it more difficult for users, again, for what? to save a buck?

Wow an interesting argument from someone that got an entire 576NUC+ system for FREE. And to top that off not even so much as a thank you in response to anyone that had something to do with making that possible (there were at least 3 people that were either directly involved in the design creation or manufacture of that unit you now possess). We are quite literally talking about several hundred $$$ per person being spent by those individuals that went into making that happen. Oh so sorry that it doesn't live up to your lofty expectations.

 

So let's address the points you made...

 

Deleted Programming/Reset circuit  --- I treated this like how it's done on virtually every other piece of Atari upgrade hardware that requires updates to it's core (SIDE, U1MB, Sophia, UNO, ect.). In all those cases if you need to update the core logic that gives it its fundamental operation, you'll need a special cable and programmer to connect to the JTAG header for reprogramming. In some cases, like the U1MB, there has been provided the means to update the upper level BIOS via the Atari itself (thanks Jon :)). Anyway the point is, people rarely ever need to do that since the development of all those products has reached a stable point. But even where a newbie like FujiNet is under consideration, most users maybe do an update every 2-3 months now, so having to press a button prior to this operation is certainly nothing to be complaining about. Keep in mind your use case is not the norm.

 

Separate programming cable required --- yes I will admit this is an oversight on my part, although the cost to the user is pretty minimal, and it is after all a one time buy. Even when using the 'official' FN hardware a cable is required, which is probably taken for granted that the user already has one. But with 3 USB cable variations (5 if you count Apple), it isn't certain that they won't need to still purchase a cable.

 

Attacking my FN hardware design --- this appears to be a childish response to me calling out your rude behavior, where you suggested that everyone else besides yourself had something wrong with them.

 

2 hours ago, tschak909 said:

My recent posts have come after a long slog of frustration, and spending hundreds of hours in the last two years creating content, and offering mentorship for engagement. Labeling me as an arsehole for barking out my frustrations is disingenuous, and only serves to justify that the person replying back was never going to contribute. It's a very convenient cop-out.

You are not the only one in the world who has a busy schedule and problems to deal with. You can try to justify this in any way you wish, but in the end you still come across as very self-centered, as well as ungrateful to those that have helped you along the way.

 

We could keep this going if you like, but what's the point?

  • Like 5
Link to comment
Share on other sites

2 hours ago, tschak909 said:

You, were never going to do anything.

I have yet, to see you DO anything, except talk trash.

 

Ever.

 

I mean

 

EVER.

 

---

 

My recent posts have come after a long slog of frustration, and spending hundreds of hours in the last two years creating content, and offering mentorship for engagement. Labeling me as an arsehole for barking out my frustrations is disingenuous, and only serves to justify that the person replying back was never going to contribute. It's a very convenient cop-out.

 

-Thom

You are correct - I was never going to, nor will I do anything Fujinet related because of your involvement with it.  You are a 1st class asshole with a terrible attitude. 

 

I've done plenty to help the A8 community but unlike you I don't beat my chest begging for praise.  I do things silently to help others and I will just leave it at that.  Those who know, know.

 

Something else to consider too.  A lot of us, have something called a full time job.  You know - we have to work to put food on the table and pay bills.  We don't all have the luxury of sitting glued to Atari 24-hours a day with no other responsibilities.

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

19 minutes ago, Stephen said:

You are correct - I was never going to, nor will I do anything Fujinet related because of your involvement with it.  You are a 1st class asshole with a terrible attitude. 

 

I've done plenty to help the A8 community but unlike you I don't beat my chest begging for praise.  I do things silently to help others and I will just leave it at that.  Those who know, know.

 

Something else to consider too.  A lot of us, have something called a full time job.  You know - we have to work to put food on the table and pay bills.  We don't all have the luxury of sitting glued to Atari 24-hours a day with no other responsibilities.

I do devops R&D for Ericsson Global. It unfortunately means I am glued to my desk.

It means, that I have to creatively time-slice if I am to have any free time. But thanks for assuming.

 

My drive for #FujiNet comes from a deep want to do something useful for others, in contrast to some of the heinous shit I am party to in my day job.

 

-Thom

Edited by tschak909
  • Like 1
Link to comment
Share on other sites

I'll end this thread here.

 

I voiced an abject frustration, and I took it out on the community. While this is me being extremely plain about my feelings and thoughts, it is denegritous to the community at large, and for that, I apologize.

 

Some people view me as an arsehole, can't really change that. I call things out, as I see them, with no filter. The only thing I can iterate, is that there is no duplicitous behavior from me, of any kind. You know, EXACTLY where I stand, on every single issue, and it is all I can ever consistently promise, because it is a core aspect of my personality. If that makes you not want to work with me, fine. I tend to gravitate toward people like this, because I am very much unable to read the emotional context of others easily, and I don't want to spend time questioning the motives of others, especially as I am very well aware that I have very finite amounts of time, and want to get what's in my head OUT.

 

-Thom

  • Like 2
Link to comment
Share on other sites

4 hours ago, tschak909 said:

I'll end this thread here.

 

I voiced an abject frustration, and I took it out on the community. While this is me being extremely plain about my feelings and thoughts, it is denegritous to the community at large, and for that, I apologize.

 

Some people view me as an arsehole, can't really change that. I call things out, as I see them, with no filter. The only thing I can iterate, is that there is no duplicitous behavior from me, of any kind. You know, EXACTLY where I stand, on every single issue, and it is all I can ever consistently promise, because it is a core aspect of my personality. If that makes you not want to work with me, fine. I tend to gravitate toward people like this, because I am very much unable to read the emotional context of others easily, and I don't want to spend time questioning the motives of others, especially as I am very well aware that I have very finite amounts of time, and want to get what's in my head OUT.

 

-Thom

The real problem though, is that while you'll call things out "with no filter"... you can't take what you dish out.

 

If anyone criticizes you or doesn't see things like you do or (this list could go on but I'll skip to the end)... or in any way doesn't accept your view of the universe, you lash out with such intensity (and often vulgar profanity) that... yeah.. you can't take the high road here and say "but it's a core aspect of my personality".

 

Arsehole is putting it lightly.

 

And that whole thing about gravitating towards people like that?  This could be the most amusing thing I read all day as if that were even remotely true, half the people you're no longer on speaking terms with anymore would be your best friends since their only crime is speaking their minds (in a manner you disagreed with).

 

Hell, I even used to have respect for you... right up until I criticized the mighty FujiNet (and let's be honest, this isn't about doing something nice for the Atari community... this is about doing something nice for the community as long as they all remember YOU did it ).

 

So if you really want to change... more power to you.  I can even respect that.  It takes a lot.  A lot more than a little speech about how you have trouble reading the emotional context of others easily.  You don't want to spend the time questioning the motives of others?  DON'T.... assume that something is intended in a polite or neutral way (at least until they throw some profanity in there).

 

I would love to see a world where you could turn it around and a lot of people out there who won't work with you might actually reconsider.  That would be great for the community.

Link to comment
Share on other sites

5 hours ago, Stephen said:

You are correct - I was never going to, nor will I do anything Fujinet related because of your involvement with it.  You are a 1st class asshole with a terrible attitude. 

 

I've done plenty to help the A8 community but unlike you I don't beat my chest begging for praise.  I do things silently to help others and I will just leave it at that.  Those who know, know.

 

Something else to consider too.  A lot of us, have something called a full time job.  You know - we have to work to put food on the table and pay bills.  We don't all have the luxury of sitting glued to Atari 24-hours a day with no other responsibilities.

Other than having already looked at his LinkedIn profile years ago and knew about his job.... I agree 100% with this.

 

I bought multiple FujiNets (I have 4 actually, 2 1.0's a 2 1.3's if anyone's interested) with the intent to get back to some serious networking dev projects... but the way it didn't work right with BBSing (which brought a "it's open source, fix it yourself" response, to the constant hardware upgrades (one being made available right after I bought my 1.0's, so I still maintain I should have been told what I was buying was about to be upgraded due to a flaw) and even the "bullying" of one of the Atari SysOps to use the FujiNet to run his BBS.... 

 

But if someone came out with a new firmware that Thom was totally excluded from, that could open up so many doors for so many people.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...